Encoding First Order Proofs in SMT

  • Authors:
  • Jeremy Bongio;Cyrus Katrak;Hai Lin;Christopher Lynch;Ralph Eric McGregor

  • Affiliations:
  • Mathematics and Computer Science Department, Clarkson University, Potsdam, New York, United States;Mathematics and Computer Science Department, Clarkson University, Potsdam, New York, United States;Mathematics and Computer Science Department, Clarkson University, Potsdam, New York, United States;Mathematics and Computer Science Department, Clarkson University, Potsdam, New York, United States;Mathematics and Computer Science Department, Clarkson University, Potsdam, New York, United States

  • Venue:
  • Electronic Notes in Theoretical Computer Science (ENTCS)
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a method for encoding first order proofs in SMT. Our implementation, called ChewTPTP-SMT, transforms a set of first order clauses into a propositional encoding (modulo theories) of the existence of a rigid first order connection tableau and the satisfiability of unification constraints, which is then fed to Yices. For the unification constraints, terms are represented as recursive datatypes, and unification constraints are equations on terms. The finiteness of the tableau is encoded by linear real arithmetic inequalities. We compare our implementation with our previous implementation ChewTPTP-SAT, encoding rigid connection tableau in SAT, and show that for Horn clauses many fewer propositional clauses are generated by ChewTPTP-SMT, and ChewTPTP-SMT is much faster than ChewTPTP-SAT. This is not the case for our non-Horn clause encoding. We explain this, and we conjecture a rule of thumb on when to use theories in encoding a problem.