1 2%%% The following code has been produced by the CHR compiler 3 4 5:- ( current_module(chr) -> true ; use_module(library(chr)) ). 6 7:- get_flag(variable_names, Val), setval(variable_names_flag, Val), set_flag(variable_names, off). 8:- use_module(s_lists). 9:- op(700, xfx, [in, notin, incl, eq, #]). 10 11 12 13%%% Callables for set / 3 14 15'CHRlabel_with'(set(A, B, C), D, E) ?- 16 coca(try_clause(E, set(A, B, C), set(F, G, H), true)), 17 coca(clause_fired(E)), 18 'CHR='(D, clause_set(A, B, C)). 19 20 21 22%%% Prolog clauses for set / 3 23 24clause_set(A, B, C) :- 25 s_member(D, C), 26 \+ s_member(D, B), 27 !, 28 ( 29 in(D, A) 30 ; 31 notin(D, A) 32 ). 33:- current_macro(clause_set / 3, _9150, _9151, _9152) -> true ; define_macro(clause_set / 3, tr_chr / 2, [write]). 34set(A, B, C) :- 35 'CHRgen_num'(D), 36 coca(add_one_constraint(D, set(A, B, C))), 37 'CHRset_3'(set(A, B, C), E, F, D). 38 39 40 41%%% Rules handling for set / 3 42 43'CHRset_3'(set(A, B, C), D, E, F) :- 44 ( 45 'CHRnonvar'(D) 46 ; 47 'CHRalready_in'('CHRset_3'(set(A, B, C), D, E, F)), 48 coca(already_in) 49 ), 50 !. 51'CHRset_3'(set(A, B, C), D, E, F) ?- 52 coca(try_rule(F, set(A, B, C), anonymous("0"), set(G, H, I), replacement, s_equality(H, I), G = H)), 53 no_global_bindings(s_equality(B, C), set(A, B, C)), 54 !, 55 'CHRkill'(D), 56 coca(fired_rule(anonymous("0"))), 57 A = B. 58'CHRset_3'(set(A, B, C), D, E, F) ?- 59 coca(try_rule(F, set(A, B, C), anonymous("1"), set(G, H, I), replacement, \+ s_included(H, I), fail)), 60 no_global_bindings(\+ s_included(B, C), set(A, B, C)), 61 !, 62 'CHRkill'(D), 63 coca(fired_rule(anonymous("1"))), 64 fail. 65'CHRset_3'(set(A, B, C), D, E, F) ?- 66 coca(try_rule(F, set(A, B, C), ground, set(G, H, I), replacement, is_set(G), (s_included(H, G), s_included(G, I)))), 67 no_global_bindings(is_set(A), set(A, B, C)), 68 !, 69 'CHRkill'(D), 70 coca(fired_rule(ground)), 71 s_included(B, A), 72 s_included(A, C). 73'CHRset_3'(set(A, B, C), D, E, F) ?- 74 'CHRget_delayed_goals'(A, G), 75 'CHRset_3__34'(G, [A], [H], I), 76 coca(try_double(F, set(A, B, C), I, #(A, H), set(J, K, L), #(J, M), replacement, s_card(K, M), J = K, anonymous("9"))), 77 no_global_bindings(s_card(B, H), (set(A, B, C), #(A, H))), 78 !, 79 'CHRkill'(D), 80 coca(fired_rule(anonymous("9"))), 81 A = B. 82'CHRset_3'(set(A, B, C), D, E, F) ?- 83 'CHRget_delayed_goals'(A, G), 84 'CHRset_3__35'(G, [A], [H], I), 85 coca(try_double(F, set(A, B, C), I, #(A, H), set(J, K, L), #(J, M), replacement, s_card(L, M), J = L, anonymous("10"))), 86 no_global_bindings(s_card(C, H), (set(A, B, C), #(A, H))), 87 !, 88 'CHRkill'(D), 89 coca(fired_rule(anonymous("10"))), 90 A = C. 91'CHRset_3'(set(A, B, C), D, E, F) :- 92 'CHRset_3__33'(set(A, B, C), D, E, F). 93'CHRset_3__34'(['CHR#_2'(#(A, B), C, D, E)|F], [A], [G], H) ?- 94 'CHRvar'(C), 95 'CHRkill'(C), 96 'CHR='([B], [G]), 97 'CHR='(E, H). 98'CHRset_3__34'([A|B], C, D, E) :- 99 'CHRset_3__34'(B, C, D, E). 100:- set_flag('CHRset_3__34' / 4, leash, notrace). 101'CHRset_3__35'(['CHR#_2'(#(A, B), C, D, E)|F], [A], [G], H) ?- 102 'CHRvar'(C), 103 'CHRkill'(C), 104 'CHR='([B], [G]), 105 'CHR='(E, H). 106'CHRset_3__35'([A|B], C, D, E) :- 107 'CHRset_3__35'(B, C, D, E). 108:- set_flag('CHRset_3__35' / 4, leash, notrace). 109:- set_flag('CHRset_3' / 4, leash, notrace). 110:- current_macro('CHRset_3' / 4, _10943, _10944, _10945) -> true ; define_macro('CHRset_3' / 4, tr_chr / 2, [write]). 111'CHRset_3__33'(A, B, C, D) :- 112 'CHRset_3__36'(A, B, C, D). 113:- set_flag('CHRset_3__33' / 4, leash, notrace). 114'CHRset_3__36'(set(A, B, C), D, E, F) ?- 115 'CHRvar'(D), 116 !, 117 'CHRget_delayed_goals'(A, G), 118 'CHRset_3__36__37'(G, D, set(A, B, C), E, F). 119'CHRset_3__36'(set(A, B, C), D, E, F) :- 120 'CHRset_3__36__38'(set(A, B, C), D, E, F). 121:- set_flag('CHRset_3__36' / 4, leash, notrace). 122'CHRset_3__36__37'(['CHRin_2'(in(A, B), C, D, E)|F], G, set(B, H, I), J, K) ?- 123 'CHRvar'(C), 124 coca(try_double(K, set(B, H, I), E, in(A, B), set(L, M, N), in(O, L), keep_first, ((nonvar(O), s_insertion(O, M, P)), 'CHRkeep_heads_checking'(set(L, M, N), Q, set(L, P, N), R)), (s_memberchk(O, N), ('CHRhead_not_kept'(R) -> set(L, P, N) ; true)), belonging)), 125 no_global_bindings(((nonvar(A), s_insertion(A, H, S)), 'CHRkeep_heads_checking'(set(B, H, I), G, set(B, S, I), T)), (set(B, H, I), in(A, B))), 126 !, 127 'CHRkill'(C), 128 coca(fired_rule(belonging)), 129 'CHRset_3__36__37'(F, G, set(B, H, I), J, K), 130 s_memberchk(A, I), 131 ( 132 'CHRhead_not_kept'(T) 133 -> 134 set(B, S, I) 135 ; 136 true 137 ). 138'CHRset_3__36__37'([A|B], C, D, E, F) :- 139 'CHRset_3__36__37'(B, C, D, E, F). 140'CHRset_3__36__37'([], A, B, C, D) :- 141 'CHRset_3__36__38'(B, A, C, D). 142:- set_flag('CHRset_3__36__37' / 5, leash, notrace). 143'CHRset_3__36__38'(set(A, B, C), D, E, F) ?- 144 'CHRvar'(D), 145 !, 146 'CHRget_delayed_goals'(A, G), 147 'CHRset_3__36__38__39'(G, D, set(A, B, C), E, F). 148'CHRset_3__36__38'(set(A, B, C), D, E, F) :- 149 'CHRset_3__36__38__40'(set(A, B, C), D, E, F). 150:- set_flag('CHRset_3__36__38' / 4, leash, notrace). 151'CHRset_3__36__38__39'(['CHRnotin_2'(notin(A, B), C, D, E)|F], G, set(B, H, I), J, K) ?- 152 'CHRvar'(C), 153 coca(try_double(K, set(B, H, I), E, notin(A, B), set(L, M, N), notin(O, L), keep_first, ((nonvar(O), list2set([O], P), s_delta(N, P, Q)), 'CHRkeep_heads_checking'(set(L, M, N), R, set(L, M, Q), S)), (\+ s_memberchk(O, M), ('CHRhead_not_kept'(S) -> set(L, M, Q) ; true)), not_belonging)), 154 no_global_bindings(((nonvar(A), list2set([A], T), s_delta(I, T, U)), 'CHRkeep_heads_checking'(set(B, H, I), G, set(B, H, U), V)), (set(B, H, I), notin(A, B))), 155 !, 156 'CHRkill'(C), 157 coca(fired_rule(not_belonging)), 158 'CHRset_3__36__38__39'(F, G, set(B, H, I), J, K), 159 \+ s_memberchk(A, H), 160 ( 161 'CHRhead_not_kept'(V) 162 -> 163 set(B, H, U) 164 ; 165 true 166 ). 167'CHRset_3__36__38__39'([A|B], C, D, E, F) :- 168 'CHRset_3__36__38__39'(B, C, D, E, F). 169'CHRset_3__36__38__39'([], A, B, C, D) :- 170 'CHRset_3__36__38__40'(B, A, C, D). 171:- set_flag('CHRset_3__36__38__39' / 5, leash, notrace). 172'CHRset_3__36__38__40'(set(A, B, C), D, E, F) ?- 173 'CHRvar'(D), 174 !, 175 'CHRget_delayed_goals'(A, G), 176 'CHRset_3__36__38__40__41'(G, D, set(A, B, C), E, F). 177'CHRset_3__36__38__40'(set(A, B, C), D, E, F) :- 178 'CHRset_3__36__38__40__42'(set(A, B, C), D, E, F). 179:- set_flag('CHRset_3__36__38__40' / 4, leash, notrace). 180'CHRset_3__36__38__40__41'(['CHRincl_2'(incl(A, B), C, D, E)|F], G, set(B, H, I), J, K) ?- 181 'CHRvar'(C), 182 coca(try_double(K, set(B, H, I), E, incl(A, B), set(L, M, N), incl(O, L), keep_first, ((is_set(O), s_union(O, M, P)), 'CHRkeep_heads_checking'(set(L, M, N), Q, set(L, P, N), R)), 'CHRhead_not_kept'(R) -> set(L, P, N) ; true, anonymous("2"))), 183 no_global_bindings(((is_set(A), s_union(A, H, S)), 'CHRkeep_heads_checking'(set(B, H, I), G, set(B, S, I), T)), (set(B, H, I), incl(A, B))), 184 !, 185 'CHRkill'(C), 186 coca(fired_rule(anonymous("2"))), 187 'CHRset_3__36__38__40__41'(F, G, set(B, H, I), J, K), 188 ( 189 'CHRhead_not_kept'(T) 190 -> 191 set(B, S, I) 192 ; 193 true 194 ). 195'CHRset_3__36__38__40__41'([A|B], C, D, E, F) :- 196 'CHRset_3__36__38__40__41'(B, C, D, E, F). 197'CHRset_3__36__38__40__41'([], A, B, C, D) :- 198 'CHRset_3__36__38__40__42'(B, A, C, D). 199:- set_flag('CHRset_3__36__38__40__41' / 5, leash, notrace). 200'CHRset_3__36__38__40__42'(set(A, B, C), D, E, F) ?- 201 'CHRvar'(D), 202 !, 203 'CHRget_delayed_goals'(A, G), 204 'CHRset_3__36__38__40__42__43'(G, D, set(A, B, C), E, F). 205'CHRset_3__36__38__40__42'(set(A, B, C), D, E, F) :- 206 'CHRset_3__36__38__40__42__44'(set(A, B, C), D, E, F). 207:- set_flag('CHRset_3__36__38__40__42' / 4, leash, notrace). 208'CHRset_3__36__38__40__42__43'(['CHRincl_2'(incl(A, B), C, D, E)|F], G, set(A, H, I), J, K) ?- 209 'CHRvar'(C), 210 coca(try_double(K, set(A, H, I), E, incl(A, B), set(L, M, N), incl(L, O), keep_first, ((is_set(O), s_intersection(O, N, P)), 'CHRkeep_heads_checking'(set(L, M, N), Q, set(L, M, P), R)), 'CHRhead_not_kept'(R) -> set(L, M, P) ; true, anonymous("3"))), 211 no_global_bindings(((is_set(B), s_intersection(B, I, S)), 'CHRkeep_heads_checking'(set(A, H, I), G, set(A, H, S), T)), (set(A, H, I), incl(A, B))), 212 !, 213 'CHRkill'(C), 214 coca(fired_rule(anonymous("3"))), 215 'CHRset_3__36__38__40__42__43'(F, G, set(A, H, I), J, K), 216 ( 217 'CHRhead_not_kept'(T) 218 -> 219 set(A, H, S) 220 ; 221 true 222 ). 223'CHRset_3__36__38__40__42__43'([A|B], C, D, E, F) :- 224 'CHRset_3__36__38__40__42__43'(B, C, D, E, F). 225'CHRset_3__36__38__40__42__43'([], A, B, C, D) :- 226 'CHRset_3__36__38__40__42__44'(B, A, C, D). 227:- set_flag('CHRset_3__36__38__40__42__43' / 5, leash, notrace). 228'CHRset_3__36__38__40__42__44'(set(A, B, C), D, E, F) ?- 229 'CHRvar'(D), 230 !, 231 'CHRget_delayed_goals'(A, G), 232 'CHRset_3__36__38__40__42__44__45'(G, D, set(A, B, C), E, F). 233'CHRset_3__36__38__40__42__44'(set(A, B, C), D, E, F) :- 234 'CHRset_3__36__38__40__42__44__46'(set(A, B, C), D, E, F). 235:- set_flag('CHRset_3__36__38__40__42__44' / 4, leash, notrace). 236'CHRset_3__36__38__40__42__44__45'(['CHRincl_set_5'(incl_set(A, B, C, D, E), F, G, H)|I], J, set(D, K, L), M, N) ?- 237 'CHRvar'(F), 238 coca(try_double(N, set(D, K, L), H, incl_set(A, B, C, D, E), set(O, P, Q), incl_set(R, S, T, O, U), keep_first, s_included(T, P), U = true, anonymous("6"))), 239 no_global_bindings(s_included(C, K), (set(D, K, L), incl_set(A, B, C, D, E))), 240 !, 241 'CHRkill'(F), 242 coca(fired_rule(anonymous("6"))), 243 'CHRset_3__36__38__40__42__44__45'(I, J, set(D, K, L), M, N), 244 E = true. 245'CHRset_3__36__38__40__42__44__45'([A|B], C, D, E, F) :- 246 'CHRset_3__36__38__40__42__44__45'(B, C, D, E, F). 247'CHRset_3__36__38__40__42__44__45'([], A, B, C, D) :- 248 'CHRset_3__36__38__40__42__44__46'(B, A, C, D). 249:- set_flag('CHRset_3__36__38__40__42__44__45' / 5, leash, notrace). 250'CHRset_3__36__38__40__42__44__46'(set(A, B, C), D, E, F) ?- 251 'CHRvar'(D), 252 !, 253 'CHRget_delayed_goals'(A, G), 254 'CHRset_3__36__38__40__42__44__46__47'(G, D, set(A, B, C), E, F). 255'CHRset_3__36__38__40__42__44__46'(set(A, B, C), D, E, F) :- 256 'CHRset_3__36__38__40__42__44__46__48'(set(A, B, C), D, E, F). 257:- set_flag('CHRset_3__36__38__40__42__44__46' / 4, leash, notrace). 258'CHRset_3__36__38__40__42__44__46__47'(['CHRincl_set_5'(incl_set(A, B, C, D, E), F, G, H)|I], J, set(D, K, L), M, N) ?- 259 'CHRvar'(F), 260 coca(try_double(N, set(D, K, L), H, incl_set(A, B, C, D, E), set(O, P, Q), incl_set(R, S, T, O, U), keep_first, (\+ s_included(T, P), s_intersection(T, Q, V), s_union(S, P, W)), (set(R, S, V), set(O, W, Q)), anonymous("7"))), 261 no_global_bindings((\+ s_included(C, K), s_intersection(C, L, X), s_union(B, K, Y)), (set(D, K, L), incl_set(A, B, C, D, E))), 262 !, 263 'CHRkill'(F), 264 coca(fired_rule(anonymous("7"))), 265 'CHRset_3__36__38__40__42__44__46__47'(I, J, set(D, K, L), M, N), 266 set(A, B, X), 267 set(D, Y, L). 268'CHRset_3__36__38__40__42__44__46__47'([A|B], C, D, E, F) :- 269 'CHRset_3__36__38__40__42__44__46__47'(B, C, D, E, F). 270'CHRset_3__36__38__40__42__44__46__47'([], A, B, C, D) :- 271 'CHRset_3__36__38__40__42__44__46__48'(B, A, C, D). 272:- set_flag('CHRset_3__36__38__40__42__44__46__47' / 5, leash, notrace). 273'CHRset_3__36__38__40__42__44__46__48'(set(A, B, C), D, E, F) ?- 274 'CHRvar'(D), 275 !, 276 'CHRget_delayed_goals'(A, G), 277 'CHRset_3__36__38__40__42__44__46__48__49'(G, D, set(A, B, C), E, F). 278'CHRset_3__36__38__40__42__44__46__48'(set(A, B, C), D, E, F) :- 279 'CHRset_3__36__38__40__42__44__46__48__50'(set(A, B, C), D, E, F). 280:- set_flag('CHRset_3__36__38__40__42__44__46__48' / 4, leash, notrace). 281'CHRset_3__36__38__40__42__44__46__48__49'(['CHRunion_set_5'(union_set(A, B, C, D, E), F, G, H)|I], J, set(A, K, L), M, N) ?- 282 'CHRvar'(F), 283 coca(try_double(N, set(A, K, L), H, union_set(A, B, C, D, E), set(O, P, Q), union_set(O, R, S, T, U), keep_first, (s_union(S, P, V), s_union(T, Q, W)), set(U, V, W), anonymous("14"))), 284 no_global_bindings((s_union(C, K, X), s_union(D, L, Y)), (set(A, K, L), union_set(A, B, C, D, E))), 285 !, 286 'CHRkill'(F), 287 coca(fired_rule(anonymous("14"))), 288 'CHRset_3__36__38__40__42__44__46__48__49'(I, J, set(A, K, L), M, N), 289 set(E, X, Y). 290'CHRset_3__36__38__40__42__44__46__48__49'([A|B], C, D, E, F) :- 291 'CHRset_3__36__38__40__42__44__46__48__49'(B, C, D, E, F). 292'CHRset_3__36__38__40__42__44__46__48__49'([], A, B, C, D) :- 293 'CHRset_3__36__38__40__42__44__46__48__50'(B, A, C, D). 294:- set_flag('CHRset_3__36__38__40__42__44__46__48__49' / 5, leash, notrace). 295'CHRset_3__36__38__40__42__44__46__48__50'(set(A, B, C), D, E, F) ?- 296 'CHRvar'(D), 297 !, 298 'CHRget_delayed_goals'(A, G), 299 'CHRset_3__36__38__40__42__44__46__48__50__51'(G, D, set(A, B, C), E, F). 300'CHRset_3__36__38__40__42__44__46__48__50'(set(A, B, C), D, E, F) :- 301 'CHRset_3__36__38__40__42__44__46__48__50__52'(set(A, B, C), D, E, F). 302:- set_flag('CHRset_3__36__38__40__42__44__46__48__50' / 4, leash, notrace). 303'CHRset_3__36__38__40__42__44__46__48__50__51'(['CHRunion_S_3'(union_S(A, B, C), D, E, F)|G], H, set(A, I, J), K, L) ?- 304 'CHRvar'(D), 305 coca(try_double(L, set(A, I, J), F, union_S(A, B, C), set(M, N, O), union_S(M, P, Q), keep_first, true, union_S_S1(P, M, O, Q), anonymous("16"))), 306 !, 307 'CHRkill'(D), 308 coca(fired_rule(anonymous("16"))), 309 'CHRset_3__36__38__40__42__44__46__48__50__51'(G, H, set(A, I, J), K, L), 310 union_S_S1(B, A, J, C). 311'CHRset_3__36__38__40__42__44__46__48__50__51'([A|B], C, D, E, F) :- 312 'CHRset_3__36__38__40__42__44__46__48__50__51'(B, C, D, E, F). 313'CHRset_3__36__38__40__42__44__46__48__50__51'([], A, B, C, D) :- 314 'CHRset_3__36__38__40__42__44__46__48__50__52'(B, A, C, D). 315:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__51' / 5, leash, notrace). 316'CHRset_3__36__38__40__42__44__46__48__50__52'(set(A, B, C), D, E, F) ?- 317 'CHRvar'(D), 318 !, 319 'CHRget_delayed_goals'(A, G), 320 'CHRset_3__36__38__40__42__44__46__48__50__52__53'(G, D, set(A, B, C), E, F). 321'CHRset_3__36__38__40__42__44__46__48__50__52'(set(A, B, C), D, E, F) :- 322 'CHRset_3__36__38__40__42__44__46__48__50__52__54'(set(A, B, C), D, E, F). 323:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52' / 4, leash, notrace). 324'CHRset_3__36__38__40__42__44__46__48__50__52__53'(['CHRunion_S_S1_4'(union_S_S1(A, B, C, D), E, F, G)|H], I, set(A, J, K), L, M) ?- 325 'CHRvar'(E), 326 coca(try_double(M, set(A, J, K), G, union_S_S1(A, B, C, D), set(N, O, P), union_S_S1(N, Q, R, S), keep_first, true, (s_delta(S, R, T), incl(T, N), s_delta(S, P, U), incl(U, Q)), anonymous("17"))), 327 !, 328 'CHRkill'(E), 329 coca(fired_rule(anonymous("17"))), 330 'CHRset_3__36__38__40__42__44__46__48__50__52__53'(H, I, set(A, J, K), L, M), 331 s_delta(D, C, V), 332 incl(V, A), 333 s_delta(D, K, W), 334 incl(W, B). 335'CHRset_3__36__38__40__42__44__46__48__50__52__53'([A|B], C, D, E, F) :- 336 'CHRset_3__36__38__40__42__44__46__48__50__52__53'(B, C, D, E, F). 337'CHRset_3__36__38__40__42__44__46__48__50__52__53'([], A, B, C, D) :- 338 'CHRset_3__36__38__40__42__44__46__48__50__52__54'(B, A, C, D). 339:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__53' / 5, leash, notrace). 340'CHRset_3__36__38__40__42__44__46__48__50__52__54'(set(A, B, C), D, E, F) ?- 341 'CHRvar'(D), 342 !, 343 'CHRget_delayed_goals'(A, G), 344 'CHRset_3__36__38__40__42__44__46__48__50__52__54__55'(G, D, set(A, B, C), E, F). 345'CHRset_3__36__38__40__42__44__46__48__50__52__54'(set(A, B, C), D, E, F) :- 346 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56'(set(A, B, C), D, E, F). 347:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54' / 4, leash, notrace). 348'CHRset_3__36__38__40__42__44__46__48__50__52__54__55'(['CHRdisjoint_2'(disjoint(A, B), C, D, E)|F], G, set(B, H, I), J, K) ?- 349 'CHRvar'(C), 350 coca(try_double(K, set(B, H, I), E, disjoint(A, B), set(L, M, N), disjoint(O, L), keep_first, ((is_set(O), s_delta(N, O, P)), 'CHRkeep_heads_checking'(set(L, M, N), Q, set(L, M, P), R)), 'CHRhead_not_kept'(R) -> set(L, M, P) ; true, anonymous("28"))), 351 no_global_bindings(((is_set(A), s_delta(I, A, S)), 'CHRkeep_heads_checking'(set(B, H, I), G, set(B, H, S), T)), (set(B, H, I), disjoint(A, B))), 352 !, 353 'CHRkill'(C), 354 coca(fired_rule(anonymous("28"))), 355 'CHRset_3__36__38__40__42__44__46__48__50__52__54__55'(F, G, set(B, H, I), J, K), 356 ( 357 'CHRhead_not_kept'(T) 358 -> 359 set(B, H, S) 360 ; 361 true 362 ). 363'CHRset_3__36__38__40__42__44__46__48__50__52__54__55'([A|B], C, D, E, F) :- 364 'CHRset_3__36__38__40__42__44__46__48__50__52__54__55'(B, C, D, E, F). 365'CHRset_3__36__38__40__42__44__46__48__50__52__54__55'([], A, B, C, D) :- 366 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56'(B, A, C, D). 367:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__55' / 5, leash, notrace). 368'CHRset_3__36__38__40__42__44__46__48__50__52__54__56'(set(A, B, C), D, E, F) ?- 369 'CHRvar'(D), 370 !, 371 'CHRget_delayed_goals'(A, G), 372 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__57'(G, D, set(A, B, C), E, F). 373'CHRset_3__36__38__40__42__44__46__48__50__52__54__56'(set(A, B, C), D, E, F) :- 374 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58'(set(A, B, C), D, E, F). 375:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56' / 4, leash, notrace). 376'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__57'(['CHRdisjoint_2'(disjoint(A, B), C, D, E)|F], G, set(A, H, I), J, K) ?- 377 'CHRvar'(C), 378 coca(try_double(K, set(A, H, I), E, disjoint(A, B), set(L, M, N), disjoint(L, O), keep_first, ((is_set(O), s_delta(N, O, P)), 'CHRkeep_heads_checking'(set(L, M, N), Q, set(L, M, P), R)), 'CHRhead_not_kept'(R) -> set(L, M, P) ; true, anonymous("29"))), 379 no_global_bindings(((is_set(B), s_delta(I, B, S)), 'CHRkeep_heads_checking'(set(A, H, I), G, set(A, H, S), T)), (set(A, H, I), disjoint(A, B))), 380 !, 381 'CHRkill'(C), 382 coca(fired_rule(anonymous("29"))), 383 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__57'(F, G, set(A, H, I), J, K), 384 ( 385 'CHRhead_not_kept'(T) 386 -> 387 set(A, H, S) 388 ; 389 true 390 ). 391'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__57'([A|B], C, D, E, F) :- 392 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__57'(B, C, D, E, F). 393'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__57'([], A, B, C, D) :- 394 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58'(B, A, C, D). 395:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__57' / 5, leash, notrace). 396'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58'(set(A, B, C), D, E, F) ?- 397 'CHRvar'(D), 398 !, 399 'CHRget_delayed_goals'(A, G), 400 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__59'(G, D, set(A, B, C), E, F). 401'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58'(set(A, B, C), D, E, F) :- 402 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60'(set(A, B, C), D, E, F). 403:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58' / 4, leash, notrace). 404'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__59'(['CHRset_disjoint_4'(set_disjoint(A, B, C, D), E, F, G)|H], I, set(A, J, K), L, M) ?- 405 'CHRvar'(E), 406 coca(try_double(M, set(A, J, K), G, set_disjoint(A, B, C, D), set(N, O, P), set_disjoint(N, Q, R, S), keep_first, ((s_delta(P, R, T), s_delta(S, O, U)), 'CHRkeep_heads_checking'(set(N, O, P), V, set(N, O, T), W)), (('CHRhead_not_kept'(W) -> set(N, O, T) ; true), set(Q, R, U)), anonymous("31"))), 407 no_global_bindings(((s_delta(K, C, X), s_delta(D, J, Y)), 'CHRkeep_heads_checking'(set(A, J, K), I, set(A, J, X), Z)), (set(A, J, K), set_disjoint(A, B, C, D))), 408 !, 409 'CHRkill'(E), 410 coca(fired_rule(anonymous("31"))), 411 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__59'(H, I, set(A, J, K), L, M), 412 ( 413 'CHRhead_not_kept'(Z) 414 -> 415 set(A, J, X) 416 ; 417 true 418 ), 419 set(B, C, Y). 420'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__59'([A|B], C, D, E, F) :- 421 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__59'(B, C, D, E, F). 422'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__59'([], A, B, C, D) :- 423 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60'(B, A, C, D). 424:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__59' / 5, leash, notrace). 425'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60'(set(A, B, C), D, E, F) ?- 426 'CHRvar'(D), 427 !, 428 'CHRget_delayed_goals'(A, G), 429 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__61'(G, D, set(A, B, C), E, F). 430'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60'(set(A, B, C), D, E, F) :- 431 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62'(set(A, B, C), D, E, F). 432:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60' / 4, leash, notrace). 433'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__61'(['CHRset_3'(set(A, B, C), D, E, F)|G], H, set(A, I, J), K, L) ?- 434 'CHRvar'(D), 435 'CHRcheck_and_mark_applied'('12'(equality), H, D, K, E), 436 coca(try_double(L, set(A, I, J), F, set(A, B, C), set(M, N, O), set(M, P, Q), augmentation, ((s_union(N, P, R), s_intersection(O, Q, S)), 'CHRkeep_heads_checking'(set(M, N, O), T, set(M, P, Q), U, set(M, R, S), V)), 'CHRhead_not_kept'(V) -> set(M, R, S) ; true, equality)), 437 no_global_bindings(((s_union(I, B, W), s_intersection(J, C, X)), 'CHRkeep_heads_checking'(set(A, I, J), H, set(A, B, C), D, set(A, W, X), Y)), (set(A, I, J), set(A, B, C))), 438 !, 439 coca(fired_rule(equality)), 440 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__61'(G, H, set(A, I, J), K, L), 441 ( 442 'CHRhead_not_kept'(Y) 443 -> 444 set(A, W, X) 445 ; 446 true 447 ). 448'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__61'([A|B], C, D, E, F) :- 449 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__61'(B, C, D, E, F). 450'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__61'([], A, B, C, D) :- 451 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62'(B, A, C, D). 452:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__61' / 5, leash, notrace). 453'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62'(set(A, B, C), D, E, F) ?- 454 'CHRvar'(D), 455 !, 456 'CHRget_delayed_goals'(A, G), 457 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__63'(G, D, set(A, B, C), E, F). 458'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62'(set(A, B, C), D, E, F) :- 459 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64'(set(A, B, C), D, E, F). 460:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62' / 4, leash, notrace). 461'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__63'(['CHRset_3'(set(A, B, C), D, E, F)|G], H, set(A, I, J), K, L) ?- 462 'CHRvar'(D), 463 'CHRcheck_and_mark_applied'('21'(equality), H, D, K, E), 464 coca(try_double(L, set(A, I, J), F, set(A, B, C), set(M, N, O), set(M, P, Q), augmentation, ((s_union(P, N, R), s_intersection(Q, O, S)), 'CHRkeep_heads_checking'(set(M, P, Q), T, set(M, N, O), U, set(M, R, S), V)), 'CHRhead_not_kept'(V) -> set(M, R, S) ; true, equality)), 465 no_global_bindings(((s_union(B, I, W), s_intersection(C, J, X)), 'CHRkeep_heads_checking'(set(A, B, C), D, set(A, I, J), H, set(A, W, X), Y)), (set(A, I, J), set(A, B, C))), 466 !, 467 coca(fired_rule(equality)), 468 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__63'(G, H, set(A, I, J), K, L), 469 ( 470 'CHRhead_not_kept'(Y) 471 -> 472 set(A, W, X) 473 ; 474 true 475 ). 476'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__63'([A|B], C, D, E, F) :- 477 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__63'(B, C, D, E, F). 478'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__63'([], A, B, C, D) :- 479 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64'(B, A, C, D). 480:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__63' / 5, leash, notrace). 481'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64'(set(A, B, C), D, E, F) ?- 482 'CHRvar'(D), 483 !, 484 'CHRget_delayed_goals'(A, G), 485 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__65'(G, D, set(A, B, C), E, F). 486'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64'(set(A, B, C), D, E, F) :- 487 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66'(set(A, B, C), D, E, F). 488:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64' / 4, leash, notrace). 489'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__65'(['CHRincl_2'(incl(A, B), C, D, E)|F], G, set(A, H, I), J, K) ?- 490 'CHRvar'(C), 491 'CHRcheck_and_mark_applied'(anonymous("5"), G, C, J, D), 492 coca(try_double(K, set(A, H, I), E, incl(A, B), set(L, M, N), incl(L, O), augmentation, true, incl_set(L, M, N, O, P), anonymous("5"))), 493 !, 494 coca(fired_rule(anonymous("5"))), 495 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__65'(F, G, set(A, H, I), J, K), 496 incl_set(A, H, I, B, C). 497'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__65'([A|B], C, D, E, F) :- 498 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__65'(B, C, D, E, F). 499'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__65'([], A, B, C, D) :- 500 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66'(B, A, C, D). 501:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__65' / 5, leash, notrace). 502'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66'(set(A, B, C), D, E, F) ?- 503 'CHRvar'(D), 504 !, 505 'CHRget_delayed_goals'(A, G), 506 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__67'(G, D, set(A, B, C), E, F). 507'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66'(set(A, B, C), D, E, F) :- 508 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68'(set(A, B, C), D, E, F). 509:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66' / 4, leash, notrace). 510'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__67'(['CHR#_2'(#(A, B), C, D, E)|F], G, set(A, H, I), J, K) ?- 511 'CHRvar'(C), 512 'CHRcheck_and_mark_applied'(anonymous("8"), G, C, J, D), 513 coca(try_double(K, set(A, H, I), E, #(A, B), set(L, M, N), #(L, O), augmentation, true, (s_card(M, P), P =< O, s_card(N, Q), O =< Q), anonymous("8"))), 514 !, 515 coca(fired_rule(anonymous("8"))), 516 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__67'(F, G, set(A, H, I), J, K), 517 s_card(H, R), 518 R =< B, 519 s_card(I, S), 520 B =< S. 521'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__67'([A|B], C, D, E, F) :- 522 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__67'(B, C, D, E, F). 523'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__67'([], A, B, C, D) :- 524 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68'(B, A, C, D). 525:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__67' / 5, leash, notrace). 526'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68'(set(A, B, C), D, E, F) ?- 527 'CHRvar'(D), 528 !, 529 'CHRget_delayed_goals'(A, G), 530 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__69'(G, D, set(A, B, C), E, F). 531'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68'(set(A, B, C), D, E, F) :- 532 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70'(set(A, B, C), D, E, F). 533:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68' / 4, leash, notrace). 534'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__69'(['CHRset_union_3'(set_union(A, B, C), D, E, F)|G], H, set(A, I, J), K, L) ?- 535 'CHRvar'(D), 536 'CHRcheck_and_mark_applied'(anonymous("13"), H, D, K, E), 537 coca(try_double(L, set(A, I, J), F, set_union(A, B, C), set(M, N, O), set_union(M, P, Q), augmentation, true, union_set(P, M, N, O, Q), anonymous("13"))), 538 !, 539 coca(fired_rule(anonymous("13"))), 540 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__69'(G, H, set(A, I, J), K, L), 541 union_set(B, A, I, J, C). 542'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__69'([A|B], C, D, E, F) :- 543 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__69'(B, C, D, E, F). 544'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__69'([], A, B, C, D) :- 545 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70'(B, A, C, D). 546:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__69' / 5, leash, notrace). 547'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70'(set(A, B, C), D, E, F) ?- 548 'CHRvar'(D), 549 !, 550 'CHRget_delayed_goals'(A, G), 551 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__71'(G, D, set(A, B, C), E, F). 552'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70'(set(A, B, C), D, E, F) :- 553 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72'(set(A, B, C), D, E, F). 554:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70' / 4, leash, notrace). 555'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__71'(['CHRset_union_3'(set_union(A, B, C), D, E, F)|G], H, set(C, I, J), K, L) ?- 556 'CHRvar'(D), 557 'CHRcheck_and_mark_applied'(anonymous("15"), H, D, K, E), 558 coca(try_double(L, set(C, I, J), F, set_union(A, B, C), set(M, N, O), set_union(P, Q, M), augmentation, true, union_S(P, Q, N), anonymous("15"))), 559 !, 560 coca(fired_rule(anonymous("15"))), 561 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__71'(G, H, set(C, I, J), K, L), 562 union_S(A, B, I). 563'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__71'([A|B], C, D, E, F) :- 564 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__71'(B, C, D, E, F). 565'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__71'([], A, B, C, D) :- 566 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72'(B, A, C, D). 567:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__71' / 5, leash, notrace). 568'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72'(set(A, B, C), D, E, F) ?- 569 'CHRvar'(D), 570 !, 571 'CHRget_delayed_goals'(A, G), 572 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__73'(G, D, set(A, B, C), E, F). 573'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72'(set(A, B, C), D, E, F) :- 574 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74'(set(A, B, C), D, E, F). 575:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72' / 4, leash, notrace). 576'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__73'(['CHRset_union_3'(set_union(A, B, C), D, E, F)|G], H, set(B, I, J), K, L) ?- 577 'CHRvar'(D), 578 'CHRcheck_and_mark_applied'(anonymous("20"), H, D, K, E), 579 coca(try_double(L, set(B, I, J), F, set_union(A, B, C), set(M, N, O), set_union(P, M, Q), augmentation, (is_set(P), s_union(P, N, R), s_union(P, O, S)), set(Q, R, S), anonymous("20"))), 580 no_global_bindings((is_set(A), s_union(A, I, T), s_union(A, J, U)), (set(B, I, J), set_union(A, B, C))), 581 !, 582 coca(fired_rule(anonymous("20"))), 583 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__73'(G, H, set(B, I, J), K, L), 584 set(C, T, U). 585'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__73'([A|B], C, D, E, F) :- 586 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__73'(B, C, D, E, F). 587'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__73'([], A, B, C, D) :- 588 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74'(B, A, C, D). 589:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__73' / 5, leash, notrace). 590'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74'(set(A, B, C), D, E, F) ?- 591 'CHRvar'(D), 592 !, 593 'CHRget_delayed_goals'(A, G), 594 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__75'(G, D, set(A, B, C), E, F). 595'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74'(set(A, B, C), D, E, F) :- 596 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76'(set(A, B, C), D, E, F). 597:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74' / 4, leash, notrace). 598'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__75'(['CHRset_union_3'(set_union(A, B, C), D, E, F)|G], H, set(A, I, J), K, L) ?- 599 'CHRvar'(D), 600 'CHRcheck_and_mark_applied'(anonymous("21"), H, D, K, E), 601 coca(try_double(L, set(A, I, J), F, set_union(A, B, C), set(M, N, O), set_union(M, P, Q), augmentation, (is_set(P), s_union(P, N, R), s_union(P, O, S)), set(Q, R, S), anonymous("21"))), 602 no_global_bindings((is_set(B), s_union(B, I, T), s_union(B, J, U)), (set(A, I, J), set_union(A, B, C))), 603 !, 604 coca(fired_rule(anonymous("21"))), 605 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__75'(G, H, set(A, I, J), K, L), 606 set(C, T, U). 607'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__75'([A|B], C, D, E, F) :- 608 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__75'(B, C, D, E, F). 609'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__75'([], A, B, C, D) :- 610 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76'(B, A, C, D). 611:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__75' / 5, leash, notrace). 612'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76'(set(A, B, C), D, E, F) ?- 613 'CHRvar'(D), 614 !, 615 'CHRget_delayed_goals'(A, G), 616 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__77'(G, D, set(A, B, C), E, F). 617'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76'(set(A, B, C), D, E, F) :- 618 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78'(set(A, B, C), D, E, F). 619:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76' / 4, leash, notrace). 620'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__77'(['CHRground_union_3'(ground_union(A, B, C), D, E, F)|G], H, set(A, I, J), K, L) ?- 621 'CHRvar'(D), 622 'CHRcheck_and_mark_applied'(anonymous("25"), H, D, K, E), 623 coca(try_double(L, set(A, I, J), F, ground_union(A, B, C), set(M, N, O), ground_union(M, P, Q), augmentation, true, (s_delta(Q, O, R), incl(R, P)), anonymous("25"))), 624 !, 625 coca(fired_rule(anonymous("25"))), 626 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__77'(G, H, set(A, I, J), K, L), 627 s_delta(C, J, S), 628 incl(S, B). 629'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__77'([A|B], C, D, E, F) :- 630 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__77'(B, C, D, E, F). 631'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__77'([], A, B, C, D) :- 632 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78'(B, A, C, D). 633:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__77' / 5, leash, notrace). 634'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78'(set(A, B, C), D, E, F) ?- 635 'CHRvar'(D), 636 !, 637 'CHRget_delayed_goals'(A, G), 638 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78__79'(G, D, set(A, B, C), E, F). 639'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78'(set(A, B, C), D, E, F) :- 640 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78__80'(set(A, B, C), D, E, F). 641:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78' / 4, leash, notrace). 642'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78__79'(['CHRground_union_3'(ground_union(A, B, C), D, E, F)|G], H, set(B, I, J), K, L) ?- 643 'CHRvar'(D), 644 'CHRcheck_and_mark_applied'(anonymous("26"), H, D, K, E), 645 coca(try_double(L, set(B, I, J), F, ground_union(A, B, C), set(M, N, O), ground_union(P, M, Q), augmentation, true, (s_delta(Q, O, R), incl(R, P)), anonymous("26"))), 646 !, 647 coca(fired_rule(anonymous("26"))), 648 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78__79'(G, H, set(B, I, J), K, L), 649 s_delta(C, J, S), 650 incl(S, A). 651'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78__79'([A|B], C, D, E, F) :- 652 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78__79'(B, C, D, E, F). 653'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78__79'([], A, B, C, D) :- 654 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78__80'(B, A, C, D). 655:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78__79' / 5, leash, notrace). 656'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78__80'(set(A, B, C), D, E, F) ?- 657 'CHRvar'(D), 658 !, 659 'CHRget_delayed_goals'(A, G), 660 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78__80__81'(G, D, set(A, B, C), E, F). 661'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78__80'(set(A, B, C), D, E, F) :- 662 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78__80__82'(set(A, B, C), D, E, F). 663:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78__80' / 4, leash, notrace). 664'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78__80__81'(['CHRdisjoint_2'(disjoint(A, B), C, D, E)|F], G, set(A, H, I), J, K) ?- 665 'CHRvar'(C), 666 'CHRcheck_and_mark_applied'(anonymous("30"), G, C, J, D), 667 coca(try_double(K, set(A, H, I), E, disjoint(A, B), set(L, M, N), disjoint(L, O), augmentation, true, set_disjoint(O, L, M, N), anonymous("30"))), 668 !, 669 coca(fired_rule(anonymous("30"))), 670 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78__80__81'(F, G, set(A, H, I), J, K), 671 set_disjoint(B, A, H, I). 672'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78__80__81'([A|B], C, D, E, F) :- 673 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78__80__81'(B, C, D, E, F). 674'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78__80__81'([], A, B, C, D) :- 675 'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78__80__82'(B, A, C, D). 676:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78__80__81' / 5, leash, notrace). 677'CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78__80__82'(set(A, B, C), D, E, F) :- 678 ( 679 'CHRvar'(D) 680 -> 681 'CHRdelay'([D, set(A, B, C)], 'CHRset_3'(set(A, B, C), D, E, F)) 682 ; 683 true 684 ). 685:- set_flag('CHRset_3__36__38__40__42__44__46__48__50__52__54__56__58__60__62__64__66__68__70__72__74__76__78__80__82' / 4, leash, notrace). 686in(A, B) :- 687 'CHRgen_num'(C), 688 coca(add_one_constraint(C, in(A, B))), 689 'CHRin_2'(in(A, B), D, E, C). 690 691 692 693%%% Rules handling for in / 2 694 695'CHRin_2'(in(A, B), C, D, E) :- 696 ( 697 'CHRnonvar'(C) 698 ; 699 'CHRalready_in'('CHRin_2'(in(A, B), C, D, E)), 700 coca(already_in) 701 ), 702 !. 703'CHRin_2'(in(A, B), C, D, E) ?- 704 'CHRget_delayed_goals'(B, F), 705 'CHRin_2__84'(F, [B], [G, H, I], J), 706 coca(try_double(E, in(A, B), J, set(B, I, H), in(K, L), set(L, M, N), keep_second, ((nonvar(K), s_insertion(K, M, O)), 'CHRkeep_heads_checking'(set(L, M, N), P, set(L, O, N), Q)), (s_memberchk(K, N), ('CHRhead_not_kept'(Q) -> set(L, O, N) ; true)), belonging)), 707 no_global_bindings(((nonvar(A), s_insertion(A, I, R)), 'CHRkeep_heads_checking'(set(B, I, H), G, set(B, R, H), S)), (in(A, B), set(B, I, H))), 708 !, 709 'CHRkill'(C), 710 coca(fired_rule(belonging)), 711 s_memberchk(A, H), 712 ( 713 'CHRhead_not_kept'(S) 714 -> 715 set(B, R, H) 716 ; 717 true 718 ). 719'CHRin_2'(in(A, B), C, D, E) :- 720 'CHRin_2__83'(in(A, B), C, D, E). 721'CHRin_2__84'(['CHRset_3'(set(A, B, C), D, E, F)|G], [A], [H, I, J], K) ?- 722 'CHRvar'(D), 723 'CHR='([D, C, B], [H, I, J]), 724 'CHR='(F, K). 725'CHRin_2__84'([A|B], C, D, E) :- 726 'CHRin_2__84'(B, C, D, E). 727:- set_flag('CHRin_2__84' / 4, leash, notrace). 728:- set_flag('CHRin_2' / 4, leash, notrace). 729:- current_macro('CHRin_2' / 4, _27523, _27524, _27525) -> true ; define_macro('CHRin_2' / 4, tr_chr / 2, [write]). 730'CHRin_2__83'(A, B, C, D) :- 731 'CHRin_2__85'(A, B, C, D). 732:- set_flag('CHRin_2__83' / 4, leash, notrace). 733'CHRin_2__85'(in(A, B), C, D, E) :- 734 ( 735 'CHRvar'(C) 736 -> 737 'CHRdelay'([C, in(A, B)], 'CHRin_2'(in(A, B), C, D, E)) 738 ; 739 true 740 ). 741:- set_flag('CHRin_2__85' / 4, leash, notrace). 742notin(A, B) :- 743 'CHRgen_num'(C), 744 coca(add_one_constraint(C, notin(A, B))), 745 'CHRnotin_2'(notin(A, B), D, E, C). 746 747 748 749%%% Rules handling for notin / 2 750 751'CHRnotin_2'(notin(A, B), C, D, E) :- 752 ( 753 'CHRnonvar'(C) 754 ; 755 'CHRalready_in'('CHRnotin_2'(notin(A, B), C, D, E)), 756 coca(already_in) 757 ), 758 !. 759'CHRnotin_2'(notin(A, B), C, D, E) ?- 760 'CHRget_delayed_goals'(B, F), 761 'CHRnotin_2__87'(F, [B], [G, H, I], J), 762 coca(try_double(E, notin(A, B), J, set(B, I, H), notin(K, L), set(L, M, N), keep_second, ((nonvar(K), list2set([K], O), s_delta(N, O, P)), 'CHRkeep_heads_checking'(set(L, M, N), Q, set(L, M, P), R)), (\+ s_memberchk(K, M), ('CHRhead_not_kept'(R) -> set(L, M, P) ; true)), not_belonging)), 763 no_global_bindings(((nonvar(A), list2set([A], S), s_delta(H, S, T)), 'CHRkeep_heads_checking'(set(B, I, H), G, set(B, I, T), U)), (notin(A, B), set(B, I, H))), 764 !, 765 'CHRkill'(C), 766 coca(fired_rule(not_belonging)), 767 \+ s_memberchk(A, I), 768 ( 769 'CHRhead_not_kept'(U) 770 -> 771 set(B, I, T) 772 ; 773 true 774 ). 775'CHRnotin_2'(notin(A, B), C, D, E) :- 776 'CHRnotin_2__86'(notin(A, B), C, D, E). 777'CHRnotin_2__87'(['CHRset_3'(set(A, B, C), D, E, F)|G], [A], [H, I, J], K) ?- 778 'CHRvar'(D), 779 'CHR='([D, C, B], [H, I, J]), 780 'CHR='(F, K). 781'CHRnotin_2__87'([A|B], C, D, E) :- 782 'CHRnotin_2__87'(B, C, D, E). 783:- set_flag('CHRnotin_2__87' / 4, leash, notrace). 784:- set_flag('CHRnotin_2' / 4, leash, notrace). 785:- current_macro('CHRnotin_2' / 4, _28743, _28744, _28745) -> true ; define_macro('CHRnotin_2' / 4, tr_chr / 2, [write]). 786'CHRnotin_2__86'(A, B, C, D) :- 787 'CHRnotin_2__88'(A, B, C, D). 788:- set_flag('CHRnotin_2__86' / 4, leash, notrace). 789'CHRnotin_2__88'(notin(A, B), C, D, E) :- 790 ( 791 'CHRvar'(C) 792 -> 793 'CHRdelay'([C, notin(A, B)], 'CHRnotin_2'(notin(A, B), C, D, E)) 794 ; 795 true 796 ). 797:- set_flag('CHRnotin_2__88' / 4, leash, notrace). 798incl(A, B) :- 799 'CHRgen_num'(C), 800 coca(add_one_constraint(C, incl(A, B))), 801 'CHRincl_2'(incl(A, B), D, E, C). 802 803 804 805%%% Rules handling for incl / 2 806 807'CHRincl_2'(incl(A, B), C, D, E) :- 808 ( 809 'CHRnonvar'(C) 810 ; 811 'CHRalready_in'('CHRincl_2'(incl(A, B), C, D, E)), 812 coca(already_in) 813 ), 814 !. 815'CHRincl_2'(incl(A, B), C, D, E) ?- 816 coca(try_rule(E, incl(A, B), anonymous("4"), incl(F, G), replacement, (is_set(F), is_set(G)), s_included(F, G))), 817 no_global_bindings((is_set(A), is_set(B)), incl(A, B)), 818 !, 819 'CHRkill'(C), 820 coca(fired_rule(anonymous("4"))), 821 s_included(A, B). 822'CHRincl_2'(incl(A, B), C, D, E) ?- 823 'CHRget_delayed_goals'(B, F), 824 'CHRincl_2__90'(F, [B], [G, H, I], J), 825 coca(try_double(E, incl(A, B), J, set(B, I, H), incl(K, L), set(L, M, N), keep_second, ((is_set(K), s_union(K, M, O)), 'CHRkeep_heads_checking'(set(L, M, N), P, set(L, O, N), Q)), 'CHRhead_not_kept'(Q) -> set(L, O, N) ; true, anonymous("2"))), 826 no_global_bindings(((is_set(A), s_union(A, I, R)), 'CHRkeep_heads_checking'(set(B, I, H), G, set(B, R, H), S)), (incl(A, B), set(B, I, H))), 827 !, 828 'CHRkill'(C), 829 coca(fired_rule(anonymous("2"))), 830 ( 831 'CHRhead_not_kept'(S) 832 -> 833 set(B, R, H) 834 ; 835 true 836 ). 837'CHRincl_2'(incl(A, B), C, D, E) ?- 838 'CHRget_delayed_goals'(A, F), 839 'CHRincl_2__91'(F, [A], [G, H, I], J), 840 coca(try_double(E, incl(A, B), J, set(A, I, H), incl(K, L), set(K, M, N), keep_second, ((is_set(L), s_intersection(L, N, O)), 'CHRkeep_heads_checking'(set(K, M, N), P, set(K, M, O), Q)), 'CHRhead_not_kept'(Q) -> set(K, M, O) ; true, anonymous("3"))), 841 no_global_bindings(((is_set(B), s_intersection(B, H, R)), 'CHRkeep_heads_checking'(set(A, I, H), G, set(A, I, R), S)), (incl(A, B), set(A, I, H))), 842 !, 843 'CHRkill'(C), 844 coca(fired_rule(anonymous("3"))), 845 ( 846 'CHRhead_not_kept'(S) 847 -> 848 set(A, I, R) 849 ; 850 true 851 ). 852'CHRincl_2'(incl(A, B), C, D, E) :- 853 'CHRincl_2__89'(incl(A, B), C, D, E). 854'CHRincl_2__90'(['CHRset_3'(set(A, B, C), D, E, F)|G], [A], [H, I, J], K) ?- 855 'CHRvar'(D), 856 'CHR='([D, C, B], [H, I, J]), 857 'CHR='(F, K). 858'CHRincl_2__90'([A|B], C, D, E) :- 859 'CHRincl_2__90'(B, C, D, E). 860:- set_flag('CHRincl_2__90' / 4, leash, notrace). 861'CHRincl_2__91'(['CHRset_3'(set(A, B, C), D, E, F)|G], [A], [H, I, J], K) ?- 862 'CHRvar'(D), 863 'CHR='([D, C, B], [H, I, J]), 864 'CHR='(F, K). 865'CHRincl_2__91'([A|B], C, D, E) :- 866 'CHRincl_2__91'(B, C, D, E). 867:- set_flag('CHRincl_2__91' / 4, leash, notrace). 868:- set_flag('CHRincl_2' / 4, leash, notrace). 869:- current_macro('CHRincl_2' / 4, _30663, _30664, _30665) -> true ; define_macro('CHRincl_2' / 4, tr_chr / 2, [write]). 870'CHRincl_2__89'(A, B, C, D) :- 871 'CHRincl_2__92'(A, B, C, D). 872:- set_flag('CHRincl_2__89' / 4, leash, notrace). 873'CHRincl_2__92'(incl(A, B), C, D, E) ?- 874 'CHRvar'(C), 875 !, 876 'CHRget_delayed_goals'(A, F), 877 'CHRincl_2__92__93'(F, C, incl(A, B), D, E). 878'CHRincl_2__92'(incl(A, B), C, D, E) :- 879 'CHRincl_2__92__94'(incl(A, B), C, D, E). 880:- set_flag('CHRincl_2__92' / 4, leash, notrace). 881'CHRincl_2__92__93'(['CHRset_3'(set(A, B, C), D, E, F)|G], H, incl(A, I), J, K) ?- 882 'CHRvar'(D), 883 'CHRcheck_and_mark_applied'(anonymous("5"), H, D, J, E), 884 coca(try_double(K, incl(A, I), F, set(A, B, C), incl(L, M), set(L, N, O), augmentation, true, incl_set(L, N, O, M, P), anonymous("5"))), 885 !, 886 coca(fired_rule(anonymous("5"))), 887 'CHRincl_2__92__93'(G, H, incl(A, I), J, K), 888 incl_set(A, B, C, I, H). 889'CHRincl_2__92__93'([A|B], C, D, E, F) :- 890 'CHRincl_2__92__93'(B, C, D, E, F). 891'CHRincl_2__92__93'([], A, B, C, D) :- 892 'CHRincl_2__92__94'(B, A, C, D). 893:- set_flag('CHRincl_2__92__93' / 5, leash, notrace). 894'CHRincl_2__92__94'(incl(A, B), C, D, E) :- 895 ( 896 'CHRvar'(C) 897 -> 898 'CHRdelay'([C, incl(A, B)], 'CHRincl_2'(incl(A, B), C, D, E)) 899 ; 900 true 901 ). 902:- set_flag('CHRincl_2__92__94' / 4, leash, notrace). 903#(A, B) :- 904 'CHRgen_num'(C), 905 coca(add_one_constraint(C, #(A, B))), 906 'CHR#_2'(#(A, B), D, E, C). 907 908 909 910%%% Rules handling for # / 2 911 912'CHR#_2'(#(A, B), C, D, E) :- 913 ( 914 'CHRnonvar'(C) 915 ; 916 'CHRalready_in'('CHR#_2'(#(A, B), C, D, E)), 917 coca(already_in) 918 ), 919 !. 920'CHR#_2'(#(A, B), C, D, E) ?- 921 coca(try_rule(E, #(A, B), anonymous("11"), #(F, G), replacement, is_set(F), s_card(F, G))), 922 no_global_bindings(is_set(A), #(A, B)), 923 !, 924 'CHRkill'(C), 925 coca(fired_rule(anonymous("11"))), 926 s_card(A, B). 927'CHR#_2'(#(A, B), C, D, E) ?- 928 'CHRget_delayed_goals'(A, F), 929 'CHR#_2__96'(F, [A], [G], H), 930 coca(try_double(E, #(A, B), H, set(A, G, I), #(J, K), set(J, L, M), replacement, s_card(L, K), J = L, anonymous("9"))), 931 no_global_bindings(s_card(G, B), (#(A, B), set(A, G, I))), 932 !, 933 'CHRkill'(C), 934 coca(fired_rule(anonymous("9"))), 935 A = G. 936'CHR#_2'(#(A, B), C, D, E) ?- 937 'CHRget_delayed_goals'(A, F), 938 'CHR#_2__97'(F, [A], [G], H), 939 coca(try_double(E, #(A, B), H, set(A, I, G), #(J, K), set(J, L, M), replacement, s_card(M, K), J = M, anonymous("10"))), 940 no_global_bindings(s_card(G, B), (#(A, B), set(A, I, G))), 941 !, 942 'CHRkill'(C), 943 coca(fired_rule(anonymous("10"))), 944 A = G. 945'CHR#_2'(#(A, B), C, D, E) :- 946 'CHR#_2__95'(#(A, B), C, D, E). 947'CHR#_2__96'(['CHRset_3'(set(A, B, C), D, E, F)|G], [A], [H], I) ?- 948 'CHRvar'(D), 949 'CHRkill'(D), 950 'CHR='([B], [H]), 951 'CHR='(F, I). 952'CHR#_2__96'([A|B], C, D, E) :- 953 'CHR#_2__96'(B, C, D, E). 954:- set_flag('CHR#_2__96' / 4, leash, notrace). 955'CHR#_2__97'(['CHRset_3'(set(A, B, C), D, E, F)|G], [A], [H], I) ?- 956 'CHRvar'(D), 957 'CHRkill'(D), 958 'CHR='([C], [H]), 959 'CHR='(F, I). 960'CHR#_2__97'([A|B], C, D, E) :- 961 'CHR#_2__97'(B, C, D, E). 962:- set_flag('CHR#_2__97' / 4, leash, notrace). 963:- set_flag('CHR#_2' / 4, leash, notrace). 964:- current_macro('CHR#_2' / 4, _32996, _32997, _32998) -> true ; define_macro('CHR#_2' / 4, tr_chr / 2, [write]). 965'CHR#_2__95'(A, B, C, D) :- 966 'CHR#_2__98'(A, B, C, D). 967:- set_flag('CHR#_2__95' / 4, leash, notrace). 968'CHR#_2__98'(#(A, B), C, D, E) ?- 969 'CHRvar'(C), 970 !, 971 'CHRget_delayed_goals'(A, F), 972 'CHR#_2__98__99'(F, C, #(A, B), D, E). 973'CHR#_2__98'(#(A, B), C, D, E) :- 974 'CHR#_2__98__100'(#(A, B), C, D, E). 975:- set_flag('CHR#_2__98' / 4, leash, notrace). 976'CHR#_2__98__99'(['CHRset_3'(set(A, B, C), D, E, F)|G], H, #(A, I), J, K) ?- 977 'CHRvar'(D), 978 'CHRcheck_and_mark_applied'(anonymous("8"), H, D, J, E), 979 coca(try_double(K, #(A, I), F, set(A, B, C), #(L, M), set(L, N, O), augmentation, true, (s_card(N, P), P =< M, s_card(O, Q), M =< Q), anonymous("8"))), 980 !, 981 coca(fired_rule(anonymous("8"))), 982 'CHR#_2__98__99'(G, H, #(A, I), J, K), 983 s_card(B, R), 984 R =< I, 985 s_card(C, S), 986 I =< S. 987'CHR#_2__98__99'([A|B], C, D, E, F) :- 988 'CHR#_2__98__99'(B, C, D, E, F). 989'CHR#_2__98__99'([], A, B, C, D) :- 990 'CHR#_2__98__100'(B, A, C, D). 991:- set_flag('CHR#_2__98__99' / 5, leash, notrace). 992'CHR#_2__98__100'(#(A, B), C, D, E) :- 993 ( 994 'CHRvar'(C) 995 -> 996 'CHRdelay'([C, #(A, B)], 'CHR#_2'(#(A, B), C, D, E)) 997 ; 998 true 999 ). 1000:- set_flag('CHR#_2__98__100' / 4, leash, notrace). 1001set_union(A, B, C) :- 1002 'CHRgen_num'(D), 1003 coca(add_one_constraint(D, set_union(A, B, C))), 1004 'CHRset_union_3'(set_union(A, B, C), E, F, D). 1005 1006 1007 1008%%% Rules handling for set_union / 3 1009 1010'CHRset_union_3'(set_union(A, B, C), D, E, F) :- 1011 ( 1012 'CHRnonvar'(D) 1013 ; 1014 'CHRalready_in'('CHRset_union_3'(set_union(A, B, C), D, E, F)), 1015 coca(already_in) 1016 ), 1017 !. 1018'CHRset_union_3'(set_union(A, B, C), D, E, F) ?- 1019 coca(try_rule(F, set_union(A, B, C), anonymous("19"), set_union(G, H, I), replacement, (is_set(G), is_set(H)), s_union(G, H, I))), 1020 no_global_bindings((is_set(A), is_set(B)), set_union(A, B, C)), 1021 !, 1022 'CHRkill'(D), 1023 coca(fired_rule(anonymous("19"))), 1024 s_union(A, B, C). 1025'CHRset_union_3'(set_union(A, B, C), D, E, F) ?- 1026 coca(try_rule(F, set_union(A, B, C), anonymous("22"), set_union(G, H, I), replacement, is_set(I), ground_union(G, H, I))), 1027 no_global_bindings(is_set(C), set_union(A, B, C)), 1028 !, 1029 'CHRkill'(D), 1030 coca(fired_rule(anonymous("22"))), 1031 ground_union(A, B, C). 1032'CHRset_union_3'(set_union(A, B, C), D, E, F) :- 1033 'CHRset_union_3__101'(set_union(A, B, C), D, E, F). 1034:- set_flag('CHRset_union_3' / 4, leash, notrace). 1035:- current_macro('CHRset_union_3' / 4, _34584, _34585, _34586) -> true ; define_macro('CHRset_union_3' / 4, tr_chr / 2, [write]). 1036'CHRset_union_3__101'(set_union(A, B, C), D, E, F) ?- 1037 'CHRvar'(D), 1038 'CHRcheck_and_mark_applied'('CHRset_union_3__101', E), 1039 coca(try_rule(F, set_union(A, B, C), anonymous("12"), set_union(G, H, I), augmentation, true, (incl(G, I), incl(H, I)))), 1040 !, 1041 'CHRset_union_3__101__103'(set_union(A, B, C), D, E, F), 1042 coca(fired_rule(anonymous("12"))), 1043 incl(A, C), 1044 incl(B, C). 1045'CHRset_union_3__101'(A, B, C, D) ?- 1046 'CHRset_union_3__101__103'(A, B, C, D). 1047:- set_flag('CHRset_union_3__101' / 4, leash, notrace). 1048'CHRset_union_3__101__103'(A, B, C, D) :- 1049 'CHRset_union_3__102'(A, B, C, D). 1050:- set_flag('CHRset_union_3__101__103' / 4, leash, notrace). 1051'CHRset_union_3__102'(set_union(A, B, C), D, E, F) ?- 1052 'CHRvar'(D), 1053 !, 1054 'CHRget_delayed_goals'(A, G), 1055 'CHRset_union_3__102__104'(G, D, set_union(A, B, C), E, F). 1056'CHRset_union_3__102'(set_union(A, B, C), D, E, F) :- 1057 'CHRset_union_3__102__105'(set_union(A, B, C), D, E, F). 1058:- set_flag('CHRset_union_3__102' / 4, leash, notrace). 1059'CHRset_union_3__102__104'(['CHRset_3'(set(A, B, C), D, E, F)|G], H, set_union(A, I, J), K, L) ?- 1060 'CHRvar'(D), 1061 'CHRcheck_and_mark_applied'(anonymous("13"), H, D, K, E), 1062 coca(try_double(L, set_union(A, I, J), F, set(A, B, C), set_union(M, N, O), set(M, P, Q), augmentation, true, union_set(N, M, P, Q, O), anonymous("13"))), 1063 !, 1064 coca(fired_rule(anonymous("13"))), 1065 'CHRset_union_3__102__104'(G, H, set_union(A, I, J), K, L), 1066 union_set(I, A, B, C, J). 1067'CHRset_union_3__102__104'([A|B], C, D, E, F) :- 1068 'CHRset_union_3__102__104'(B, C, D, E, F). 1069'CHRset_union_3__102__104'([], A, B, C, D) :- 1070 'CHRset_union_3__102__105'(B, A, C, D). 1071:- set_flag('CHRset_union_3__102__104' / 5, leash, notrace). 1072'CHRset_union_3__102__105'(set_union(A, B, C), D, E, F) ?- 1073 'CHRvar'(D), 1074 !, 1075 'CHRget_delayed_goals'(C, G), 1076 'CHRset_union_3__102__105__106'(G, D, set_union(A, B, C), E, F). 1077'CHRset_union_3__102__105'(set_union(A, B, C), D, E, F) :- 1078 'CHRset_union_3__102__105__107'(set_union(A, B, C), D, E, F). 1079:- set_flag('CHRset_union_3__102__105' / 4, leash, notrace). 1080'CHRset_union_3__102__105__106'(['CHRset_3'(set(A, B, C), D, E, F)|G], H, set_union(I, J, A), K, L) ?- 1081 'CHRvar'(D), 1082 'CHRcheck_and_mark_applied'(anonymous("15"), H, D, K, E), 1083 coca(try_double(L, set_union(I, J, A), F, set(A, B, C), set_union(M, N, O), set(O, P, Q), augmentation, true, union_S(M, N, P), anonymous("15"))), 1084 !, 1085 coca(fired_rule(anonymous("15"))), 1086 'CHRset_union_3__102__105__106'(G, H, set_union(I, J, A), K, L), 1087 union_S(I, J, B). 1088'CHRset_union_3__102__105__106'([A|B], C, D, E, F) :- 1089 'CHRset_union_3__102__105__106'(B, C, D, E, F). 1090'CHRset_union_3__102__105__106'([], A, B, C, D) :- 1091 'CHRset_union_3__102__105__107'(B, A, C, D). 1092:- set_flag('CHRset_union_3__102__105__106' / 5, leash, notrace). 1093'CHRset_union_3__102__105__107'(set_union(A, B, C), D, E, F) ?- 1094 'CHRvar'(D), 1095 !, 1096 'CHRget_delayed_goals'(B, G), 1097 'CHRset_union_3__102__105__107__108'(G, D, set_union(A, B, C), E, F). 1098'CHRset_union_3__102__105__107'(set_union(A, B, C), D, E, F) :- 1099 'CHRset_union_3__102__105__107__109'(set_union(A, B, C), D, E, F). 1100:- set_flag('CHRset_union_3__102__105__107' / 4, leash, notrace). 1101'CHRset_union_3__102__105__107__108'(['CHRset_3'(set(A, B, C), D, E, F)|G], H, set_union(I, A, J), K, L) ?- 1102 'CHRvar'(D), 1103 'CHRcheck_and_mark_applied'(anonymous("20"), H, D, K, E), 1104 coca(try_double(L, set_union(I, A, J), F, set(A, B, C), set_union(M, N, O), set(N, P, Q), augmentation, (is_set(M), s_union(M, P, R), s_union(M, Q, S)), set(O, R, S), anonymous("20"))), 1105 no_global_bindings((is_set(I), s_union(I, B, T), s_union(I, C, U)), (set_union(I, A, J), set(A, B, C))), 1106 !, 1107 coca(fired_rule(anonymous("20"))), 1108 'CHRset_union_3__102__105__107__108'(G, H, set_union(I, A, J), K, L), 1109 set(J, T, U). 1110'CHRset_union_3__102__105__107__108'([A|B], C, D, E, F) :- 1111 'CHRset_union_3__102__105__107__108'(B, C, D, E, F). 1112'CHRset_union_3__102__105__107__108'([], A, B, C, D) :- 1113 'CHRset_union_3__102__105__107__109'(B, A, C, D). 1114:- set_flag('CHRset_union_3__102__105__107__108' / 5, leash, notrace). 1115'CHRset_union_3__102__105__107__109'(set_union(A, B, C), D, E, F) ?- 1116 'CHRvar'(D), 1117 !, 1118 'CHRget_delayed_goals'(A, G), 1119 'CHRset_union_3__102__105__107__109__110'(G, D, set_union(A, B, C), E, F). 1120'CHRset_union_3__102__105__107__109'(set_union(A, B, C), D, E, F) :- 1121 'CHRset_union_3__102__105__107__109__111'(set_union(A, B, C), D, E, F). 1122:- set_flag('CHRset_union_3__102__105__107__109' / 4, leash, notrace). 1123'CHRset_union_3__102__105__107__109__110'(['CHRset_3'(set(A, B, C), D, E, F)|G], H, set_union(A, I, J), K, L) ?- 1124 'CHRvar'(D), 1125 'CHRcheck_and_mark_applied'(anonymous("21"), H, D, K, E), 1126 coca(try_double(L, set_union(A, I, J), F, set(A, B, C), set_union(M, N, O), set(M, P, Q), augmentation, (is_set(N), s_union(N, P, R), s_union(N, Q, S)), set(O, R, S), anonymous("21"))), 1127 no_global_bindings((is_set(I), s_union(I, B, T), s_union(I, C, U)), (set_union(A, I, J), set(A, B, C))), 1128 !, 1129 coca(fired_rule(anonymous("21"))), 1130 'CHRset_union_3__102__105__107__109__110'(G, H, set_union(A, I, J), K, L), 1131 set(J, T, U). 1132'CHRset_union_3__102__105__107__109__110'([A|B], C, D, E, F) :- 1133 'CHRset_union_3__102__105__107__109__110'(B, C, D, E, F). 1134'CHRset_union_3__102__105__107__109__110'([], A, B, C, D) :- 1135 'CHRset_union_3__102__105__107__109__111'(B, A, C, D). 1136:- set_flag('CHRset_union_3__102__105__107__109__110' / 5, leash, notrace). 1137'CHRset_union_3__102__105__107__109__111'(set_union(A, B, C), D, E, F) :- 1138 ( 1139 'CHRvar'(D) 1140 -> 1141 'CHRdelay'([D, set_union(A, B, C)], 'CHRset_union_3'(set_union(A, B, C), D, E, F)) 1142 ; 1143 true 1144 ). 1145:- set_flag('CHRset_union_3__102__105__107__109__111' / 4, leash, notrace). 1146disjoint(A, B) :- 1147 'CHRgen_num'(C), 1148 coca(add_one_constraint(C, disjoint(A, B))), 1149 'CHRdisjoint_2'(disjoint(A, B), D, E, C). 1150 1151 1152 1153%%% Rules handling for disjoint / 2 1154 1155'CHRdisjoint_2'(disjoint(A, B), C, D, E) :- 1156 ( 1157 'CHRnonvar'(C) 1158 ; 1159 'CHRalready_in'('CHRdisjoint_2'(disjoint(A, B), C, D, E)), 1160 coca(already_in) 1161 ), 1162 !. 1163'CHRdisjoint_2'(disjoint(A, B), C, D, E) ?- 1164 coca(try_rule(E, disjoint(A, B), anonymous("27"), disjoint(F, G), replacement, (is_set(F), is_set(G)), s_intersection(F, G, {}))), 1165 no_global_bindings((is_set(A), is_set(B)), disjoint(A, B)), 1166 !, 1167 'CHRkill'(C), 1168 coca(fired_rule(anonymous("27"))), 1169 s_intersection(A, B, {}). 1170'CHRdisjoint_2'(disjoint(A, B), C, D, E) ?- 1171 'CHRget_delayed_goals'(B, F), 1172 'CHRdisjoint_2__113'(F, [B], [G, H, I], J), 1173 coca(try_double(E, disjoint(A, B), J, set(B, I, H), disjoint(K, L), set(L, M, N), keep_second, ((is_set(K), s_delta(N, K, O)), 'CHRkeep_heads_checking'(set(L, M, N), P, set(L, M, O), Q)), 'CHRhead_not_kept'(Q) -> set(L, M, O) ; true, anonymous("28"))), 1174 no_global_bindings(((is_set(A), s_delta(H, A, R)), 'CHRkeep_heads_checking'(set(B, I, H), G, set(B, I, R), S)), (disjoint(A, B), set(B, I, H))), 1175 !, 1176 'CHRkill'(C), 1177 coca(fired_rule(anonymous("28"))), 1178 ( 1179 'CHRhead_not_kept'(S) 1180 -> 1181 set(B, I, R) 1182 ; 1183 true 1184 ). 1185'CHRdisjoint_2'(disjoint(A, B), C, D, E) ?- 1186 'CHRget_delayed_goals'(A, F), 1187 'CHRdisjoint_2__114'(F, [A], [G, H, I], J), 1188 coca(try_double(E, disjoint(A, B), J, set(A, I, H), disjoint(K, L), set(K, M, N), keep_second, ((is_set(L), s_delta(N, L, O)), 'CHRkeep_heads_checking'(set(K, M, N), P, set(K, M, O), Q)), 'CHRhead_not_kept'(Q) -> set(K, M, O) ; true, anonymous("29"))), 1189 no_global_bindings(((is_set(B), s_delta(H, B, R)), 'CHRkeep_heads_checking'(set(A, I, H), G, set(A, I, R), S)), (disjoint(A, B), set(A, I, H))), 1190 !, 1191 'CHRkill'(C), 1192 coca(fired_rule(anonymous("29"))), 1193 ( 1194 'CHRhead_not_kept'(S) 1195 -> 1196 set(A, I, R) 1197 ; 1198 true 1199 ). 1200'CHRdisjoint_2'(disjoint(A, B), C, D, E) :- 1201 'CHRdisjoint_2__112'(disjoint(A, B), C, D, E). 1202'CHRdisjoint_2__113'(['CHRset_3'(set(A, B, C), D, E, F)|G], [A], [H, I, J], K) ?- 1203 'CHRvar'(D), 1204 'CHR='([D, C, B], [H, I, J]), 1205 'CHR='(F, K). 1206'CHRdisjoint_2__113'([A|B], C, D, E) :- 1207 'CHRdisjoint_2__113'(B, C, D, E). 1208:- set_flag('CHRdisjoint_2__113' / 4, leash, notrace). 1209'CHRdisjoint_2__114'(['CHRset_3'(set(A, B, C), D, E, F)|G], [A], [H, I, J], K) ?- 1210 'CHRvar'(D), 1211 'CHR='([D, C, B], [H, I, J]), 1212 'CHR='(F, K). 1213'CHRdisjoint_2__114'([A|B], C, D, E) :- 1214 'CHRdisjoint_2__114'(B, C, D, E). 1215:- set_flag('CHRdisjoint_2__114' / 4, leash, notrace). 1216:- set_flag('CHRdisjoint_2' / 4, leash, notrace). 1217:- current_macro('CHRdisjoint_2' / 4, _39330, _39331, _39332) -> true ; define_macro('CHRdisjoint_2' / 4, tr_chr / 2, [write]). 1218'CHRdisjoint_2__112'(A, B, C, D) :- 1219 'CHRdisjoint_2__115'(A, B, C, D). 1220:- set_flag('CHRdisjoint_2__112' / 4, leash, notrace). 1221'CHRdisjoint_2__115'(disjoint(A, B), C, D, E) ?- 1222 'CHRvar'(C), 1223 !, 1224 'CHRget_delayed_goals'(A, F), 1225 'CHRdisjoint_2__115__116'(F, C, disjoint(A, B), D, E). 1226'CHRdisjoint_2__115'(disjoint(A, B), C, D, E) :- 1227 'CHRdisjoint_2__115__117'(disjoint(A, B), C, D, E). 1228:- set_flag('CHRdisjoint_2__115' / 4, leash, notrace). 1229'CHRdisjoint_2__115__116'(['CHRset_3'(set(A, B, C), D, E, F)|G], H, disjoint(A, I), J, K) ?- 1230 'CHRvar'(D), 1231 'CHRcheck_and_mark_applied'(anonymous("30"), H, D, J, E), 1232 coca(try_double(K, disjoint(A, I), F, set(A, B, C), disjoint(L, M), set(L, N, O), augmentation, true, set_disjoint(M, L, N, O), anonymous("30"))), 1233 !, 1234 coca(fired_rule(anonymous("30"))), 1235 'CHRdisjoint_2__115__116'(G, H, disjoint(A, I), J, K), 1236 set_disjoint(I, A, B, C). 1237'CHRdisjoint_2__115__116'([A|B], C, D, E, F) :- 1238 'CHRdisjoint_2__115__116'(B, C, D, E, F). 1239'CHRdisjoint_2__115__116'([], A, B, C, D) :- 1240 'CHRdisjoint_2__115__117'(B, A, C, D). 1241:- set_flag('CHRdisjoint_2__115__116' / 5, leash, notrace). 1242'CHRdisjoint_2__115__117'(disjoint(A, B), C, D, E) :- 1243 ( 1244 'CHRvar'(C) 1245 -> 1246 'CHRdelay'([C, disjoint(A, B)], 'CHRdisjoint_2'(disjoint(A, B), C, D, E)) 1247 ; 1248 true 1249 ). 1250:- set_flag('CHRdisjoint_2__115__117' / 4, leash, notrace). 1251incl_set(A, B, C, D, E) :- 1252 'CHRgen_num'(F), 1253 coca(add_one_constraint(F, incl_set(A, B, C, D, E))), 1254 'CHRincl_set_5'(incl_set(A, B, C, D, E), G, H, F). 1255 1256 1257 1258%%% Rules handling for incl_set / 5 1259 1260'CHRincl_set_5'(incl_set(A, B, C, D, E), F, G, H) :- 1261 ( 1262 'CHRnonvar'(F) 1263 ; 1264 'CHRalready_in'('CHRincl_set_5'(incl_set(A, B, C, D, E), F, G, H)), 1265 coca(already_in) 1266 ), 1267 !. 1268'CHRincl_set_5'(incl_set(A, B, C, D, E), F, G, H) ?- 1269 'CHRget_delayed_goals'(D, I), 1270 'CHRincl_set_5__119'(I, [D], [J], K), 1271 coca(try_double(H, incl_set(A, B, C, D, E), K, set(D, J, L), incl_set(M, N, O, P, Q), set(P, R, S), keep_second, s_included(O, R), Q = true, anonymous("6"))), 1272 no_global_bindings(s_included(C, J), (incl_set(A, B, C, D, E), set(D, J, L))), 1273 !, 1274 'CHRkill'(F), 1275 coca(fired_rule(anonymous("6"))), 1276 E = true. 1277'CHRincl_set_5'(incl_set(A, B, C, D, E), F, G, H) ?- 1278 'CHRget_delayed_goals'(D, I), 1279 'CHRincl_set_5__120'(I, [D], [J, K], L), 1280 coca(try_double(H, incl_set(A, B, C, D, E), L, set(D, K, J), incl_set(M, N, O, P, Q), set(P, R, S), keep_second, (\+ s_included(O, R), s_intersection(O, S, T), s_union(N, R, U)), (set(M, N, T), set(P, U, S)), anonymous("7"))), 1281 no_global_bindings((\+ s_included(C, K), s_intersection(C, J, V), s_union(B, K, W)), (incl_set(A, B, C, D, E), set(D, K, J))), 1282 !, 1283 'CHRkill'(F), 1284 coca(fired_rule(anonymous("7"))), 1285 set(A, B, V), 1286 set(D, W, J). 1287'CHRincl_set_5'(incl_set(A, B, C, D, E), F, G, H) :- 1288 'CHRincl_set_5__118'(incl_set(A, B, C, D, E), F, G, H). 1289'CHRincl_set_5__119'(['CHRset_3'(set(A, B, C), D, E, F)|G], [A], [H], I) ?- 1290 'CHRvar'(D), 1291 'CHR='([B], [H]), 1292 'CHR='(F, I). 1293'CHRincl_set_5__119'([A|B], C, D, E) :- 1294 'CHRincl_set_5__119'(B, C, D, E). 1295:- set_flag('CHRincl_set_5__119' / 4, leash, notrace). 1296'CHRincl_set_5__120'(['CHRset_3'(set(A, B, C), D, E, F)|G], [A], [H, I], J) ?- 1297 'CHRvar'(D), 1298 'CHR='([C, B], [H, I]), 1299 'CHR='(F, J). 1300'CHRincl_set_5__120'([A|B], C, D, E) :- 1301 'CHRincl_set_5__120'(B, C, D, E). 1302:- set_flag('CHRincl_set_5__120' / 4, leash, notrace). 1303:- set_flag('CHRincl_set_5' / 4, leash, notrace). 1304:- current_macro('CHRincl_set_5' / 4, _41626, _41627, _41628) -> true ; define_macro('CHRincl_set_5' / 4, tr_chr / 2, [write]). 1305'CHRincl_set_5__118'(A, B, C, D) :- 1306 'CHRincl_set_5__121'(A, B, C, D). 1307:- set_flag('CHRincl_set_5__118' / 4, leash, notrace). 1308'CHRincl_set_5__121'(incl_set(A, B, C, D, E), F, G, H) :- 1309 ( 1310 'CHRvar'(F) 1311 -> 1312 'CHRdelay'([F, incl_set(A, B, C, D, E)], 'CHRincl_set_5'(incl_set(A, B, C, D, E), F, G, H)) 1313 ; 1314 true 1315 ). 1316:- set_flag('CHRincl_set_5__121' / 4, leash, notrace). 1317set_set(A, B, C, D, E, F) :- 1318 'CHRgen_num'(G), 1319 coca(add_one_constraint(G, set_set(A, B, C, D, E, F))), 1320 'CHRset_set_6'(set_set(A, B, C, D, E, F), H, I, G). 1321 1322 1323 1324%%% Rules handling for set_set / 6 1325 1326'CHRset_set_6'(set_set(A, B, C, D, E, F), G, H, I) :- 1327 ( 1328 'CHRnonvar'(G) 1329 ; 1330 'CHRalready_in'('CHRset_set_6'(set_set(A, B, C, D, E, F), G, H, I)), 1331 coca(already_in) 1332 ), 1333 !. 1334'CHRset_set_6'(set_set(A, B, C, D, E, F), G, H, I) :- 1335 'CHRset_set_6__122'(set_set(A, B, C, D, E, F), G, H, I). 1336:- set_flag('CHRset_set_6' / 4, leash, notrace). 1337:- current_macro('CHRset_set_6' / 4, _42265, _42266, _42267) -> true ; define_macro('CHRset_set_6' / 4, tr_chr / 2, [write]). 1338'CHRset_set_6__122'(A, B, C, D) :- 1339 'CHRset_set_6__123'(A, B, C, D). 1340:- set_flag('CHRset_set_6__122' / 4, leash, notrace). 1341'CHRset_set_6__123'(set_set(A, B, C, D, E, F), G, H, I) :- 1342 ( 1343 'CHRvar'(G) 1344 -> 1345 'CHRdelay'([G, set_set(A, B, C, D, E, F)], 'CHRset_set_6'(set_set(A, B, C, D, E, F), G, H, I)) 1346 ; 1347 true 1348 ). 1349:- set_flag('CHRset_set_6__123' / 4, leash, notrace). 1350union_set(A, B, C, D, E) :- 1351 'CHRgen_num'(F), 1352 coca(add_one_constraint(F, union_set(A, B, C, D, E))), 1353 'CHRunion_set_5'(union_set(A, B, C, D, E), G, H, F). 1354 1355 1356 1357%%% Rules handling for union_set / 5 1358 1359'CHRunion_set_5'(union_set(A, B, C, D, E), F, G, H) :- 1360 ( 1361 'CHRnonvar'(F) 1362 ; 1363 'CHRalready_in'('CHRunion_set_5'(union_set(A, B, C, D, E), F, G, H)), 1364 coca(already_in) 1365 ), 1366 !. 1367'CHRunion_set_5'(union_set(A, B, C, D, E), F, G, H) ?- 1368 'CHRget_delayed_goals'(A, I), 1369 'CHRunion_set_5__125'(I, [A], [J, K], L), 1370 coca(try_double(H, union_set(A, B, C, D, E), L, set(A, K, J), union_set(M, N, O, P, Q), set(M, R, S), keep_second, (s_union(O, R, T), s_union(P, S, U)), set(Q, T, U), anonymous("14"))), 1371 no_global_bindings((s_union(C, K, V), s_union(D, J, W)), (union_set(A, B, C, D, E), set(A, K, J))), 1372 !, 1373 'CHRkill'(F), 1374 coca(fired_rule(anonymous("14"))), 1375 set(E, V, W). 1376'CHRunion_set_5'(union_set(A, B, C, D, E), F, G, H) :- 1377 'CHRunion_set_5__124'(union_set(A, B, C, D, E), F, G, H). 1378'CHRunion_set_5__125'(['CHRset_3'(set(A, B, C), D, E, F)|G], [A], [H, I], J) ?- 1379 'CHRvar'(D), 1380 'CHR='([C, B], [H, I]), 1381 'CHR='(F, J). 1382'CHRunion_set_5__125'([A|B], C, D, E) :- 1383 'CHRunion_set_5__125'(B, C, D, E). 1384:- set_flag('CHRunion_set_5__125' / 4, leash, notrace). 1385:- set_flag('CHRunion_set_5' / 4, leash, notrace). 1386:- current_macro('CHRunion_set_5' / 4, _43432, _43433, _43434) -> true ; define_macro('CHRunion_set_5' / 4, tr_chr / 2, [write]). 1387'CHRunion_set_5__124'(A, B, C, D) :- 1388 'CHRunion_set_5__126'(A, B, C, D). 1389:- set_flag('CHRunion_set_5__124' / 4, leash, notrace). 1390'CHRunion_set_5__126'(union_set(A, B, C, D, E), F, G, H) :- 1391 ( 1392 'CHRvar'(F) 1393 -> 1394 'CHRdelay'([F, union_set(A, B, C, D, E)], 'CHRunion_set_5'(union_set(A, B, C, D, E), F, G, H)) 1395 ; 1396 true 1397 ). 1398:- set_flag('CHRunion_set_5__126' / 4, leash, notrace). 1399set_disjoint(A, B, C, D) :- 1400 'CHRgen_num'(E), 1401 coca(add_one_constraint(E, set_disjoint(A, B, C, D))), 1402 'CHRset_disjoint_4'(set_disjoint(A, B, C, D), F, G, E). 1403 1404 1405 1406%%% Rules handling for set_disjoint / 4 1407 1408'CHRset_disjoint_4'(set_disjoint(A, B, C, D), E, F, G) :- 1409 ( 1410 'CHRnonvar'(E) 1411 ; 1412 'CHRalready_in'('CHRset_disjoint_4'(set_disjoint(A, B, C, D), E, F, G)), 1413 coca(already_in) 1414 ), 1415 !. 1416'CHRset_disjoint_4'(set_disjoint(A, B, C, D), E, F, G) ?- 1417 coca(try_rule(G, set_disjoint(A, B, C, D), anonymous("32"), set_disjoint(H, I, J, K), replacement, is_set(H) ; is_set(I), true)), 1418 no_global_bindings(is_set(A) ; is_set(B), set_disjoint(A, B, C, D)), 1419 !, 1420 'CHRkill'(E), 1421 coca(fired_rule(anonymous("32"))). 1422'CHRset_disjoint_4'(set_disjoint(A, B, C, D), E, F, G) ?- 1423 'CHRget_delayed_goals'(A, H), 1424 'CHRset_disjoint_4__128'(H, [A], [I, J, K], L), 1425 coca(try_double(G, set_disjoint(A, B, C, D), L, set(A, K, J), set_disjoint(M, N, O, P), set(M, Q, R), keep_second, ((s_delta(R, O, S), s_delta(P, Q, T)), 'CHRkeep_heads_checking'(set(M, Q, R), U, set(M, Q, S), V)), (('CHRhead_not_kept'(V) -> set(M, Q, S) ; true), set(N, O, T)), anonymous("31"))), 1426 no_global_bindings(((s_delta(J, C, W), s_delta(D, K, X)), 'CHRkeep_heads_checking'(set(A, K, J), I, set(A, K, W), Y)), (set_disjoint(A, B, C, D), set(A, K, J))), 1427 !, 1428 'CHRkill'(E), 1429 coca(fired_rule(anonymous("31"))), 1430 ( 1431 'CHRhead_not_kept'(Y) 1432 -> 1433 set(A, K, W) 1434 ; 1435 true 1436 ), 1437 set(B, C, X). 1438'CHRset_disjoint_4'(set_disjoint(A, B, C, D), E, F, G) :- 1439 'CHRset_disjoint_4__127'(set_disjoint(A, B, C, D), E, F, G). 1440'CHRset_disjoint_4__128'(['CHRset_3'(set(A, B, C), D, E, F)|G], [A], [H, I, J], K) ?- 1441 'CHRvar'(D), 1442 'CHR='([D, C, B], [H, I, J]), 1443 'CHR='(F, K). 1444'CHRset_disjoint_4__128'([A|B], C, D, E) :- 1445 'CHRset_disjoint_4__128'(B, C, D, E). 1446:- set_flag('CHRset_disjoint_4__128' / 4, leash, notrace). 1447:- set_flag('CHRset_disjoint_4' / 4, leash, notrace). 1448:- current_macro('CHRset_disjoint_4' / 4, _44839, _44840, _44841) -> true ; define_macro('CHRset_disjoint_4' / 4, tr_chr / 2, [write]). 1449'CHRset_disjoint_4__127'(A, B, C, D) :- 1450 'CHRset_disjoint_4__129'(A, B, C, D). 1451:- set_flag('CHRset_disjoint_4__127' / 4, leash, notrace). 1452'CHRset_disjoint_4__129'(set_disjoint(A, B, C, D), E, F, G) :- 1453 ( 1454 'CHRvar'(E) 1455 -> 1456 'CHRdelay'([E, set_disjoint(A, B, C, D)], 'CHRset_disjoint_4'(set_disjoint(A, B, C, D), E, F, G)) 1457 ; 1458 true 1459 ). 1460:- set_flag('CHRset_disjoint_4__129' / 4, leash, notrace). 1461ground_union(A, B, C) :- 1462 'CHRgen_num'(D), 1463 coca(add_one_constraint(D, ground_union(A, B, C))), 1464 'CHRground_union_3'(ground_union(A, B, C), E, F, D). 1465 1466 1467 1468%%% Rules handling for ground_union / 3 1469 1470'CHRground_union_3'(ground_union(A, B, C), D, E, F) :- 1471 ( 1472 'CHRnonvar'(D) 1473 ; 1474 'CHRalready_in'('CHRground_union_3'(ground_union(A, B, C), D, E, F)), 1475 coca(already_in) 1476 ), 1477 !. 1478'CHRground_union_3'(ground_union(A, B, C), D, E, F) ?- 1479 coca(try_rule(F, ground_union(A, B, C), anonymous("23"), ground_union(G, H, I), replacement, is_set(G), (s_delta(I, G, J), incl(J, H)))), 1480 no_global_bindings(is_set(A), ground_union(A, B, C)), 1481 !, 1482 'CHRkill'(D), 1483 coca(fired_rule(anonymous("23"))), 1484 s_delta(C, A, K), 1485 incl(K, B). 1486'CHRground_union_3'(ground_union(A, B, C), D, E, F) ?- 1487 coca(try_rule(F, ground_union(A, B, C), anonymous("24"), ground_union(G, H, I), replacement, is_set(H), (s_delta(I, H, J), incl(J, G)))), 1488 no_global_bindings(is_set(B), ground_union(A, B, C)), 1489 !, 1490 'CHRkill'(D), 1491 coca(fired_rule(anonymous("24"))), 1492 s_delta(C, B, K), 1493 incl(K, A). 1494'CHRground_union_3'(ground_union(A, B, C), D, E, F) :- 1495 'CHRground_union_3__130'(ground_union(A, B, C), D, E, F). 1496:- set_flag('CHRground_union_3' / 4, leash, notrace). 1497:- current_macro('CHRground_union_3' / 4, _45815, _45816, _45817) -> true ; define_macro('CHRground_union_3' / 4, tr_chr / 2, [write]). 1498'CHRground_union_3__130'(A, B, C, D) :- 1499 'CHRground_union_3__131'(A, B, C, D). 1500:- set_flag('CHRground_union_3__130' / 4, leash, notrace). 1501'CHRground_union_3__131'(ground_union(A, B, C), D, E, F) ?- 1502 'CHRvar'(D), 1503 !, 1504 'CHRget_delayed_goals'(A, G), 1505 'CHRground_union_3__131__132'(G, D, ground_union(A, B, C), E, F). 1506'CHRground_union_3__131'(ground_union(A, B, C), D, E, F) :- 1507 'CHRground_union_3__131__133'(ground_union(A, B, C), D, E, F). 1508:- set_flag('CHRground_union_3__131' / 4, leash, notrace). 1509'CHRground_union_3__131__132'(['CHRset_3'(set(A, B, C), D, E, F)|G], H, ground_union(A, I, J), K, L) ?- 1510 'CHRvar'(D), 1511 'CHRcheck_and_mark_applied'(anonymous("25"), H, D, K, E), 1512 coca(try_double(L, ground_union(A, I, J), F, set(A, B, C), ground_union(M, N, O), set(M, P, Q), augmentation, true, (s_delta(O, Q, R), incl(R, N)), anonymous("25"))), 1513 !, 1514 coca(fired_rule(anonymous("25"))), 1515 'CHRground_union_3__131__132'(G, H, ground_union(A, I, J), K, L), 1516 s_delta(J, C, S), 1517 incl(S, I). 1518'CHRground_union_3__131__132'([A|B], C, D, E, F) :- 1519 'CHRground_union_3__131__132'(B, C, D, E, F). 1520'CHRground_union_3__131__132'([], A, B, C, D) :- 1521 'CHRground_union_3__131__133'(B, A, C, D). 1522:- set_flag('CHRground_union_3__131__132' / 5, leash, notrace). 1523'CHRground_union_3__131__133'(ground_union(A, B, C), D, E, F) ?- 1524 'CHRvar'(D), 1525 !, 1526 'CHRget_delayed_goals'(B, G), 1527 'CHRground_union_3__131__133__134'(G, D, ground_union(A, B, C), E, F). 1528'CHRground_union_3__131__133'(ground_union(A, B, C), D, E, F) :- 1529 'CHRground_union_3__131__133__135'(ground_union(A, B, C), D, E, F). 1530:- set_flag('CHRground_union_3__131__133' / 4, leash, notrace). 1531'CHRground_union_3__131__133__134'(['CHRset_3'(set(A, B, C), D, E, F)|G], H, ground_union(I, A, J), K, L) ?- 1532 'CHRvar'(D), 1533 'CHRcheck_and_mark_applied'(anonymous("26"), H, D, K, E), 1534 coca(try_double(L, ground_union(I, A, J), F, set(A, B, C), ground_union(M, N, O), set(N, P, Q), augmentation, true, (s_delta(O, Q, R), incl(R, M)), anonymous("26"))), 1535 !, 1536 coca(fired_rule(anonymous("26"))), 1537 'CHRground_union_3__131__133__134'(G, H, ground_union(I, A, J), K, L), 1538 s_delta(J, C, S), 1539 incl(S, I). 1540'CHRground_union_3__131__133__134'([A|B], C, D, E, F) :- 1541 'CHRground_union_3__131__133__134'(B, C, D, E, F). 1542'CHRground_union_3__131__133__134'([], A, B, C, D) :- 1543 'CHRground_union_3__131__133__135'(B, A, C, D). 1544:- set_flag('CHRground_union_3__131__133__134' / 5, leash, notrace). 1545'CHRground_union_3__131__133__135'(ground_union(A, B, C), D, E, F) :- 1546 ( 1547 'CHRvar'(D) 1548 -> 1549 'CHRdelay'([D, ground_union(A, B, C)], 'CHRground_union_3'(ground_union(A, B, C), D, E, F)) 1550 ; 1551 true 1552 ). 1553:- set_flag('CHRground_union_3__131__133__135' / 4, leash, notrace). 1554union_S(A, B, C) :- 1555 'CHRgen_num'(D), 1556 coca(add_one_constraint(D, union_S(A, B, C))), 1557 'CHRunion_S_3'(union_S(A, B, C), E, F, D). 1558 1559 1560 1561%%% Rules handling for union_S / 3 1562 1563'CHRunion_S_3'(union_S(A, B, C), D, E, F) :- 1564 ( 1565 'CHRnonvar'(D) 1566 ; 1567 'CHRalready_in'('CHRunion_S_3'(union_S(A, B, C), D, E, F)), 1568 coca(already_in) 1569 ), 1570 !. 1571'CHRunion_S_3'(union_S(A, B, C), D, E, F) ?- 1572 coca(try_rule(F, union_S(A, B, C), anonymous("18"), union_S(G, H, I), replacement, (nonvar(G), nonvar(H)), true)), 1573 no_global_bindings((nonvar(A), nonvar(B)), union_S(A, B, C)), 1574 !, 1575 'CHRkill'(D), 1576 coca(fired_rule(anonymous("18"))). 1577'CHRunion_S_3'(union_S(A, B, C), D, E, F) ?- 1578 'CHRget_delayed_goals'(A, G), 1579 'CHRunion_S_3__137'(G, [A], [H], I), 1580 coca(try_double(F, union_S(A, B, C), I, set(A, J, H), union_S(K, L, M), set(K, N, O), keep_second, true, union_S_S1(L, K, O, M), anonymous("16"))), 1581 !, 1582 'CHRkill'(D), 1583 coca(fired_rule(anonymous("16"))), 1584 union_S_S1(B, A, H, C). 1585'CHRunion_S_3'(union_S(A, B, C), D, E, F) :- 1586 'CHRunion_S_3__136'(union_S(A, B, C), D, E, F). 1587'CHRunion_S_3__137'(['CHRset_3'(set(A, B, C), D, E, F)|G], [A], [H], I) ?- 1588 'CHRvar'(D), 1589 'CHR='([C], [H]), 1590 'CHR='(F, I). 1591'CHRunion_S_3__137'([A|B], C, D, E) :- 1592 'CHRunion_S_3__137'(B, C, D, E). 1593:- set_flag('CHRunion_S_3__137' / 4, leash, notrace). 1594:- set_flag('CHRunion_S_3' / 4, leash, notrace). 1595:- current_macro('CHRunion_S_3' / 4, _48338, _48339, _48340) -> true ; define_macro('CHRunion_S_3' / 4, tr_chr / 2, [write]). 1596'CHRunion_S_3__136'(A, B, C, D) :- 1597 'CHRunion_S_3__138'(A, B, C, D). 1598:- set_flag('CHRunion_S_3__136' / 4, leash, notrace). 1599'CHRunion_S_3__138'(union_S(A, B, C), D, E, F) :- 1600 ( 1601 'CHRvar'(D) 1602 -> 1603 'CHRdelay'([D, union_S(A, B, C)], 'CHRunion_S_3'(union_S(A, B, C), D, E, F)) 1604 ; 1605 true 1606 ). 1607:- set_flag('CHRunion_S_3__138' / 4, leash, notrace). 1608union_S_S1(A, B, C, D) :- 1609 'CHRgen_num'(E), 1610 coca(add_one_constraint(E, union_S_S1(A, B, C, D))), 1611 'CHRunion_S_S1_4'(union_S_S1(A, B, C, D), F, G, E). 1612 1613 1614 1615%%% Rules handling for union_S_S1 / 4 1616 1617'CHRunion_S_S1_4'(union_S_S1(A, B, C, D), E, F, G) :- 1618 ( 1619 'CHRnonvar'(E) 1620 ; 1621 'CHRalready_in'('CHRunion_S_S1_4'(union_S_S1(A, B, C, D), E, F, G)), 1622 coca(already_in) 1623 ), 1624 !. 1625'CHRunion_S_S1_4'(union_S_S1(A, B, C, D), E, F, G) ?- 1626 'CHRget_delayed_goals'(A, H), 1627 'CHRunion_S_S1_4__140'(H, [A], [I], J), 1628 coca(try_double(G, union_S_S1(A, B, C, D), J, set(A, K, I), union_S_S1(L, M, N, O), set(L, P, Q), keep_second, true, (s_delta(O, N, R), incl(R, L), s_delta(O, Q, S), incl(S, M)), anonymous("17"))), 1629 !, 1630 'CHRkill'(E), 1631 coca(fired_rule(anonymous("17"))), 1632 s_delta(D, C, T), 1633 incl(T, A), 1634 s_delta(D, I, U), 1635 incl(U, B). 1636'CHRunion_S_S1_4'(union_S_S1(A, B, C, D), E, F, G) :- 1637 'CHRunion_S_S1_4__139'(union_S_S1(A, B, C, D), E, F, G). 1638'CHRunion_S_S1_4__140'(['CHRset_3'(set(A, B, C), D, E, F)|G], [A], [H], I) ?- 1639 'CHRvar'(D), 1640 'CHR='([C], [H]), 1641 'CHR='(F, I). 1642'CHRunion_S_S1_4__140'([A|B], C, D, E) :- 1643 'CHRunion_S_S1_4__140'(B, C, D, E). 1644:- set_flag('CHRunion_S_S1_4__140' / 4, leash, notrace). 1645:- set_flag('CHRunion_S_S1_4' / 4, leash, notrace). 1646:- current_macro('CHRunion_S_S1_4' / 4, _49517, _49518, _49519) -> true ; define_macro('CHRunion_S_S1_4' / 4, tr_chr / 2, [write]). 1647'CHRunion_S_S1_4__139'(A, B, C, D) :- 1648 'CHRunion_S_S1_4__141'(A, B, C, D). 1649:- set_flag('CHRunion_S_S1_4__139' / 4, leash, notrace). 1650'CHRunion_S_S1_4__141'(union_S_S1(A, B, C, D), E, F, G) :- 1651 ( 1652 'CHRvar'(E) 1653 -> 1654 'CHRdelay'([E, union_S_S1(A, B, C, D)], 'CHRunion_S_S1_4'(union_S_S1(A, B, C, D), E, F, G)) 1655 ; 1656 true 1657 ). 1658:- set_flag('CHRunion_S_S1_4__141' / 4, leash, notrace). 1659 1660:- getval(variable_names_flag, Val), set_flag(variable_names, Val). 1661