41
Technion 1 (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

(Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 1

(Yet another) decision procedure for Equality Logic

Ofer Strichman and Orly Meir

Technion

Page 2: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 2

Equality Logic

E: (x1 = x2 Æ (x2 x3 Ç x1 x3))

Domain: x1,x2,x3 2 N

The satisfiability problem: is there an assignment tox1,x2,x3 that satisfies E ?

Q: When is Equality Logic useful ?...

0 0 0 01 1

Page 3: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 3

Equality Logic

E: (x1 = x2 Æ (x2 x3 Ç x1 x3))

A: Mainly when combined with Uninterpreted Functions f(x,y), g(z),…

Mainly used in proving equivalences, but not only.

0 0 0 01 1

Page 4: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 4

Basic notions

E: x = y Æ y = z Æ z x

x

y

z

(non-polar) Equality Graph:

Gives an abstract view of E

Page 5: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 5

From Equality to Propositional LogicBryant & Velev CAV’00 – the Sparse method

E : x1 = x2 Æ x2 = x3 Æ x1 x3

B : e1,2 Æ e2,3 Æ :e1,3

Encode all edges with Boolean variables This is an abstraction

Transitivity of equality is lost!

Must add transitivity constraints!

e 1,3

e1,2

e 2,3

x1

x2

x3

Page 6: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 6

From Equality to Propositional LogicBryant & Velev CAV’00 – the Sparse method

E : x1 = x2 Æ x2 = x3 Æ x1 x3

B : e1,2 Æ e2,3 Æ :e1,3

Transitivity Constraints: For each cycle of size n, forbid a true assignment to n-1 edges

T S = (e1,2 Æ e2,3 ! e1,3) Æ(e1,2 Æ e1,3 ! e2,3) Æ(e1,3 Æ e2,3 ! e1,2)

Check: B Æ T S

e 1,3

e1,2

e 2,3

x1

x2

x3

Page 7: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 7

Thm-1: It is sufficient to constrain simple cycles only

e1

e2 e3

e4

e5e6

T

T T

TT

F

From Equality to Propositional LogicBryant & Velev CAV’00 – the Sparse method

Page 8: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 8

Thm-2: It is sufficient to constrain chord-free simple cycles

e1

e2

e3

e4

e5

T

T

T

F

T

F

From Equality to Propositional LogicBryant & Velev CAV’00 – the Sparse method

Page 9: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 9

Still, there can be an exponential number of chord-free simple cycles…

Solution: make the graph ‘chordal’!

….

From Equality to Propositional LogicBryant & Velev CAV’00 – the Sparse method

Page 10: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 10

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.

From Equality to Propositional LogicBryant & Velev CAV’00 – the Sparse method

Page 11: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 11

In a chordal graph, it is sufficient to constrain only triangles.

Polynomial # of edges and constraints.

# constraints = 3 £ #triangles

T

T

TT

F

TTContradiction!

From Equality to Propositional LogicBryant & Velev CAV’00 – the Sparse method

Page 12: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 12

An improvementReduced Transitivity Constraints (RTC)

So far we did not consider the polarity of the edges.

Assuming E is in Negation Normal Form

E: x = y Æ y = z Æ z x

x

y

z

(polar) Equality Graph:

= =

Page 13: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 13

Monotonicity of NNF

Thm-3: NNF formulas are monotonically satisfied(in CNF this is simply the pure literal rule)

Let be in NNF and satisfiable. Thm-3 implies:

Let ²

Derive ’ from by switching the value of a ‘mis-assigned’pure literal in

Now ’ ²

Page 14: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 14

Claim: in the following graph T R = e3 Æ e2 ! e1 is sufficient

This is only true because of monotonicity of NNF (an extension of the pure literal rule)

An improvementReduced Transitivity Constraints (RTC)

e1

e2

e3

x

z

y

=

=

Allowing e.g. e1=e2 =T, e3= F

Page 15: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 17

Basic notions

Equality Path: a path made of equalities. we write x =*z

Disequality Path: a path made of equalities and exactly one disequality. We write x *y

Contradictory Cycle: two nodes x and y, s.t. x=*yand x * y form a contradictory cycle

x

y

z

Page 16: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 18

Basic notions

Thm-4: Every contradictory cycle is either simple or contains a simple contradictory cycle

Page 17: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 19

Definitions

Dfn: A contradictory Cycle C is constrained under Tif T does not allow this assignment

C =

F

T

T T

T

Page 18: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 21

Main theorem

IfT R constrains all simple contradictory cycles,

and

For every assignment S, S² T S ! S

² T R

then

E is satisfiable iff B Æ T R is satisfiable

The Equality Formula

From the Sparse method

Page 19: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 22

Proof of the main theorem

() E is satisfiable BÆT S is satisfiable BÆT R

is satisfiable

() Proof strategy: Let 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

Skip proof

Page 20: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 23

Definitions for the proof…

A Violating cycle under an assignment R

This assignment violates T S but not necessarily T R

eF

eT2

eT1

T

TF

Either dashed or

solid

Page 21: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 24

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:

T

TF

TTv1 v2

v3

Page 22: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 25

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:

T

TF

TTv1 v2

v3

Page 23: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 26

Proof…

Observation 1:The combinationis impossible if = R

(recall: R ² T R)

Observation 2: if (v1,v3) is solid, then

FT

Tv1 v2

v3

Page 24: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 27

ReConstructing S

Type 1:

It is not the case that

Assign S (e23) = F

Type 2:

Otherwise it is not the case that

Assign (e13) = T

FT

T

In all other cases S = R

FT

T

F T

v1 v2

v3

v1 v2

v3

Page 25: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 28

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 S

B is still satisfied (monotonicity of NNF)

Left to prove: all contradictory cycles are still satisfied

Page 26: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 29

Proof…

Invariant: contradictory cycles are not violating throughout the reconstruction.

contradicts the precondition to make this assignment…

FT

Tv1 v2

v3

F

T

T

Page 27: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 30

Proof…

Invariant: contradictory cycles are not violating throughout the reconstruction.

contradicts the precondition to make this assignment…

FT

Tv1 v2

v3

TT

F

Page 28: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 31

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?

Page 29: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 33

Focus on Bi-connected dashed components built on top of a solid edge Includes all contradictory cycles involving this edge

Page 30: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 34

Make the component chordal Chordal-ity guarantees: every cycle contains a simplicial

vertex, i.e. a vertex that its neighbors are connected.

Page 31: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 35

The RTC algorithm

Constraints cache: e2 Æ e3 ! e1

e4 Æ e7 ! e2

e5 Æ e8 ! e4

1

23

4

5

6

8

9

1211

7

Page 32: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 36

Constrains all contradictory cycles Constraints cache:

e2 Æ e3 ! e1

e4 Æ e7 ! e2

e6Æ e3 ! e4

1

23

4

5

6

8

9

1211

7

Page 33: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 37

x0

x1

x2

x3 x6

x4

x5

The constraint e3,6 Æ e3,5 e5,6 is not added

Constraining simple contradictory cycles

cache:…e5,6 Æ e4,6 e4,5

Open problem: constrain simple contradictory cycles in P time

Page 34: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 38

x0

x1

x2

x3 x6

x4

x5

the constraint e3,6 Æ e3,5 e5,6 is not added, though needed Suppose the graph has 3 more edges

Constraining simple contradictory cycles

cache:…e5,6 Æ e4,6 e4,5

Here we will stop, although …

Open problem: constrain simple contradictory cycles in P time

Page 35: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 39

Results

Page 36: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 40

Example: Circuit Transformations

A pipeline processes data in stages

Data is processed in parallel – as in an assembly line

Formal Model:

Stage 1Stage 1

Stage 3Stage 3

Stage 2Stage 2

Page 37: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 41

Example: Circuit Transformations

The maximum clock frequency depends on the longest path between two latches

Note that the output of g is usedas input to k

We want to speed up the design by postponing k to the third stage

Page 38: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 42

Validating Circuit Transformations

==??

Page 39: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 43

Validating a compilation process

Source program z = (x1 + y1) (x2 + y2);

Target program u1 = x1 + y1;u2 = x2 + y2;z = u1 u2 ;

Need to prove that:(u1 = x1 + y1 u2 = x2 + y2 z = u1 u2) $ z = (x1 + y1) (x2 + y2)

Compilation

Target Source

Page 40: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 44

Validating a compilation process

Need to prove that:(u1 = x1 + y1 u2 = x2 + y2 z = u1 u2) $ z = (x1 + y1) (x2 + y2)

f1 f2g1

g2

f1 f2

Source program z = (x1 + y1) (x2 + y2);

Target program u1 = x1 + y1;u2 = x2 + y2;z = u1 u2 ;

Compilation

Page 41: (Yet another) decision procedure for Equality Logicsvc/talks/pdf/20050228-strichman.pdf · (Yet another) decision procedure for Equality Logic Ofer Strichman and Orly Meir Technion

Technion 45

Need to prove that:(u1 = x1 + y1 u2 = x2 + y2 z = u1 u2) $ z = (x1 + y1) (x2 + y2)

f1 f2g1

g2

f1 f2

Instead, prove:

under functional consistency: for every uninterpreted function fx = y ! f(x) = f(y)

Which translates to (via Ackermann’s reduction):

Validating a compilation process