Quantifier Instantiation
Quantifier instantiation:
- given a conjunct and a term occurring in other conjuncts, generate and continue
- in general this is incomplete
- it cannot be complete because quantified combination of linear arithmetic with uninterpreted functions symbols is highly undecidable
Triggers: instantiate e.g. only if you find
- acts as a guard to limit instantiations
- introduced in Simplify: a theorem prover for program checking
- user-defined trigger terms: specify terms whose instances, if present in the ground part of the formula, will lead to instantiation
- for more information see PhD Thesis of Michal Moskal
Traditionally resolution-based provers have more sophisticated quantifier handling (but have no decision procedures). This is changing and both approaches integrate techniques from others.
- Efficient E-matching for SMT solvers by Leonardo de Moura and Nikolaj Bjørner
Some approaches combine DPLL(T) solvers and resolution-based solvers
- SPASS+T by Virgile Prevosto and Uwe Waldmann