A Generic Framework for Implicate Generation Modulo Theories

Mnacho Echenim,Nicolas Peltier,Yanis Sellami
DOI: https://doi.org/10.48550/arXiv.1807.04557
2018-07-12
Abstract:The clausal logical consequences of a formula are called its implicates. The generation of these implicates has several applications, such as the identification of missing hypotheses in a logical specification. We present a procedure that generates the implicates of a quantifier-free formula modulo a theory. No assumption is made on the considered theory, other than the existence of a decision procedure. The algorithm has been implemented (using the solvers MiniSat, CVC4 and Z3) and experimental results show evidence of the practical relevance of the proposed approach.
Logic in Computer Science
What problem does this paper attempt to address?
The core problem that this paper attempts to solve is to generate the logical consequences (implicates) of a given formula under a specific theory. These consequences can be used to identify the missing assumptions in logical specifications. Specifically, the author proposes a general framework that can generate the implicates of a quantifier - free formula only relying on the decision procedure of the theory without considering the specific theory. ### Problem Background In formal verification and theorem proving, implicates are very important concepts. They can help identify the lemmas or additional conditions omitted in theorem proving, thereby correcting the errors in the specifications and quickly finding out the reasons why a certain statement is unprovable. For example, in program verification, implicates can be used to determine whether the pre - conditions of a program are strong enough to ensure that the post - conditions hold. ### Main Contributions of the Paper 1. **General Algorithm**: The author proposes a general algorithm based on SMT solvers for generating the implicates of a quantifier - free formula under a specific theory. This algorithm does not depend on the specific theory, and only requires the existence of a decision procedure. 2. **High Efficiency**: Verified by experiments, this method is more efficient than the previous method based on super - set calculus. In particular, it utilizes the existing efficient SMT solvers (such as MiniSAT, CVC4 and Z3) as black - box tools, avoiding the need to develop a specific system for implicate generation. 3. **Flexibility**: This algorithm allows users to specify candidate abducible literals and can generate implicates that satisfy certain specific conditions without post - processing. ### Method Overview - **Basic Algorithm**: Generate implicates by enumerating the subsets of the candidate set and checking whether the combination of these subsets and the original formula is unsatisfiable under a specific theory. - **Improved Algorithm**: In order to avoid redundant calls and improve efficiency, the author introduces several optimization strategies, such as limiting the set of candidate assumptions and using model information to guide the selection of assumptions. - **Data Structure**: In order to efficiently store and manage a large number of implicates, the author designs a data structure similar to a trie and provides algorithms for forward and backward sub - sumption detection. ### Application Scenarios This method can be applied to various logical reasoning and verification tasks, especially in the fields of program verification and theorem proving, to help identify and repair potential problems in the specifications. In conclusion, this paper provides a new, general and efficient method for implicate generation, which is applicable to multiple logical theories and has broad application prospects.