80 likes | 168 Views
Selected Decision Procedures and Techniques for SMT. More on combination theories sharing sets convex theory Un-interpreted function symbols (quantifier-free first-order logic) Ground terms (unification and dis-unification) Integers and bitvectors Quantifier instantiation. SMT.
E N D
Selected Decision Procedures and Techniques for SMT • More on combination • theories sharing sets • convex theory • Un-interpreted function symbols (quantifier-free first-order logic) • Ground terms (unification and dis-unification) • Integers and bitvectors • Quantifier instantiation
SMT decidable quantifier-free combinationusing /\ , \/ , quantifier-free quantifier-free first-order logic x = y /\f(x) ≠ f(y) linear arithmetic x < y+1 y < x+1 Satisfiability modulo theories (SMT) solver SATsolver decidable decidable linear programing solver congruence closureimplementation
State of the art SMT solverscombine formulas with disjoint signatures (Nelson-Oppen approach) x < y+1 /\y < x+1 /\x’=f(x)/\y’=f(y)/\x’=y’+1 SMT linear programing solver congruence closureimplementation x=y x < y+1y < x+1 x’=y’+1 x’=f(x) y’=f(y) x’=y’ 0=1 exchange equalities on demand
Essence of such existing approachis reduction to equalities x < y+1 /\y < x+1 /\x’=f(x)/\y’=f(y)/\x’=y’+1 SMT reduction for linear arithmetic reduction for congruence x < y+1y < x+1 x’=y’+1 x’=f(x) y’=f(y) (<),(+) f unsatifiable propositional combination of equalities x=y x=y x’=y’ exchange equalities eagerly x’ ≠ y’
Generalize this reduction to sets of elements prover fordata structures reduction for a logic quantified sets reduction for logic of set images D={h(x). x A} ! (c B) x. x A x B D = A U {c} f quantifier elimination A µ B |D| |A| {c}B= D = A U {c} unsatisfiablequantifier-free formula about sets
Why the example is unsatisfiable B A {c} D |D| = |A| + 1 A µ B |D| |A| {c}B= D = A U {c} unsatisfiablequantifier-free formula about sets
Soundness and Completeness by Definition (3) symbols to extend are disjoint across components prover fordata structures reduction for … reduction for logic of set images • Ris a consequence (in language of sets) • models of Rextend to models of original formula D={h(x). x A} ! (c B) h |D| |A| … {c}B= R
Essence of the reduction is simple y. z. h. ( P(h,y)/\ Q(y,z) ) is equivalent to y. ( (h.P(h,y)) /\ (z.Q(y,z)) ) y.( RP(y)/\ RQ(y) ) Reduction eliminates local symbols, h from P,gives formula RP(y) equivalent to h.P(h,y) Quantifiers may be bounded and higher-order Applies to Nelson-Oppen and more generally