“…A simple way to limit the size of the candidate solutions is to consider smaller programs before larger ones. Adapting techniques for finding finite models of minimal size [25], we use a strategy that starting, from n = 0, searches for programs of size n + 1 only after its has exhausted the search for programs of size n. In solvers based on the DPLL(T ) architecture, like CVC4, this can be accomplished by introducing a splitting lemma of the form (size(e) ≤ 0 ∨ ¬size(e) ≤ 0) and asserting size(e) ≤ 0 as the first decision literal, where size is a function symbol of type σ → Int for every datatype sort σ and stands for the function that maps each datatype value to its term size (i.e., the number of non-nullary constructor applications in the term). We do the same for size(e) ≤ 1 if and when ¬size(e) ≤ 0 becomes asserted.…”
Satisfiability Modulo Theories (SMT) solvers have emerged as prominent tools in formal methods applications. While originally targeted towards quantifier-free inputs, SMT solvers are now often used for handling quantified formulas in automated theorem proving and software verification applications. The most common technique for handling quantified formulas in modern SMT solvers in quantifier instantiation. This paper gives an overview of recent advances in quantifier instantiation in SMT. In addition to the well-known technique known as E-matching, we discuss the use of conflicts and models for accelerating the search for (un)satisfiably. We further mention new instantiation-based techniques that are specialized to background theories such as linear real and integer arithmetic, and future work in this direction.
“…A simple way to limit the size of the candidate solutions is to consider smaller programs before larger ones. Adapting techniques for finding finite models of minimal size [25], we use a strategy that starting, from n = 0, searches for programs of size n + 1 only after its has exhausted the search for programs of size n. In solvers based on the DPLL(T ) architecture, like CVC4, this can be accomplished by introducing a splitting lemma of the form (size(e) ≤ 0 ∨ ¬size(e) ≤ 0) and asserting size(e) ≤ 0 as the first decision literal, where size is a function symbol of type σ → Int for every datatype sort σ and stands for the function that maps each datatype value to its term size (i.e., the number of non-nullary constructor applications in the term). We do the same for size(e) ≤ 1 if and when ¬size(e) ≤ 0 becomes asserted.…”
Satisfiability Modulo Theories (SMT) solvers have emerged as prominent tools in formal methods applications. While originally targeted towards quantifier-free inputs, SMT solvers are now often used for handling quantified formulas in automated theorem proving and software verification applications. The most common technique for handling quantified formulas in modern SMT solvers in quantifier instantiation. This paper gives an overview of recent advances in quantifier instantiation in SMT. In addition to the well-known technique known as E-matching, we discuss the use of conflicts and models for accelerating the search for (un)satisfiably. We further mention new instantiation-based techniques that are specialized to background theories such as linear real and integer arithmetic, and future work in this direction.
“…Section 9 describes an experimental evaluation of our implementation of these techniques in the SMT solver cvc4 on several sets of benchmarks. This paper builds on material from previous conference papers [29,30], as well as the PhD dissertation by the first author [32].…”
SMT solvers have been used successfully as reasoning engines for automated verification and other applications based on automated reasoning. Current techniques for dealing with quantified formulas in SMT are generally incomplete, forcing SMT solvers to report "unknown" when they fail to prove the unsatisfiability of a formula with quantifiers. This inability to return counter-models limits their usefulness in applications that produce queries involving quantified formulas. In this paper, we reduce these limitations by integrating finite model finding techniques based on constraint solving into the architecture used by modern SMT solvers. This approach is made possible by a novel solver for cardinality constraints, as well as techniques for on-demand instantiation of quantified formulas. Experiments show that our approach is competitive with the state of the art in SMT, and orthogonal to approaches in automated theorem proving.
“…Bounded integer quantification is a special extension of the fair strategy. It is refutation sound and model complete [76]. Since the modeling procedure is precise without any approximation, these string functions are also refutation sound and model complete, i.e., if the constraints are satisfiable, the produce can find a model if fairness is applied.…”
Section: Extended Calculus For String Manipulating Functionsmentioning
confidence: 99%
“…Since this thesis does not focus on how to solve quantified formulas, we use a fairly simple rule Q-Inst in Figure 3.18 to mimic the approach for handling quantified formulas. The actual approach is more sophisticated and discussed in [76].…”
Section: Handling the New Components G And Qmentioning
confidence: 99%
“…One idea is to solve negative membership constraints without applying the complementation operation. We adopt the idea of finite model finding in solving quantified formulas [76]. We reduce negative membership constraints to quantified formulas over bounded integers.…”
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.