Decision Procedures for Equality Logic 3 1 Decision

  • Slides: 14
Download presentation
Decision Procedures for Equality Logic 3 1

Decision Procedures for Equality Logic 3 1

Decision Procedures for Equality Logic We will first investigate methods that solve Equality Logic.

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 2

From Equality to Propositional Logic Bryant & Velev 2000: the Sparse method E =

From Equality to Propositional Logic Bryant & Velev 2000: the Sparse method E = x 1 = x 2 ^ x 2 = x 3 ^ x 1 x 3 enc = e 1 ^ e 2 ^ : e 3 Encode all edges with Boolean variables (note: for now, ignore polarity) This is an abstraction Transitivity of equality is lost! Must add transitivity constraints! 3

From Equality to Propositional Logic E = x 1 = x 2 ^ x

From Equality to Propositional Logic E = x 1 = x 2 ^ x 2 = x 3 ^ x 1 x 3 enc = e 1 ^ e 2 ^ : e 3 For each cycle add a transitivity constraint trans = (e 1 ^ e 2 ! e 3) ^ (e 1 ^ e 3 ! e 2) ^ (e 3 ^ e 2 ! e 1) Check: enc ^ trans 4

From Equality to Propositional Logic There can be an exponential number of cycles, so

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 e 2 e 3 e 4 e 1 e 6 e 5 Only two simple cycles here. 5

From Equality to Propositional Logic Still, there is an exponential number of simple cycles.

From Equality to Propositional Logic Still, there is an exponential number of simple cycles. Def: A chord of a cycle is an edge connecting two non-adjacent nodes of the cycle. Thm [Bryant & Velev]: It is sufficient to constrain chord-free simple cycles only. x y The edge xv is a chord of the cycle xyvz. z v 6

From Equality to Propositional Logic Still, there can be an exponential number of chordfree

From Equality to Propositional Logic Still, there can be an exponential number of chordfree simple cycles… …. Solution: make the graph ‘chordal’ by adding edges. 7

From Equality to Propositional Logic Def. A graph is chordal iff every cycle of

From Equality to Propositional Logic Def. A graph is chordal iff every cycle of size 4 or more has a chord. Def. A vertex v of an arbitrary graph G is called simplicial if all vertices adjacent to v are pairwise adjacent. How to recognize chordal graphs? Repeatedly find a simplicial vertex and eliminate it from the graph until no vertices remain (and the graph is chordal) or no simplicial vertices remain (and the graph is non-chordal). 8

9

9

From Equality to Propositional Logic How to make a graph chordal ? Make non-simplicial

From Equality to Propositional Logic How to make a graph chordal ? Make non-simplicial vertices simplicial by adding edges. 10

From Equality to Propositional Logic Once the graph is chordal, we can constrain only

From Equality to Propositional Logic Once the graph is chordal, we can constrain only the triangles. T T Contradiction! T T F T T Note that this procedure adds not more than a polynomial # of edges, and results in a polynomial no. of constraints. 11

Improvement So far we did not consider the polarity of the edges. Claim: in

Improvement So far we did not consider the polarity of the edges. Claim: in the following graph trans = e 3 ^ e 2 ! e 1 is sufficient This is only true because of monotonicity of NNF 12

Definitions Def. A contradictory cycle C is constrained under T if T does not

Definitions Def. A contradictory cycle C is constrained under T if T does not allow this assignment 13

Theorem red trans If and for every assignment , ² trans ! ² transred

Theorem red trans If and for every assignment , ² trans ! ² transred then E is satisfiable iff enc ^ trans red is satisfiable The equality formula constrains all simple contradictory cycles From the Sparse method 14