Decision Procedures in First Order Logic Decision Procedures for Equality Logic Daniel Kroening and Ofer Strichman 1 Part III – Decision Procedures for Equality Logic and Uninterpreted Functions Algorithm I – From Equality to Propositional Logic Adding transitivity constraints Making the graph chordal An improved procedure: consider polarity Algorithm II – Range-Allocation What is the small-model property? Finding a small adequate range (domain) to each variable Reducing to Propositional Logic Decision Procedures An algorithmic point of view 2 Decision Procedures for Equality Logic We will first investigate methods that solve Equality Logic. Uninterpreted functions are eliminated with one of the reduction schemes. Our starting point: the E-Graph GE(E) Recall: GE(E) represents an abstraction of E: It represents ALL equality formulas with the same set of equality predicates as E Decision Procedures An algorithmic point of view 3 From Equality to Propositional Logic Bryant & Velev 2000: the Sparse method enc = e1 Æ e2 Æ :e3 e3 E = x1 = x2 Æ x2 = x3 Æ x1 x3 Encode all edges with Boolean variables (note: for now, ignore polarity) This is an abstraction Transitivity of equality is lost! Must add transitivity constraints! Decision Procedures An algorithmic point of view 4 From Equality to Propositional Logic enc = e1 Æ e2 Æ :e3 e3 E = x1 = x2 Æ x2 = x3 Æ x1 x3 For each cycle add a transitivity constraint trans = (e1 Æ e2 ! e3) Æ (e1 Æ e3 ! e2) Æ (e3 Æ e2 ! e1) Check: enc Æ trans Decision Procedures An algorithmic point of view 5 From Equality to Propositional Logic There can be an exponential number of cycles, so let’s try to make it better. Thm: it is sufficient to constrain simple cycles only T e2 T T e3 e4 F e1 e6 T e5 T Decision Procedures An algorithmic point of view 6 From Equality to Propositional Logic Still, there is an exponential number of simple cycles. Thm [Bryant & Velev]: It is sufficient to constrain chord-free simple cycles T e2 T F e1 e5 F T e3 T e4 Decision Procedures An algorithmic point of view 7 From Equality to Propositional Logic Still, there can be an exponential number of chordfree simple cycles… …. Solution: make the graph ‘chordal’ by adding edges. Decision Procedures An algorithmic point of view 8 From Equality to Propositional Logic Dfn: A graph is chordal iff every cycle of size 4 or more has a chord. How to make a graph chordal ? eliminate vertices one at a time, and connect their neighbors. Decision Procedures An algorithmic point of view 9 From Equality to Propositional Logic Once the graph is chordal, we can constrain only the triangles. T T Contradiction! T T T F T Note that this procedure adds not more than a polynomial # of edges, and results in a polynomial no. of constraints. Decision Procedures An algorithmic point of view 10 Improvement So far we did not consider the polarity of the edges. Claim: in the following graph trans = e3 Æ e2 ! e1 is sufficient e1 e3 e2 This is only true because of monotonicity of NNF Decision Procedures An algorithmic point of view 11 Definitions Dfn: A contradictory Cycle C is constrained under T if T does not allow this assignment T T C= T T F Decision Procedures An algorithmic point of view 12 Main theorem If T R constrains all simple contradictory cycles, and S S S For every assignment , ² T ! ² T R From the Sparse method then E is satisfiable iff B Æ T The Equality Formula S R is satisfiable Decision Procedures An algorithmic point of view 13 Transitivity: 5 constraints RTC: 0 constraints T T T Transitivity: 5 constraints RTC: 1 constraint T F Decision Procedures An algorithmic point of view 14 Proof of the main theorem () E is satisfiable BÆT S is satisfiable BÆT is satisfiable () Proof strategy: R R be a satisfying assignment to B Æ T R We will construct S that satisfies B Æ T S From this we will conclude that E is satisfiable Let Decision Procedures An algorithmic point of view Skip proof 15 Definitions for the proof… A Violating cycle under an assignment R: F eF eT1 T Either dashed or solid T eT2 This assignment violates T S but not necessarily T Decision Procedures An algorithmic point of view R 16 More definitions for the proof… An edge e = (vi,vj) is equal under an assignment iff there is an equality path between vi and vj all assigned T under . Denote: v3 F T T v1 T Decision Procedures An algorithmic point of view T v2 17 More definitions for the proof… An edge e = (vi,vj) is disequal under an assignment iff there is a disequality path between vi and vj in which the solid edge is the only one assigned false by . Denote: v3 F T T v1 T Decision Procedures An algorithmic point of view T v2 18 Proof… Observation 1: The combination is impossible if = R (recall: R ² T R) v3 F T T v1 v2 Observation 2: if (v1,v3) is solid, then Decision Procedures An algorithmic point of view 19 ReConstructing S Type 1: Type 2: It is not the case that Otherwise it is not the case that v3 v3 F F T T F T T v1 T v1 v2 Assign S (e23) = F v2 Assign (e13) = T In all other cases S = R Decision Procedures An algorithmic point of view 20 ReConstructing S Starting from R, repeat until convergence: (eT) := F in all Type 1 cycles (eF) := T in all Type 2 cycles All Type 1 and Type 2 triangles now satisfy T B is still satisfied (monotonicity of NNF) Left to prove: all contradictory cycles are still satisfied Decision Procedures An algorithmic point of view S 21 Proof… Invariant: contradictory cycles are not violating throughout the reconstruction. T v3 F T F T T v1 v2 contradicts the precondition to make this assignment… Decision Procedures An algorithmic point of view 22 Proof… Invariant: contradictory cycles are not violating throughout the reconstruction. v3 F T T T T F v1 v2 contradicts the precondition to make this assignment… Decision Procedures An algorithmic point of view 23 Applying RTC How can we use the theorem without enumerating contradictory cycles ? Answer: Consider the chordal graph. Constrain triangles if they are part of a (simple) contradictory cycle How? Decision Procedures An algorithmic point of view 24 • Should we constrain this triangle? • In which direction ? • Is this constraint necessary ? Decision Procedures An algorithmic point of view 26 Decomposing the graph Focus on Bi-connected dashed components built on top of a solid edge Includes all contradictory cycles involving this edge Decision Procedures An algorithmic point of view 27 Make the component chordal Chordal-ity guarantees: every cycle contains a simplicial vertex, i.e. a vertex that its neighbors are connected. Decision Procedures An algorithmic point of view 28 The RTC algorithm Constraints cache: e2 Æ e3 ! e1 e4 Æ e7 ! e2 e5 Æ e8 ! e4 5 8 6 4 7 3 9 2 1 11 Decision Procedures An algorithmic point of view 12 29 Constrains all contradictory cycles Constraints cache: e2 Æ e3 ! e1 e4 Æ e7 ! e2 e6Æ e3 ! e4 5 8 6 4 7 3 9 2 1 11 Decision Procedures An algorithmic point of view 12 30 Results – random graphs 400000 350000 250000 Sparse 200000 RTC 150000 # constraints 300000 100000 50000 0 10:01 05:01 02:01 01:01 01:02 01:05 01:10 Solid : Dashed V=200, E=800, 16 random topologies Decision Procedures An algorithmic point of view 31 Random graphs (Satisfiable) Decision Procedures An algorithmic point of view 32