Decision Procedures for Equality Logic 3 1 Decision
- Slides: 14
Decision Procedures for Equality Logic 3 1
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 = 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 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 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. 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 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 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
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 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 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 allow this assignment 13
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
- Formal equality vs substantive equality
- Formal equality vs substantive equality
- No decision snap decision responsible decision
- Investment decision financing decision dividend decision
- Third order logic
- Is it x y or y x
- Combinational vs sequential logic
- Combinational logic sequential logic 차이
- First order logic vs propositional logic
- Cryptarithmetic problem logic+logic=prolog
- Logic chapter three
- First order logic vs propositional logic
- Project management plan example
- Decision logic table
- Four model approach