Download PDFOpen PDF in browser

Reasoning with Triggers

10 pagesPublished: August 19, 2013


SMT solvers can decide the satisfiability of ground formulas modulo a combination of
built-in theories. Adding a built-in theory to a given SMT solver is a complex and time consuming task that requires internal knowledge of the solver. However, many theories can be easily expressed using first-order formulas. Unfortunately, since universal quantifiers are not handled in a complete way by SMT solvers, these axiomatics cannot be used as decision procedures.
In this paper, we show how to extend a generic SMT solver to accept a custom theory description and behave as a decision procedure for that theory, provided that the described theory is complete and terminating in a precise sense. The description language consists of first-order axioms with triggers, an instantiation mechanism that is found in many SMT solvers. This mechanism, which usually lacks a clear semantics in existing languages and tools, is rigorously defined here; this definition can be used to prove completeness and termination of the theory. We demonstrate using the theory of arrays, how such proofs can be achieved in our formalism.

Keyphrases: Instantiation, quantifiers, SMT, theories, triggers

In: Pascal Fontaine and Amit Goel (editors). SMT 2012. 10th International Workshop on Satisfiability Modulo Theories, vol 20, pages 22--31

BibTeX entry
  author    = {Claire Dross and Sylvain Conchon and Johannes Kanig and Andrei Paskevich},
  title     = {Reasoning with Triggers},
  booktitle = {SMT 2012. 10th International Workshop on Satisfiability Modulo Theories},
  editor    = {Pascal Fontaine and Amit Goel},
  series    = {EPiC Series in Computing},
  volume    = {20},
  pages     = {22--31},
  year      = {2013},
  publisher = {EasyChair},
  bibsource = {EasyChair,},
  issn      = {2398-7340},
  url       = {},
  doi       = {10.29007/3c1n}}
Download PDFOpen PDF in browser