2 {[x,y]: x in S, y in T, z in U | (((exists y in U.((z = x) and(x = y))) and (exists z in U.(z = 1))) or(not (exists i in U.(x >= y))))}
3 {[x,y]: x in S, y in T, z in U | (((exists y in U.((z = x) and(x = y))) and (exists z in U.(z = 1))) or(not (exists i in U.(x >= y))))}
7 {[x,y]: x in S, y in T, z in U | (((exists y_1 in U.((z = x) and(x = y_1))) and (exists z_2 in U.(z_2 = 1))) or(not (exists i in U.(x >= y))))}
9 [DNF construction and simplification phase]
11 {[x,y]: x in S, y in T, z in U | (((z = x) and((exists y_1 in U.(x = y_1)) and (exists z_2 in U.(z_2 = 1)))) or(not (exists i in U.(x >= y))))}
13 [Constructing the query graph]
19 {[x,y]: x in S, y in T, z in U | (((z = x) and((exists y_1 in U.(x = y_1)) and (exists z_2 in U.(z_2 = 1)))) or(not (exists i in U.(x >= y))))}
21 [Quantifier elimination phase]
24 C_3={[x,(#{[x,y_1]: y_1 in U | (x = y_1)})]: x in S}
25 C_4={z_2: z_2 in U | (z_2 = 1)}
27 {[x,y]:[x,y,z] in [S,T,U] | (((z = x) and((C_3(x) > 0) and(nonempty C_4))) or((not(nonempty U)) or(x < y)))}
31 [Disjunction removal phase]
34 C_3={[x,(#{[x,y_1]: y_1 in U | (x = y_1)})]: x in S}
35 C_4={z_2: z_2 in U | (z_2 = 1)}
36 Q_5={[x,y]:[x,y,z] in [S,T,U] | ((z = x) and((C_3(x) > 0) and(nonempty C_4)))}
37 Q_6={[x,y]:[x,y,z] in [S,T,U] | (not(nonempty U))}
38 Q_7={[x,y]:[x,y,z] in [S,T,U] | (x < y)}
44 [Conjunctive query decomposition phase]
51 C_3={[x,(#{[x,y_1]: y_1 in U | (x = y_1)})]: x in S}
52 C_4={z_2: z_2 in U | (z_2 = 1)}
53 Q_8={[x,y]:[x,y,z] in [S,T,U] | (z = x)}
54 Q_9={[x,y]:[x,y,z] in [S,T,U] | (C_3(x) > 0)}
55 Q_10={[x,y]:[x,y,z] in [S,T,U] | (nonempty C_4)}
56 Q_5= join(Q_10,Q_9,Q_8)
57 Q_6={[x,y]:[x,y,z] in [S,T,U] | (not(nonempty U))}
58 Q_7={[x,y]:[x,y,z] in [S,T,U] | (x < y)}
64 [Projection recognition phase]
67 C_3={[x,(#{[x,y_1]: y_1 in U | (x = y_1)})]: x in S}
68 C_4={z_2: z_2 in U | (z_2 = 1)}
69 Q_8={[x,y]:[x,y] in [S,T] | (exists z in U.(z = x))}
70 Q_9={[x,y]:[x,y] in [S,T] | (exists z in U.(C_3(x) > 0))}
71 Q_10={[x,y]:[x,y] in [S,T] | (exists z in U.(nonempty C_4))}
72 Q_5= join(Q_10,Q_9,Q_8)
73 Q_6={[x,y]:[x,y] in [S,T] | (exists z in U.(not(nonempty U)))}
74 Q_7={[x,y]:[x,y] in [S,T] | (exists z in U.(x < y))}
80 [Simple find/count query decomposition phase]
83 C_3={[x,(#{[x,y_1]: y_1 in U | (x = y_1)})]: x in S}
84 C_4={z_2: z_2 in U | (z_2 = 1)}
85 Q_8={[x,y]:[x,y] in [S,T] | (exists z in U.(z = x))}
86 Q_9={[x,y]:[x,y] in [S,T] | (exists z in U.(C_3(x) > 0))}
87 Q_10={[x,y]:[x,y] in [S,T] | (exists z in U.(nonempty C_4))}
88 Q_5= join(Q_10,Q_9,Q_8)
89 Q_6={[x,y]:[x,y] in [S,T] | (exists z in U.(not(nonempty U)))}
90 Q_7={[x,y]:[x,y] in [S,T] | (exists z in U.(x < y))}
96 [Reiterating the transformation]
99 C_3={[x,(#{[x,y_1]: y_1 in U | (x = y_1)})]: x in S}
100 C_4={z_2: z_2 in U | (z_2 = 1)}
101 Q_8={[x,y]:[x,y] in [S,T] | (exists z in U.(z = x))}
102 Q_9={[x,y]:[x,y] in [S,T] | (exists z in U.(C_3(x) > 0))}
103 Q_10={[x,y]:[x,y] in [S,T] | (exists z in U.(nonempty C_4))}
104 Q_5= join(Q_10,Q_9,Q_8)
105 Q_6={[x,y]:[x,y] in [S,T] | (exists z in U.(not(nonempty U)))}
106 Q_7={[x,y]:[x,y] in [S,T] | (exists z in U.(x < y))}
115 C_3={[x,(#{[x,y_1]: y_1 in U | (x = y_1)})]: x in S}
116 C_4={z_2: z_2 in U | (z_2 = 1)}
117 Q_8={[x,y]:[x,y] in [S,T] | (exists z in U.(z = x))}
118 Q_9={[x,y]:[x,y] in [S,T] | (exists z in U.(C_3(x) > 0))}
119 Q_10={[x,y]:[x,y] in [S,T] | (exists z in U.(nonempty C_4))}
120 Q_5= join(Q_10,Q_9,Q_8)
121 Q_6={[x,y]:[x,y] in [S,T] | (exists z in U.(not(nonempty U)))}
122 Q_7={[x,y]:[x,y] in [S,T] | (exists z in U.(x < y))}
128 [DNF construction and simplification phase]
131 C_3={[x,(#{[x,y_1]: y_1 in U | (x = y_1)})]: x in S}
132 C_4={z_2: z_2 in U | (z_2 = 1)}
133 Q_8={[x,y]:[x,y] in [S,T] | (exists z in U.(z = x))}
134 Q_9={[x,y]:[x,y] in [S,T] | (exists z in U.(C_3(x) > 0))}
135 Q_10={[x,y]:[x,y] in [S,T] | (exists z in U.(nonempty C_4))}
136 Q_5= join(Q_10,Q_9,Q_8)
137 Q_6={[x,y]:[x,y] in [S,T] | (exists z in U.(not(nonempty U)))}
138 Q_7={[x,y]:[x,y] in [S,T] | (exists z in U.(x < y))}
144 [Constructing the query graph]
151 C_3={[x,(#{[x,y_1]: y_1 in U | (x = y_1)})]: x in S}
152 C_4={z_2: z_2 in U | (z_2 = 1)}
153 Q_8={[x,y]:[x,y] in [S,T] | (exists z in U.(z = x))}
154 Q_9={[x,y]:[x,y] in [S,T] | (exists z in U.(C_3(x) > 0))}
155 Q_10={[x,y]:[x,y] in [S,T] | (exists z in U.(nonempty C_4))}
156 Q_5= join(Q_10,Q_9,Q_8)
157 Q_6={[x,y]:[x,y] in [S,T] | (exists z in U.(not(nonempty U)))}
158 Q_7={[x,y]:[x,y] in [S,T] | (exists z in U.(x < y))}
164 [Quantifier elimination phase]
167 C_3={[x,(#{[x,y_1]: y_1 in U | (x = y_1)})]: x in S}
168 C_4={z_2: z_2 in U | (z_2 = 1)}
169 Q_8={[x,y]:[x,y] in [S,T] | (C_11(x) > 0)}
170 Q_9= if(nonempty U) then{[x,y]:[x,y] in [S,T] | (C_3(x) > 0)} else {}
171 Q_10= if((nonempty U) and(nonempty C_4)) then{[x,y]:[x,y] in [S,T]} else {}
172 Q_5= join(Q_10,Q_9,Q_8)
173 Q_6= if(nonempty U) then{[x,y]:[x,y] in [S,T] | (not(nonempty U))} else {}
174 C_11={[x,(#{[x,z]: z in U | (z = x)})]: x in S}
175 Q_7= if(nonempty U) then{[x,y]:[x,y] in [S,T] | (x < y)} else {}
181 [Disjunction removal phase]
184 C_3={[x,(#{[x,y_1]: y_1 in U | (x = y_1)})]: x in S}
185 C_4={z_2: z_2 in U | (z_2 = 1)}
186 Q_8={[x,y]:[x,y] in [S,T] | (C_11(x) > 0)}
187 Q_9= if(nonempty U) then{[x,y]:[x,y] in [S,T] | (C_3(x) > 0)} else {}
188 Q_10= if((nonempty U) and(nonempty C_4)) then{[x,y]:[x,y] in [S,T]} else {}
189 Q_5= join(Q_10,Q_9,Q_8)
190 Q_6= if(nonempty U) then{[x,y]:[x,y] in [S,T] | (not(nonempty U))} else {}
191 C_11={[x,(#{[x,z]: z in U | (z = x)})]: x in S}
192 Q_7= if(nonempty U) then{[x,y]:[x,y] in [S,T] | (x < y)} else {}
198 [Conjunctive query decomposition phase]
205 C_3={[x,(#{[x,y_1]: y_1 in U | (x = y_1)})]: x in S}
206 C_4={z_2: z_2 in U | (z_2 = 1)}
207 Q_8={[x,y]:[x,y] in [S,T] | (C_11(x) > 0)}
208 Q_9= if(nonempty U) then{[x,y]:[x,y] in [S,T] | (C_3(x) > 0)} else {}
209 Q_10= if((nonempty U) and(nonempty C_4)) then{[x,y]:[x,y] in [S,T]} else {}
210 Q_5= join(Q_10,Q_9,Q_8)
211 Q_6= if(nonempty U) then{[x,y]:[x,y] in [S,T] | (not(nonempty U))} else {}
212 C_11={[x,(#{[x,z]: z in U | (z = x)})]: x in S}
213 Q_7= if(nonempty U) then{[x,y]:[x,y] in [S,T] | (x < y)} else {}
219 [Projection recognition phase]
222 C_3={[x,(#{[x,y_1]: y_1 in U | (x = y_1)})]: x in S}
223 C_4={z_2: z_2 in U | (z_2 = 1)}
224 Q_8={[x,y]:[x,y] in [S,T] | (C_11(x) > 0)}
225 Q_9= if(nonempty U) then{[x,y]:[x,y] in [S,T] | (C_3(x) > 0)} else {}
226 Q_10= if((nonempty U) and(nonempty C_4)) then{[x,y]:[x,y] in [S,T]} else {}
227 Q_5= join(Q_10,Q_9,Q_8)
228 Q_6= if(nonempty U) then{[x,y]:[x,y] in [S,T] | (not(nonempty U))} else {}
229 C_11={[x,(#{[x,z]: z in U | (z = x)})]: x in S}
230 Q_7= if(nonempty U) then{[x,y]:[x,y] in [S,T] | (x < y)} else {}
236 [Simple find/count query decomposition phase]
240 C_3={[x,(#{[x,y_1]: y_1 in U | (x = y_1)})]: x in S}
241 C_4={z_2: z_2 in U | (z_2 = 1)}
242 Q_8={[x,y]:[x,y] in [S,T] | (C_11(x) > 0)}
243 Q_9= if(nonempty U) then{[x,y]:[x,y] in [S,T] | (C_3(x) > 0)} else {}
244 Q_10= if((nonempty U) and(nonempty C_4)) then{[x,y]:[x,y] in [S,T]} else {}
245 Q_5= join(Q_10,Q_9,Q_8)
246 Q_6= if(nonempty U) then{[x,y]:[x,y] in [S,T] | (not(nonempty U))} else {}
247 C_11={[x,(#{[x,z]: z in U | (z = x)})]: x in S}
248 Q_7= if(nonempty U) then{[x,y]:[x,y] in [S,T] | (x < y)} else {}