initial
[prop.git] / app / willard / test3
blob9c4a619b9f5d58fc9d48e4e33fdef8a52a5c9056
1 Input:
2 {[x,y]: x in A, y in B |  (exists z in C.((x = z) and(y = z)))}
3 {[x,y]: x in A, y in B |  (exists z in C.((x = z) and(y = z)))}
5 [Renaming phase]
7 {[x,y]: x in A, y in B |  (exists z in C.((x = z) and(y = z)))}
9 [DNF construction and simplification phase]
11 {[x,y]: x in A, y in B |  (exists z in C.((x = z) and(y = z)))}
13 [Constructing the query graph]
15 [Query Graph]
16    edge y -> z
17 {[x,y]: x in A, y in B |  (exists z in C.((x = z) and(y = z)))}
19 [Quantifier elimination phase]
21 {[x,y]:[x,y] in [A,B] |  (exists z in C.((x = z) and(y = z)))}
23 [Disjunction removal phase]
25 {[x,y]:[x,y] in [A,B] |  (exists z in C.((x = z) and(y = z)))}
27 [Conjunctive query decomposition phase]
29 [Query Graph]
30    edge y -> z
31 {[x,y]:[x,y] in [A,B] |  (exists z in C.((x = z) and(y = z)))}
33 [Projection recognition phase]
35 {[x,y]:[x,y] in [A,B] |  (exists z in C.((x = z) and(y = z)))}
37 [Simple find/count query decomposition phase]
39 Output:
40 {[x,y]:[x,y] in [A,B] |  (exists z in C.((x = z) and(y = z)))}