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:- setval(domain, term). 9:- op(700, xfx, ::). 10:- op(600, xfx, ..). 11:- op(600, xfx, :). 12:- op(700, xfx, lt). 13:- op(700, xfx, le). 14:- op(700, xfx, gt). 15:- op(700, xfx, ge). 16:- op(700, xfx, ne). 17gt(_579, _583) :- lt(_583, _579). 18ge(_596, _600) :- le(_600, _596). 19domain(_3360) :- getval(domain, _3360). 20makedom([], _3433) :- true. 21makedom([_3450|_3451], _3454) :- _3450 :: _3454, makedom(_3451, _3454). 22interval(_3833, _3836, [_3833|_3841]) :- _3833 < _3836, !, _3858 is _3833 + 1, interval(_3858, _3836, _3841). 23interval(_3988, _3988, [_3988]). 24eval_list([], []). 25eval_list([_4262|_4263], [_4268|_4269]) :- _4268 is _4262, eval_list(_4263, _4269). 26last(_7226, _7229) :- append(_7245, [_7229], _7226), !. 27minimum(_8217, _8220, _8223) :- (domain(number) -> _8217 < _8220 ; _8217 @< _8220) -> _8217 = _8223 ; _8220 = _8223. 28maximum(_8371, _8374, _8377) :- (domain(number) -> _8371 < _8374 ; _8371 @< _8374) -> _8374 = _8377 ; _8371 = _8377. 29element(_11688, _11691, _11694) :- length(_11691, _11706), interval(1, _11706, _11719), gen_pair(_11719, _11691, _11733), _11688 - _11694 :: _11733. 30gen_pair([], [], []). 31gen_pair([_11880|_11881], [_11886|_11887], [_11880 - _11886|_11895]) :- gen_pair(_11881, _11887, _11895). 32intersect(_13758 :: _13762, _13765 :: _13769, _13772 :: _13776) :- findall(_13772, (member(_13758, _13762), member(_13765, _13769)), _13776). 33atmost(_15997, _16000, _16003) :- length(_16000, _16015), atmost(_15997, _16000, _16003, _16015). 34delete_ground(_16609, _16612, _16615) :- delete(_16609, _16612, _16615), ground(_16609), !. 35outof(_17114, []). 36outof(_17128, [_17133|_17134]) :- ne(_17128, _17133), outof(_17128, _17134). 37circuit1(_17788) :- length(_17788, _17798), _17798 > 1, circuit1(_17798, _17788). 38circuit1(2, [2, 1]). 39circuit1(_17907, _17910) :- _17907 > 2, interval(1, _17907, _17929), _17937 =.. [f|_17910], domains1(1, _17929, _17910), alldistinct1([], _17910), no_subtours(_17907, 1, _17937, []). 40domains1(_18136, _18139, []). 41domains1(_18154, _18157, [_18162|_18163]) :- remove(_18154, _18157, _18177), _18162 :: _18177, _18191 is _18154 + 1, domains1(_18191, _18157, _18163). 42no_subtours(0, _18336, _18339, _18342) :- !. 43no_subtours(_18359, _18362, _18365, _18368) :- outof(_18362, _18368), (var(_18362) -> suspend(no_subtours1(_18359, _18362, _18365, _18368), 3, _18362 -> inst) ; no_subtours1(_18359, _18362, _18365, _18368)). 44no_subtours1(_18572, _18575, _18578, _18581) :- _18572 > 0, _18596 is _18572 - 1, arg(_18575, _18578, _18612), no_subtours(_18596, _18612, _18578, [_18575|_18581]). 45circuit(_18766) :- length(_18766, _18776), _18776 > 1, circuit(_18776, _18766). 46circuit(2, [2, 1]). 47circuit(_18885, _18888) :- _18885 > 2, interval(1, _18885, _18907), _18915 =.. [f|_18888], _18924 is _18885 - 1, domains(1, _18907, _18888, _18915, _18924), alldistinct(_18888). 48domains(_19116, _19119, [], _19124, _19127). 49domains(_19142, _19145, [_19150|_19151], _19154, _19157) :- remove(_19142, _19145, _19173), _19150 :: _19173, _19187 is _19142 + 1, no_subtours1(_19157, _19150, _19154, [_19142]), domains(_19187, _19145, _19151, _19154, _19157). 50remove(_19404, _19407, _19410) :- delete(_19404, _19407, _19410) -> true ; _19407 = _19410. 51remove_list(_19451, [], _19449) :- !, _19449 = []. 52remove_list([], _19518, _19521) :- _19518 = _19521. 53remove_list([_19542|_19543], [_19548|_19549], _19552) :- remove(_19542, [_19548|_19549], _19568), remove_list(_19543, _19568, _19552). 54remove_lower(_19686, [], _19684) :- !, _19684 = []. 55remove_lower(_19751, [_19756|_19757], _19760) :- _19756 @< _19751, !, remove_lower(_19751, _19757, _19760). 56remove_lower(_19870, [_19875|_19876], [_19875|_19881]) :- remove_lower(_19870, _19876, _19881). 57remove_higher(_19913, [], _19911) :- !, _19911 = []. 58remove_higher(_19978, [_19983|_19984], _19987) :- _19983 @> _19978, !, remove_higher(_19978, _19984, _19987). 59remove_higher(_20097, [_20102|_20103], [_20102|_20108]) :- remove_higher(_20097, _20103, _20108). 60 61 62 63%%% Callables for :: / 2 64 65'CHRlabel_with'(A :: [B|C], D, E) ?- 66 coca(try_clause(E, A :: [B|C], F :: [G|H], true)), 67 coca(clause_fired(E)), 68 'CHR='(D, 'clause_::'(A, [B|C])). 69'CHRlabel_with'(A :: B : C, D, E) ?- 70 coca(try_clause(E, A :: B : C, F :: G : H, domain(number))), 71 no_delayed_goals(domain(number)), 72 coca(clause_fired(E)), 73 'CHR='(D, 'clause_::'(A, B : C)). 74lt(A, B) :- 75 'CHRgen_num'(C), 76 coca(add_one_constraint(C, lt(A, B))), 77 'CHRlt_2'(lt(A, B), D, E, C). 78 79 80 81%%% Rules handling for lt / 2 82 83'CHRlt_2'(lt(A, B), C, D, E) :- 84 ( 85 'CHRnonvar'(C) 86 ; 87 'CHRalready_in'('CHRlt_2'(lt(A, B), C, D, E)), 88 coca(already_in) 89 ), 90 !. 91'CHRlt_2'(lt(A, A), B, C, D) ?- 92 coca(try_rule(D, lt(A, A), anonymous("0"), lt(E, E), replacement, true, fail)), 93 !, 94 'CHRkill'(B), 95 coca(fired_rule(anonymous("0"))), 96 fail. 97'CHRlt_2'(lt(A, B), C, D, E) ?- 98 coca(try_rule(E, lt(A, B), anonymous("6"), lt(F, G), replacement, (domain(number), ground(F), not number(F)), (H is F, lt(H, G)))), 99 no_delayed_goals((domain(number), ground(A), not number(A))), 100 !, 101 'CHRkill'(C), 102 coca(fired_rule(anonymous("6"))), 103 I is A, 104 lt(I, B). 105'CHRlt_2'(lt(A, B), C, D, E) ?- 106 coca(try_rule(E, lt(A, B), anonymous("7"), lt(F, G), replacement, (domain(number), ground(G), not number(G)), (H is G, lt(F, H)))), 107 no_delayed_goals((domain(number), ground(B), not number(B))), 108 !, 109 'CHRkill'(C), 110 coca(fired_rule(anonymous("7"))), 111 I is B, 112 lt(A, I). 113'CHRlt_2'(lt(A, B), C, D, E) ?- 114 coca(try_rule(E, lt(A, B), anonymous("12"), lt(F, G), replacement, (ground(F), ground(G)), domain(number) -> F < G ; F @< G)), 115 no_delayed_goals((ground(A), ground(B))), 116 !, 117 'CHRkill'(C), 118 coca(fired_rule(anonymous("12"))), 119 ( 120 domain(number) 121 -> 122 A < B 123 ; 124 A @< B 125 ). 126'CHRlt_2'(lt(A, B), C, D, E) ?- 127 'CHRget_delayed_goals'(B, F), 128 'CHRlt_2__79'(F, [B, A], [], G), 129 coca(try_double(E, lt(A, B), G, lt(B, A), lt(H, I), lt(I, H), replacement, true, fail, anonymous("3"))), 130 !, 131 'CHRkill'(C), 132 coca(fired_rule(anonymous("3"))), 133 fail. 134'CHRlt_2'(lt(A, B), C, D, E) ?- 135 'CHRget_delayed_goals'(B, F), 136 'CHRlt_2__80'(F, [B, A], [], G), 137 coca(try_double(E, lt(A, B), G, lt(B, A), lt(H, I), lt(I, H), replacement, true, fail, anonymous("3"))), 138 !, 139 'CHRkill'(C), 140 coca(fired_rule(anonymous("3"))), 141 fail. 142'CHRlt_2'(lt(A, B), C, D, E) ?- 143 'CHRget_delayed_goals'(B, F), 144 'CHRlt_2__81'(F, [B], [G, H, I], J), 145 coca(try_double(E, lt(A, B), J, B :: [I|H], lt(K, L), L :: [M|N], keep_second, ((ground(K), remove_lower(K, [M|N], O), remove(K, O, P)), 'CHRkeep_heads_checking'(L :: [M|N], Q, L :: P, R)), 'CHRhead_not_kept'(R) -> L :: P ; true, anonymous("27"))), 146 no_delayed_goals(((ground(A), remove_lower(A, [I|H], S), remove(A, S, T)), 'CHRkeep_heads_checking'(B :: [I|H], G, B :: T, U))), 147 !, 148 'CHRkill'(C), 149 coca(fired_rule(anonymous("27"))), 150 ( 151 'CHRhead_not_kept'(U) 152 -> 153 B :: T 154 ; 155 true 156 ). 157'CHRlt_2'(lt(A, B), C, D, E) ?- 158 'CHRget_delayed_goals'(A, F), 159 'CHRlt_2__82'(F, [A], [G, H, I], J), 160 coca(try_double(E, lt(A, B), J, A :: [I|H], lt(K, L), K :: [M|N], keep_second, ((ground(L), remove_higher(L, [M|N], O), remove(L, O, P)), 'CHRkeep_heads_checking'(K :: [M|N], Q, K :: P, R)), 'CHRhead_not_kept'(R) -> K :: P ; true, anonymous("28"))), 161 no_delayed_goals(((ground(B), remove_higher(B, [I|H], S), remove(B, S, T)), 'CHRkeep_heads_checking'(A :: [I|H], G, A :: T, U))), 162 !, 163 'CHRkill'(C), 164 coca(fired_rule(anonymous("28"))), 165 ( 166 'CHRhead_not_kept'(U) 167 -> 168 A :: T 169 ; 170 true 171 ). 172'CHRlt_2'(lt(A, B), C, D, E) ?- 173 'CHRget_delayed_goals'(B, F), 174 'CHRlt_2__83'(F, [B], [G, H, I], J), 175 coca(try_double(E, lt(A, B), J, B :: I : H, lt(K, L), L :: M : N, keep_second, ((ground(K), maximum(M, K, O)), 'CHRkeep_heads_checking'(L :: M : N, P, L :: O : N, Q)), (('CHRhead_not_kept'(Q) -> L :: O : N ; true), ne(L, O)), anonymous("43"))), 176 no_delayed_goals(((ground(A), maximum(I, A, R)), 'CHRkeep_heads_checking'(B :: I : H, G, B :: R : H, S))), 177 !, 178 'CHRkill'(C), 179 coca(fired_rule(anonymous("43"))), 180 ( 181 'CHRhead_not_kept'(S) 182 -> 183 B :: R : H 184 ; 185 true 186 ), 187 ne(B, R). 188'CHRlt_2'(lt(A, B), C, D, E) ?- 189 'CHRget_delayed_goals'(A, F), 190 'CHRlt_2__84'(F, [A], [G, H, I], J), 191 coca(try_double(E, lt(A, B), J, A :: I : H, lt(K, L), K :: M : N, keep_second, ((ground(L), minimum(N, L, O)), 'CHRkeep_heads_checking'(K :: M : N, P, K :: M : O, Q)), (('CHRhead_not_kept'(Q) -> K :: M : O ; true), ne(K, O)), anonymous("44"))), 192 no_delayed_goals(((ground(B), minimum(H, B, R)), 'CHRkeep_heads_checking'(A :: I : H, G, A :: I : R, S))), 193 !, 194 'CHRkill'(C), 195 coca(fired_rule(anonymous("44"))), 196 ( 197 'CHRhead_not_kept'(S) 198 -> 199 A :: I : R 200 ; 201 true 202 ), 203 ne(A, R). 204'CHRlt_2'(lt(A, B), C, D, E) ?- 205 'CHRget_delayed_goals'(B, F), 206 'CHRlt_2__85'(F, [B, A], [G, H], I), 207 coca(try_double(E, lt(A, B), I, B - A :: H, lt(J, K), K - J :: L, keep_second, ((M = N - O, findall(M, (member(M, L), N @< O), P)), 'CHRkeep_heads_checking'(K - J :: L, Q, K - J :: P, R)), 'CHRhead_not_kept'(R) -> K - J :: P ; true, anonymous("60"))), 208 no_delayed_goals(((S = T - U, findall(S, (member(S, H), T @< U), V)), 'CHRkeep_heads_checking'(B - A :: H, G, B - A :: V, W))), 209 !, 210 'CHRkill'(C), 211 coca(fired_rule(anonymous("60"))), 212 ( 213 'CHRhead_not_kept'(W) 214 -> 215 B - A :: V 216 ; 217 true 218 ). 219'CHRlt_2'(lt(A, B), C, D, E) ?- 220 'CHRget_delayed_goals'(B, F), 221 'CHRlt_2__86'(F, [B, A], [G, H], I), 222 coca(try_double(E, lt(A, B), I, A - B :: H, lt(J, K), J - K :: L, keep_second, ((M = N - O, findall(M, (member(M, L), O @< N), P)), 'CHRkeep_heads_checking'(J - K :: L, Q, J - K :: P, R)), 'CHRhead_not_kept'(R) -> J - K :: P ; true, anonymous("61"))), 223 no_delayed_goals(((S = T - U, findall(S, (member(S, H), U @< T), V)), 'CHRkeep_heads_checking'(A - B :: H, G, A - B :: V, W))), 224 !, 225 'CHRkill'(C), 226 coca(fired_rule(anonymous("61"))), 227 ( 228 'CHRhead_not_kept'(W) 229 -> 230 A - B :: V 231 ; 232 true 233 ). 234'CHRlt_2'(lt(A, B), C, D, E) :- 235 'CHRlt_2__78'(lt(A, B), C, D, E). 236'CHRlt_2__79'(['CHRlt_2'(lt(A, B), C, D, E)|F], [A, B], [], G) ?- 237 'CHRvar'(C), 238 'CHRkill'(C), 239 'CHR='([], []), 240 'CHR='(E, G). 241'CHRlt_2__79'([A|B], C, D, E) :- 242 'CHRlt_2__79'(B, C, D, E). 243:- set_flag('CHRlt_2__79' / 4, leash, notrace). 244'CHRlt_2__80'(['CHRlt_2'(lt(A, B), C, D, E)|F], [A, B], [], G) ?- 245 'CHRvar'(C), 246 'CHRkill'(C), 247 'CHR='([], []), 248 'CHR='(E, G). 249'CHRlt_2__80'([A|B], C, D, E) :- 250 'CHRlt_2__80'(B, C, D, E). 251:- set_flag('CHRlt_2__80' / 4, leash, notrace). 252'CHRlt_2__81'(['CHR::_2'(A :: [B|C], D, E, F)|G], [A], [H, I, J], K) ?- 253 'CHRvar'(D), 254 'CHR='([D, C, B], [H, I, J]), 255 'CHR='(F, K). 256'CHRlt_2__81'([A|B], C, D, E) :- 257 'CHRlt_2__81'(B, C, D, E). 258:- set_flag('CHRlt_2__81' / 4, leash, notrace). 259'CHRlt_2__82'(['CHR::_2'(A :: [B|C], D, E, F)|G], [A], [H, I, J], K) ?- 260 'CHRvar'(D), 261 'CHR='([D, C, B], [H, I, J]), 262 'CHR='(F, K). 263'CHRlt_2__82'([A|B], C, D, E) :- 264 'CHRlt_2__82'(B, C, D, E). 265:- set_flag('CHRlt_2__82' / 4, leash, notrace). 266'CHRlt_2__83'(['CHR::_2'(A :: B : C, D, E, F)|G], [A], [H, I, J], K) ?- 267 'CHRvar'(D), 268 'CHR='([D, C, B], [H, I, J]), 269 'CHR='(F, K). 270'CHRlt_2__83'([A|B], C, D, E) :- 271 'CHRlt_2__83'(B, C, D, E). 272:- set_flag('CHRlt_2__83' / 4, leash, notrace). 273'CHRlt_2__84'(['CHR::_2'(A :: B : C, D, E, F)|G], [A], [H, I, J], K) ?- 274 'CHRvar'(D), 275 'CHR='([D, C, B], [H, I, J]), 276 'CHR='(F, K). 277'CHRlt_2__84'([A|B], C, D, E) :- 278 'CHRlt_2__84'(B, C, D, E). 279:- set_flag('CHRlt_2__84' / 4, leash, notrace). 280'CHRlt_2__85'(['CHR::_2'(A - B :: C, D, E, F)|G], [A, B], [H, I], J) ?- 281 'CHRvar'(D), 282 'CHR='([D, C], [H, I]), 283 'CHR='(F, J). 284'CHRlt_2__85'([A|B], C, D, E) :- 285 'CHRlt_2__85'(B, C, D, E). 286:- set_flag('CHRlt_2__85' / 4, leash, notrace). 287'CHRlt_2__86'(['CHR::_2'(A - B :: C, D, E, F)|G], [B, A], [H, I], J) ?- 288 'CHRvar'(D), 289 'CHR='([D, C], [H, I]), 290 'CHR='(F, J). 291'CHRlt_2__86'([A|B], C, D, E) :- 292 'CHRlt_2__86'(B, C, D, E). 293:- set_flag('CHRlt_2__86' / 4, leash, notrace). 294:- set_flag('CHRlt_2' / 4, leash, notrace). 295:- current_macro('CHRlt_2' / 4, _26074, _26075, _26076) -> true ; define_macro('CHRlt_2' / 4, tr_chr / 2, [write]). 296'CHRlt_2__78'(A, B, C, D) :- 297 'CHRlt_2__87'(A, B, C, D). 298:- set_flag('CHRlt_2__78' / 4, leash, notrace). 299'CHRlt_2__87'(lt(A, B), C, D, E) ?- 300 'CHRvar'(C), 301 !, 302 'CHRget_delayed_goals'(B, F), 303 'CHRlt_2__87__88'(F, C, lt(A, B), D, E). 304'CHRlt_2__87'(lt(A, B), C, D, E) :- 305 'CHRlt_2__87__89'(lt(A, B), C, D, E). 306:- set_flag('CHRlt_2__87' / 4, leash, notrace). 307'CHRlt_2__87__88'(['CHR::_2'(A :: [B|C], D, E, F)|G], H, lt(I, A), J, K) ?- 308 'CHRvar'(D), 309 'CHRcheck_and_mark_applied'(anonymous("32"), H, D, J, E), 310 coca(try_double(K, lt(I, A), F, A :: [B|C], lt(L, M), M :: [N|O], augmentation, var(L), (last([N|O], P), lt(L, P)), anonymous("32"))), 311 no_delayed_goals(var(I)), 312 !, 313 coca(fired_rule(anonymous("32"))), 314 'CHRlt_2__87__88'(G, H, lt(I, A), J, K), 315 last([B|C], Q), 316 lt(I, Q). 317'CHRlt_2__87__88'([A|B], C, D, E, F) :- 318 'CHRlt_2__87__88'(B, C, D, E, F). 319'CHRlt_2__87__88'([], A, B, C, D) :- 320 'CHRlt_2__87__89'(B, A, C, D). 321:- set_flag('CHRlt_2__87__88' / 5, leash, notrace). 322'CHRlt_2__87__89'(lt(A, B), C, D, E) ?- 323 'CHRvar'(C), 324 !, 325 'CHRget_delayed_goals'(A, F), 326 'CHRlt_2__87__89__90'(F, C, lt(A, B), D, E). 327'CHRlt_2__87__89'(lt(A, B), C, D, E) :- 328 'CHRlt_2__87__89__91'(lt(A, B), C, D, E). 329:- set_flag('CHRlt_2__87__89' / 4, leash, notrace). 330'CHRlt_2__87__89__90'(['CHR::_2'(A :: [B|C], D, E, F)|G], H, lt(A, I), J, K) ?- 331 'CHRvar'(D), 332 'CHRcheck_and_mark_applied'(anonymous("33"), H, D, J, E), 333 coca(try_double(K, lt(A, I), F, A :: [B|C], lt(L, M), L :: [N|O], augmentation, var(M), lt(N, M), anonymous("33"))), 334 no_delayed_goals(var(I)), 335 !, 336 coca(fired_rule(anonymous("33"))), 337 'CHRlt_2__87__89__90'(G, H, lt(A, I), J, K), 338 lt(B, I). 339'CHRlt_2__87__89__90'([A|B], C, D, E, F) :- 340 'CHRlt_2__87__89__90'(B, C, D, E, F). 341'CHRlt_2__87__89__90'([], A, B, C, D) :- 342 'CHRlt_2__87__89__91'(B, A, C, D). 343:- set_flag('CHRlt_2__87__89__90' / 5, leash, notrace). 344'CHRlt_2__87__89__91'(lt(A, B), C, D, E) ?- 345 'CHRvar'(C), 346 !, 347 'CHRget_delayed_goals'(B, F), 348 'CHRlt_2__87__89__91__92'(F, C, lt(A, B), D, E). 349'CHRlt_2__87__89__91'(lt(A, B), C, D, E) :- 350 'CHRlt_2__87__89__91__93'(lt(A, B), C, D, E). 351:- set_flag('CHRlt_2__87__89__91' / 4, leash, notrace). 352'CHRlt_2__87__89__91__92'(['CHR::_2'(A :: B : C, D, E, F)|G], H, lt(I, A), J, K) ?- 353 'CHRvar'(D), 354 'CHRcheck_and_mark_applied'(anonymous("47"), H, D, J, E), 355 coca(try_double(K, lt(I, A), F, A :: B : C, lt(L, M), M :: N : O, augmentation, var(L), lt(L, O), anonymous("47"))), 356 no_delayed_goals(var(I)), 357 !, 358 coca(fired_rule(anonymous("47"))), 359 'CHRlt_2__87__89__91__92'(G, H, lt(I, A), J, K), 360 lt(I, C). 361'CHRlt_2__87__89__91__92'([A|B], C, D, E, F) :- 362 'CHRlt_2__87__89__91__92'(B, C, D, E, F). 363'CHRlt_2__87__89__91__92'([], A, B, C, D) :- 364 'CHRlt_2__87__89__91__93'(B, A, C, D). 365:- set_flag('CHRlt_2__87__89__91__92' / 5, leash, notrace). 366'CHRlt_2__87__89__91__93'(lt(A, B), C, D, E) ?- 367 'CHRvar'(C), 368 !, 369 'CHRget_delayed_goals'(A, F), 370 'CHRlt_2__87__89__91__93__94'(F, C, lt(A, B), D, E). 371'CHRlt_2__87__89__91__93'(lt(A, B), C, D, E) :- 372 'CHRlt_2__87__89__91__93__95'(lt(A, B), C, D, E). 373:- set_flag('CHRlt_2__87__89__91__93' / 4, leash, notrace). 374'CHRlt_2__87__89__91__93__94'(['CHR::_2'(A :: B : C, D, E, F)|G], H, lt(A, I), J, K) ?- 375 'CHRvar'(D), 376 'CHRcheck_and_mark_applied'(anonymous("48"), H, D, J, E), 377 coca(try_double(K, lt(A, I), F, A :: B : C, lt(L, M), L :: N : O, augmentation, var(M), lt(N, M), anonymous("48"))), 378 no_delayed_goals(var(I)), 379 !, 380 coca(fired_rule(anonymous("48"))), 381 'CHRlt_2__87__89__91__93__94'(G, H, lt(A, I), J, K), 382 lt(B, I). 383'CHRlt_2__87__89__91__93__94'([A|B], C, D, E, F) :- 384 'CHRlt_2__87__89__91__93__94'(B, C, D, E, F). 385'CHRlt_2__87__89__91__93__94'([], A, B, C, D) :- 386 'CHRlt_2__87__89__91__93__95'(B, A, C, D). 387:- set_flag('CHRlt_2__87__89__91__93__94' / 5, leash, notrace). 388'CHRlt_2__87__89__91__93__95'(lt(A, B), C, D, E) :- 389 ( 390 'CHRvar'(C) 391 -> 392 'CHRdelay'([C, lt(A, B)], 'CHRlt_2'(lt(A, B), C, D, E)) 393 ; 394 true 395 ). 396:- set_flag('CHRlt_2__87__89__91__93__95' / 4, leash, notrace). 397le(A, B) :- 398 'CHRgen_num'(C), 399 coca(add_one_constraint(C, le(A, B))), 400 'CHRle_2'(le(A, B), D, E, C). 401 402 403 404%%% Rules handling for le / 2 405 406'CHRle_2'(le(A, B), C, D, E) :- 407 ( 408 'CHRnonvar'(C) 409 ; 410 'CHRalready_in'('CHRle_2'(le(A, B), C, D, E)), 411 coca(already_in) 412 ), 413 !. 414'CHRle_2'(le(A, A), B, C, D) ?- 415 coca(try_rule(D, le(A, A), anonymous("1"), le(E, E), replacement, true, true)), 416 !, 417 'CHRkill'(B), 418 coca(fired_rule(anonymous("1"))). 419'CHRle_2'(le(A, B), C, D, E) ?- 420 coca(try_rule(E, le(A, B), anonymous("8"), le(F, G), replacement, (domain(number), ground(F), not number(F)), (H is F, le(H, G)))), 421 no_delayed_goals((domain(number), ground(A), not number(A))), 422 !, 423 'CHRkill'(C), 424 coca(fired_rule(anonymous("8"))), 425 I is A, 426 le(I, B). 427'CHRle_2'(le(A, B), C, D, E) ?- 428 coca(try_rule(E, le(A, B), anonymous("9"), le(F, G), replacement, (domain(number), ground(G), not number(G)), (H is G, le(F, H)))), 429 no_delayed_goals((domain(number), ground(B), not number(B))), 430 !, 431 'CHRkill'(C), 432 coca(fired_rule(anonymous("9"))), 433 I is B, 434 le(A, I). 435'CHRle_2'(le(A, B), C, D, E) ?- 436 coca(try_rule(E, le(A, B), anonymous("13"), le(F, G), replacement, (ground(F), ground(G)), domain(number) -> F =< G ; F @=< G)), 437 no_delayed_goals((ground(A), ground(B))), 438 !, 439 'CHRkill'(C), 440 coca(fired_rule(anonymous("13"))), 441 ( 442 domain(number) 443 -> 444 A =< B 445 ; 446 A @=< B 447 ). 448'CHRle_2'(le(A, B), C, D, E) ?- 449 'CHRget_delayed_goals'(B, F), 450 'CHRle_2__97'(F, [B, A], [], G), 451 coca(try_double(E, le(A, B), G, le(B, A), le(H, I), le(I, H), replacement, true, H = I, anonymous("4"))), 452 !, 453 'CHRkill'(C), 454 coca(fired_rule(anonymous("4"))), 455 A = B. 456'CHRle_2'(le(A, B), C, D, E) ?- 457 'CHRget_delayed_goals'(B, F), 458 'CHRle_2__98'(F, [B, A], [], G), 459 coca(try_double(E, le(A, B), G, le(B, A), le(H, I), le(I, H), replacement, true, I = H, anonymous("4"))), 460 !, 461 'CHRkill'(C), 462 coca(fired_rule(anonymous("4"))), 463 B = A. 464'CHRle_2'(le(A, B), C, D, E) ?- 465 'CHRget_delayed_goals'(B, F), 466 'CHRle_2__99'(F, [B], [G, H, I], J), 467 coca(try_double(E, le(A, B), J, B :: [I|H], le(K, L), L :: [M|N], keep_second, ((ground(K), remove_lower(K, [M|N], O)), 'CHRkeep_heads_checking'(L :: [M|N], P, L :: O, Q)), 'CHRhead_not_kept'(Q) -> L :: O ; true, anonymous("25"))), 468 no_delayed_goals(((ground(A), remove_lower(A, [I|H], R)), 'CHRkeep_heads_checking'(B :: [I|H], G, B :: R, S))), 469 !, 470 'CHRkill'(C), 471 coca(fired_rule(anonymous("25"))), 472 ( 473 'CHRhead_not_kept'(S) 474 -> 475 B :: R 476 ; 477 true 478 ). 479'CHRle_2'(le(A, B), C, D, E) ?- 480 'CHRget_delayed_goals'(A, F), 481 'CHRle_2__100'(F, [A], [G, H, I], J), 482 coca(try_double(E, le(A, B), J, A :: [I|H], le(K, L), K :: [M|N], keep_second, ((ground(L), remove_higher(L, [M|N], O)), 'CHRkeep_heads_checking'(K :: [M|N], P, K :: O, Q)), 'CHRhead_not_kept'(Q) -> K :: O ; true, anonymous("26"))), 483 no_delayed_goals(((ground(B), remove_higher(B, [I|H], R)), 'CHRkeep_heads_checking'(A :: [I|H], G, A :: R, S))), 484 !, 485 'CHRkill'(C), 486 coca(fired_rule(anonymous("26"))), 487 ( 488 'CHRhead_not_kept'(S) 489 -> 490 A :: R 491 ; 492 true 493 ). 494'CHRle_2'(le(A, B), C, D, E) ?- 495 'CHRget_delayed_goals'(B, F), 496 'CHRle_2__101'(F, [B], [G, H, I], J), 497 coca(try_double(E, le(A, B), J, B :: I : H, le(K, L), L :: M : N, keep_second, ((ground(K), maximum(M, K, O)), 'CHRkeep_heads_checking'(L :: M : N, P, L :: O : N, Q)), 'CHRhead_not_kept'(Q) -> L :: O : N ; true, anonymous("41"))), 498 no_delayed_goals(((ground(A), maximum(I, A, R)), 'CHRkeep_heads_checking'(B :: I : H, G, B :: R : H, S))), 499 !, 500 'CHRkill'(C), 501 coca(fired_rule(anonymous("41"))), 502 ( 503 'CHRhead_not_kept'(S) 504 -> 505 B :: R : H 506 ; 507 true 508 ). 509'CHRle_2'(le(A, B), C, D, E) ?- 510 'CHRget_delayed_goals'(A, F), 511 'CHRle_2__102'(F, [A], [G, H, I], J), 512 coca(try_double(E, le(A, B), J, A :: I : H, le(K, L), K :: M : N, keep_second, ((ground(L), minimum(N, L, O)), 'CHRkeep_heads_checking'(K :: M : N, P, K :: M : O, Q)), 'CHRhead_not_kept'(Q) -> K :: M : O ; true, anonymous("42"))), 513 no_delayed_goals(((ground(B), minimum(H, B, R)), 'CHRkeep_heads_checking'(A :: I : H, G, A :: I : R, S))), 514 !, 515 'CHRkill'(C), 516 coca(fired_rule(anonymous("42"))), 517 ( 518 'CHRhead_not_kept'(S) 519 -> 520 A :: I : R 521 ; 522 true 523 ). 524'CHRle_2'(le(A, B), C, D, E) ?- 525 'CHRget_delayed_goals'(B, F), 526 'CHRle_2__103'(F, [B, A], [G, H], I), 527 coca(try_double(E, le(A, B), I, B - A :: H, le(J, K), K - J :: L, keep_second, ((M = N - O, findall(M, (member(M, L), N @=< O), P)), 'CHRkeep_heads_checking'(K - J :: L, Q, K - J :: P, R)), 'CHRhead_not_kept'(R) -> K - J :: P ; true, anonymous("62"))), 528 no_delayed_goals(((S = T - U, findall(S, (member(S, H), T @=< U), V)), 'CHRkeep_heads_checking'(B - A :: H, G, B - A :: V, W))), 529 !, 530 'CHRkill'(C), 531 coca(fired_rule(anonymous("62"))), 532 ( 533 'CHRhead_not_kept'(W) 534 -> 535 B - A :: V 536 ; 537 true 538 ). 539'CHRle_2'(le(A, B), C, D, E) ?- 540 'CHRget_delayed_goals'(B, F), 541 'CHRle_2__104'(F, [B, A], [G, H], I), 542 coca(try_double(E, le(A, B), I, A - B :: H, le(J, K), J - K :: L, keep_second, ((M = N - O, findall(M, (member(M, L), O @=< N), P)), 'CHRkeep_heads_checking'(J - K :: L, Q, J - K :: P, R)), 'CHRhead_not_kept'(R) -> J - K :: P ; true, anonymous("63"))), 543 no_delayed_goals(((S = T - U, findall(S, (member(S, H), U @=< T), V)), 'CHRkeep_heads_checking'(A - B :: H, G, A - B :: V, W))), 544 !, 545 'CHRkill'(C), 546 coca(fired_rule(anonymous("63"))), 547 ( 548 'CHRhead_not_kept'(W) 549 -> 550 A - B :: V 551 ; 552 true 553 ). 554'CHRle_2'(le(A, B), C, D, E) :- 555 'CHRle_2__96'(le(A, B), C, D, E). 556'CHRle_2__97'(['CHRle_2'(le(A, B), C, D, E)|F], [A, B], [], G) ?- 557 'CHRvar'(C), 558 'CHRkill'(C), 559 'CHR='([], []), 560 'CHR='(E, G). 561'CHRle_2__97'([A|B], C, D, E) :- 562 'CHRle_2__97'(B, C, D, E). 563:- set_flag('CHRle_2__97' / 4, leash, notrace). 564'CHRle_2__98'(['CHRle_2'(le(A, B), C, D, E)|F], [A, B], [], G) ?- 565 'CHRvar'(C), 566 'CHRkill'(C), 567 'CHR='([], []), 568 'CHR='(E, G). 569'CHRle_2__98'([A|B], C, D, E) :- 570 'CHRle_2__98'(B, C, D, E). 571:- set_flag('CHRle_2__98' / 4, leash, notrace). 572'CHRle_2__99'(['CHR::_2'(A :: [B|C], D, E, F)|G], [A], [H, I, J], K) ?- 573 'CHRvar'(D), 574 'CHR='([D, C, B], [H, I, J]), 575 'CHR='(F, K). 576'CHRle_2__99'([A|B], C, D, E) :- 577 'CHRle_2__99'(B, C, D, E). 578:- set_flag('CHRle_2__99' / 4, leash, notrace). 579'CHRle_2__100'(['CHR::_2'(A :: [B|C], D, E, F)|G], [A], [H, I, J], K) ?- 580 'CHRvar'(D), 581 'CHR='([D, C, B], [H, I, J]), 582 'CHR='(F, K). 583'CHRle_2__100'([A|B], C, D, E) :- 584 'CHRle_2__100'(B, C, D, E). 585:- set_flag('CHRle_2__100' / 4, leash, notrace). 586'CHRle_2__101'(['CHR::_2'(A :: B : C, D, E, F)|G], [A], [H, I, J], K) ?- 587 'CHRvar'(D), 588 'CHR='([D, C, B], [H, I, J]), 589 'CHR='(F, K). 590'CHRle_2__101'([A|B], C, D, E) :- 591 'CHRle_2__101'(B, C, D, E). 592:- set_flag('CHRle_2__101' / 4, leash, notrace). 593'CHRle_2__102'(['CHR::_2'(A :: B : C, D, E, F)|G], [A], [H, I, J], K) ?- 594 'CHRvar'(D), 595 'CHR='([D, C, B], [H, I, J]), 596 'CHR='(F, K). 597'CHRle_2__102'([A|B], C, D, E) :- 598 'CHRle_2__102'(B, C, D, E). 599:- set_flag('CHRle_2__102' / 4, leash, notrace). 600'CHRle_2__103'(['CHR::_2'(A - B :: C, D, E, F)|G], [A, B], [H, I], J) ?- 601 'CHRvar'(D), 602 'CHR='([D, C], [H, I]), 603 'CHR='(F, J). 604'CHRle_2__103'([A|B], C, D, E) :- 605 'CHRle_2__103'(B, C, D, E). 606:- set_flag('CHRle_2__103' / 4, leash, notrace). 607'CHRle_2__104'(['CHR::_2'(A - B :: C, D, E, F)|G], [B, A], [H, I], J) ?- 608 'CHRvar'(D), 609 'CHR='([D, C], [H, I]), 610 'CHR='(F, J). 611'CHRle_2__104'([A|B], C, D, E) :- 612 'CHRle_2__104'(B, C, D, E). 613:- set_flag('CHRle_2__104' / 4, leash, notrace). 614:- set_flag('CHRle_2' / 4, leash, notrace). 615:- current_macro('CHRle_2' / 4, _32744, _32745, _32746) -> true ; define_macro('CHRle_2' / 4, tr_chr / 2, [write]). 616'CHRle_2__96'(A, B, C, D) :- 617 'CHRle_2__105'(A, B, C, D). 618:- set_flag('CHRle_2__96' / 4, leash, notrace). 619'CHRle_2__105'(le(A, B), C, D, E) ?- 620 'CHRvar'(C), 621 !, 622 'CHRget_delayed_goals'(B, F), 623 'CHRle_2__105__106'(F, C, le(A, B), D, E). 624'CHRle_2__105'(le(A, B), C, D, E) :- 625 'CHRle_2__105__107'(le(A, B), C, D, E). 626:- set_flag('CHRle_2__105' / 4, leash, notrace). 627'CHRle_2__105__106'(['CHR::_2'(A :: [B|C], D, E, F)|G], H, le(I, A), J, K) ?- 628 'CHRvar'(D), 629 'CHRcheck_and_mark_applied'(anonymous("30"), H, D, J, E), 630 coca(try_double(K, le(I, A), F, A :: [B|C], le(L, M), M :: [N|O], augmentation, var(L), (last([N|O], P), le(L, P)), anonymous("30"))), 631 no_delayed_goals(var(I)), 632 !, 633 coca(fired_rule(anonymous("30"))), 634 'CHRle_2__105__106'(G, H, le(I, A), J, K), 635 last([B|C], Q), 636 le(I, Q). 637'CHRle_2__105__106'([A|B], C, D, E, F) :- 638 'CHRle_2__105__106'(B, C, D, E, F). 639'CHRle_2__105__106'([], A, B, C, D) :- 640 'CHRle_2__105__107'(B, A, C, D). 641:- set_flag('CHRle_2__105__106' / 5, leash, notrace). 642'CHRle_2__105__107'(le(A, B), C, D, E) ?- 643 'CHRvar'(C), 644 !, 645 'CHRget_delayed_goals'(A, F), 646 'CHRle_2__105__107__108'(F, C, le(A, B), D, E). 647'CHRle_2__105__107'(le(A, B), C, D, E) :- 648 'CHRle_2__105__107__109'(le(A, B), C, D, E). 649:- set_flag('CHRle_2__105__107' / 4, leash, notrace). 650'CHRle_2__105__107__108'(['CHR::_2'(A :: [B|C], D, E, F)|G], H, le(A, I), J, K) ?- 651 'CHRvar'(D), 652 'CHRcheck_and_mark_applied'(anonymous("31"), H, D, J, E), 653 coca(try_double(K, le(A, I), F, A :: [B|C], le(L, M), L :: [N|O], augmentation, var(M), le(N, M), anonymous("31"))), 654 no_delayed_goals(var(I)), 655 !, 656 coca(fired_rule(anonymous("31"))), 657 'CHRle_2__105__107__108'(G, H, le(A, I), J, K), 658 le(B, I). 659'CHRle_2__105__107__108'([A|B], C, D, E, F) :- 660 'CHRle_2__105__107__108'(B, C, D, E, F). 661'CHRle_2__105__107__108'([], A, B, C, D) :- 662 'CHRle_2__105__107__109'(B, A, C, D). 663:- set_flag('CHRle_2__105__107__108' / 5, leash, notrace). 664'CHRle_2__105__107__109'(le(A, B), C, D, E) ?- 665 'CHRvar'(C), 666 !, 667 'CHRget_delayed_goals'(B, F), 668 'CHRle_2__105__107__109__110'(F, C, le(A, B), D, E). 669'CHRle_2__105__107__109'(le(A, B), C, D, E) :- 670 'CHRle_2__105__107__109__111'(le(A, B), C, D, E). 671:- set_flag('CHRle_2__105__107__109' / 4, leash, notrace). 672'CHRle_2__105__107__109__110'(['CHR::_2'(A :: B : C, D, E, F)|G], H, le(I, A), J, K) ?- 673 'CHRvar'(D), 674 'CHRcheck_and_mark_applied'(anonymous("45"), H, D, J, E), 675 coca(try_double(K, le(I, A), F, A :: B : C, le(L, M), M :: N : O, augmentation, var(L), le(L, O), anonymous("45"))), 676 no_delayed_goals(var(I)), 677 !, 678 coca(fired_rule(anonymous("45"))), 679 'CHRle_2__105__107__109__110'(G, H, le(I, A), J, K), 680 le(I, C). 681'CHRle_2__105__107__109__110'([A|B], C, D, E, F) :- 682 'CHRle_2__105__107__109__110'(B, C, D, E, F). 683'CHRle_2__105__107__109__110'([], A, B, C, D) :- 684 'CHRle_2__105__107__109__111'(B, A, C, D). 685:- set_flag('CHRle_2__105__107__109__110' / 5, leash, notrace). 686'CHRle_2__105__107__109__111'(le(A, B), C, D, E) ?- 687 'CHRvar'(C), 688 !, 689 'CHRget_delayed_goals'(A, F), 690 'CHRle_2__105__107__109__111__112'(F, C, le(A, B), D, E). 691'CHRle_2__105__107__109__111'(le(A, B), C, D, E) :- 692 'CHRle_2__105__107__109__111__113'(le(A, B), C, D, E). 693:- set_flag('CHRle_2__105__107__109__111' / 4, leash, notrace). 694'CHRle_2__105__107__109__111__112'(['CHR::_2'(A :: B : C, D, E, F)|G], H, le(A, I), J, K) ?- 695 'CHRvar'(D), 696 'CHRcheck_and_mark_applied'(anonymous("46"), H, D, J, E), 697 coca(try_double(K, le(A, I), F, A :: B : C, le(L, M), L :: N : O, augmentation, var(M), le(N, M), anonymous("46"))), 698 no_delayed_goals(var(I)), 699 !, 700 coca(fired_rule(anonymous("46"))), 701 'CHRle_2__105__107__109__111__112'(G, H, le(A, I), J, K), 702 le(B, I). 703'CHRle_2__105__107__109__111__112'([A|B], C, D, E, F) :- 704 'CHRle_2__105__107__109__111__112'(B, C, D, E, F). 705'CHRle_2__105__107__109__111__112'([], A, B, C, D) :- 706 'CHRle_2__105__107__109__111__113'(B, A, C, D). 707:- set_flag('CHRle_2__105__107__109__111__112' / 5, leash, notrace). 708'CHRle_2__105__107__109__111__113'(le(A, B), C, D, E) :- 709 ( 710 'CHRvar'(C) 711 -> 712 'CHRdelay'([C, le(A, B)], 'CHRle_2'(le(A, B), C, D, E)) 713 ; 714 true 715 ). 716:- set_flag('CHRle_2__105__107__109__111__113' / 4, leash, notrace). 717ne(A, B) :- 718 'CHRgen_num'(C), 719 coca(add_one_constraint(C, ne(A, B))), 720 'CHRne_2'(ne(A, B), D, E, C). 721 722 723 724%%% Rules handling for ne / 2 725 726'CHRne_2'(ne(A, B), C, D, E) :- 727 ( 728 'CHRnonvar'(C) 729 ; 730 'CHRalready_in'('CHRne_2'(ne(A, B), C, D, E)), 731 coca(already_in) 732 ), 733 !. 734'CHRne_2'(ne(A, A), B, C, D) ?- 735 coca(try_rule(D, ne(A, A), anonymous("2"), ne(E, E), replacement, true, fail)), 736 !, 737 'CHRkill'(B), 738 coca(fired_rule(anonymous("2"))), 739 fail. 740'CHRne_2'(ne(A, B), C, D, E) ?- 741 coca(try_rule(E, ne(A, B), anonymous("10"), ne(F, G), replacement, (domain(number), ground(F), not number(F)), (H is F, ne(H, G)))), 742 no_delayed_goals((domain(number), ground(A), not number(A))), 743 !, 744 'CHRkill'(C), 745 coca(fired_rule(anonymous("10"))), 746 I is A, 747 ne(I, B). 748'CHRne_2'(ne(A, B), C, D, E) ?- 749 coca(try_rule(E, ne(A, B), anonymous("11"), ne(F, G), replacement, (domain(number), ground(G), not number(G)), (H is G, ne(F, H)))), 750 no_delayed_goals((domain(number), ground(B), not number(B))), 751 !, 752 'CHRkill'(C), 753 coca(fired_rule(anonymous("11"))), 754 I is B, 755 ne(A, I). 756'CHRne_2'(ne(A, B), C, D, E) ?- 757 coca(try_rule(E, ne(A, B), anonymous("14"), ne(F, G), replacement, (ground(F), ground(G)), domain(number) -> F =\= G ; F \== G)), 758 no_delayed_goals((ground(A), ground(B))), 759 !, 760 'CHRkill'(C), 761 coca(fired_rule(anonymous("14"))), 762 ( 763 domain(number) 764 -> 765 A =\= B 766 ; 767 A \== B 768 ). 769'CHRne_2'(ne(A, B), C, D, E) ?- 770 'CHRget_delayed_goals'(B, F), 771 'CHRne_2__115'(F, [B, A], [], G), 772 coca(try_double(E, ne(A, B), G, ne(B, A), ne(H, I), ne(I, H), keep_second, true, true, anonymous("5"))), 773 !, 774 'CHRkill'(C), 775 coca(fired_rule(anonymous("5"))). 776'CHRne_2'(ne(A, B), C, D, E) ?- 777 'CHRget_delayed_goals'(A, F), 778 'CHRne_2__116'(F, [A], [G, H, I], J), 779 coca(try_double(E, ne(A, B), J, A :: [I|H], ne(K, L), K :: [M|N], keep_second, ((ground(L), remove(L, [M|N], O)), 'CHRkeep_heads_checking'(K :: [M|N], P, K :: O, Q)), 'CHRhead_not_kept'(Q) -> K :: O ; true, anonymous("23"))), 780 no_delayed_goals(((ground(B), remove(B, [I|H], R)), 'CHRkeep_heads_checking'(A :: [I|H], G, A :: R, S))), 781 !, 782 'CHRkill'(C), 783 coca(fired_rule(anonymous("23"))), 784 ( 785 'CHRhead_not_kept'(S) 786 -> 787 A :: R 788 ; 789 true 790 ). 791'CHRne_2'(ne(A, B), C, D, E) ?- 792 'CHRget_delayed_goals'(B, F), 793 'CHRne_2__117'(F, [B], [G, H, I], J), 794 coca(try_double(E, ne(A, B), J, B :: [I|H], ne(K, L), L :: [M|N], keep_second, ((ground(K), remove(K, [M|N], O)), 'CHRkeep_heads_checking'(L :: [M|N], P, L :: O, Q)), 'CHRhead_not_kept'(Q) -> L :: O ; true, anonymous("24"))), 795 no_delayed_goals(((ground(A), remove(A, [I|H], R)), 'CHRkeep_heads_checking'(B :: [I|H], G, B :: R, S))), 796 !, 797 'CHRkill'(C), 798 coca(fired_rule(anonymous("24"))), 799 ( 800 'CHRhead_not_kept'(S) 801 -> 802 B :: R 803 ; 804 true 805 ). 806'CHRne_2'(ne(A, B), C, D, E) ?- 807 'CHRget_delayed_goals'(A, F), 808 'CHRne_2__118'(F, [A], [G, H], I), 809 coca(try_double(E, ne(A, B), I, A :: H : G, ne(J, K), J :: L : M, keep_second, (ground(K), (domain(number) -> (K < L ; K > M) ; K @< L ; K @> M)), true, anonymous("39"))), 810 no_delayed_goals((ground(B), (domain(number) -> (B < H ; B > G) ; B @< H ; B @> G))), 811 !, 812 'CHRkill'(C), 813 coca(fired_rule(anonymous("39"))). 814'CHRne_2'(ne(A, B), C, D, E) ?- 815 'CHRget_delayed_goals'(B, F), 816 'CHRne_2__119'(F, [B], [G, H], I), 817 coca(try_double(E, ne(A, B), I, B :: H : G, ne(J, K), K :: L : M, keep_second, (ground(J), (domain(number) -> (J < L ; J > M) ; J @< L ; J @> M)), true, anonymous("40"))), 818 no_delayed_goals((ground(A), (domain(number) -> (A < H ; A > G) ; A @< H ; A @> G))), 819 !, 820 'CHRkill'(C), 821 coca(fired_rule(anonymous("40"))). 822'CHRne_2'(ne(A, B), C, D, E) ?- 823 'CHRget_delayed_goals'(B, F), 824 'CHRne_2__120'(F, [B, A], [G, H], I), 825 coca(try_double(E, ne(A, B), I, B - A :: H, ne(J, K), K - J :: L, keep_second, ((M = N - O, findall(M, (member(M, L), N \== O), P)), 'CHRkeep_heads_checking'(K - J :: L, Q, K - J :: P, R)), 'CHRhead_not_kept'(R) -> K - J :: P ; true, anonymous("64"))), 826 no_delayed_goals(((S = T - U, findall(S, (member(S, H), T \== U), V)), 'CHRkeep_heads_checking'(B - A :: H, G, B - A :: V, W))), 827 !, 828 'CHRkill'(C), 829 coca(fired_rule(anonymous("64"))), 830 ( 831 'CHRhead_not_kept'(W) 832 -> 833 B - A :: V 834 ; 835 true 836 ). 837'CHRne_2'(ne(A, B), C, D, E) ?- 838 'CHRget_delayed_goals'(B, F), 839 'CHRne_2__121'(F, [B, A], [G, H], I), 840 coca(try_double(E, ne(A, B), I, A - B :: H, ne(J, K), J - K :: L, keep_second, ((M = N - O, findall(M, (member(M, L), O \== N), P)), 'CHRkeep_heads_checking'(J - K :: L, Q, J - K :: P, R)), 'CHRhead_not_kept'(R) -> J - K :: P ; true, anonymous("65"))), 841 no_delayed_goals(((S = T - U, findall(S, (member(S, H), U \== T), V)), 'CHRkeep_heads_checking'(A - B :: H, G, A - B :: V, W))), 842 !, 843 'CHRkill'(C), 844 coca(fired_rule(anonymous("65"))), 845 ( 846 'CHRhead_not_kept'(W) 847 -> 848 A - B :: V 849 ; 850 true 851 ). 852'CHRne_2'(ne(A, B), C, D, E) :- 853 'CHRne_2__114'(ne(A, B), C, D, E). 854'CHRne_2__115'(['CHRne_2'(ne(A, B), C, D, E)|F], [A, B], [], G) ?- 855 'CHRvar'(C), 856 'CHR='([], []), 857 'CHR='(E, G). 858'CHRne_2__115'([A|B], C, D, E) :- 859 'CHRne_2__115'(B, C, D, E). 860:- set_flag('CHRne_2__115' / 4, leash, notrace). 861'CHRne_2__116'(['CHR::_2'(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'CHRne_2__116'([A|B], C, D, E) :- 866 'CHRne_2__116'(B, C, D, E). 867:- set_flag('CHRne_2__116' / 4, leash, notrace). 868'CHRne_2__117'(['CHR::_2'(A :: [B|C], D, E, F)|G], [A], [H, I, J], K) ?- 869 'CHRvar'(D), 870 'CHR='([D, C, B], [H, I, J]), 871 'CHR='(F, K). 872'CHRne_2__117'([A|B], C, D, E) :- 873 'CHRne_2__117'(B, C, D, E). 874:- set_flag('CHRne_2__117' / 4, leash, notrace). 875'CHRne_2__118'(['CHR::_2'(A :: B : C, D, E, F)|G], [A], [H, I], J) ?- 876 'CHRvar'(D), 877 'CHR='([C, B], [H, I]), 878 'CHR='(F, J). 879'CHRne_2__118'([A|B], C, D, E) :- 880 'CHRne_2__118'(B, C, D, E). 881:- set_flag('CHRne_2__118' / 4, leash, notrace). 882'CHRne_2__119'(['CHR::_2'(A :: B : C, D, E, F)|G], [A], [H, I], J) ?- 883 'CHRvar'(D), 884 'CHR='([C, B], [H, I]), 885 'CHR='(F, J). 886'CHRne_2__119'([A|B], C, D, E) :- 887 'CHRne_2__119'(B, C, D, E). 888:- set_flag('CHRne_2__119' / 4, leash, notrace). 889'CHRne_2__120'(['CHR::_2'(A - B :: C, D, E, F)|G], [A, B], [H, I], J) ?- 890 'CHRvar'(D), 891 'CHR='([D, C], [H, I]), 892 'CHR='(F, J). 893'CHRne_2__120'([A|B], C, D, E) :- 894 'CHRne_2__120'(B, C, D, E). 895:- set_flag('CHRne_2__120' / 4, leash, notrace). 896'CHRne_2__121'(['CHR::_2'(A - B :: C, D, E, F)|G], [B, A], [H, I], J) ?- 897 'CHRvar'(D), 898 'CHR='([D, C], [H, I]), 899 'CHR='(F, J). 900'CHRne_2__121'([A|B], C, D, E) :- 901 'CHRne_2__121'(B, C, D, E). 902:- set_flag('CHRne_2__121' / 4, leash, notrace). 903:- set_flag('CHRne_2' / 4, leash, notrace). 904:- current_macro('CHRne_2' / 4, _38917, _38918, _38919) -> true ; define_macro('CHRne_2' / 4, tr_chr / 2, [write]). 905'CHRne_2__114'(A, B, C, D) :- 906 'CHRne_2__122'(A, B, C, D). 907:- set_flag('CHRne_2__114' / 4, leash, notrace). 908'CHRne_2__122'(ne(A, B), C, D, E) ?- 909 'CHRvar'(C), 910 !, 911 'CHRget_delayed_goals'(B, F), 912 'CHRne_2__122__123'(F, C, ne(A, B), D, E). 913'CHRne_2__122'(ne(A, B), C, D, E) :- 914 'CHRne_2__122__124'(ne(A, B), C, D, E). 915:- set_flag('CHRne_2__122' / 4, leash, notrace). 916'CHRne_2__122__123'(['CHRne_2'(ne(A, B), C, D, E)|F], G, ne(B, A), H, I) ?- 917 'CHRvar'(C), 918 coca(try_double(I, ne(B, A), E, ne(A, B), ne(J, K), ne(K, J), keep_first, true, true, anonymous("5"))), 919 !, 920 'CHRkill'(C), 921 coca(fired_rule(anonymous("5"))), 922 'CHRne_2__122__123'(F, G, ne(B, A), H, I). 923'CHRne_2__122__123'([A|B], C, D, E, F) :- 924 'CHRne_2__122__123'(B, C, D, E, F). 925'CHRne_2__122__123'([], A, B, C, D) :- 926 'CHRne_2__122__124'(B, A, C, D). 927:- set_flag('CHRne_2__122__123' / 5, leash, notrace). 928'CHRne_2__122__124'(ne(A, B), C, D, E) :- 929 ( 930 'CHRvar'(C) 931 -> 932 'CHRdelay'([C, ne(A, B)], 'CHRne_2'(ne(A, B), C, D, E)) 933 ; 934 true 935 ). 936:- set_flag('CHRne_2__122__124' / 4, leash, notrace). 937 938 939 940%%% Prolog clauses for :: / 2 941 942'clause_::'(A, [B|C]) :- 943 member(A, [B|C]). 944'clause_::'(A, B : C) :- 945 D is (B + C) / 2, 946 ( 947 A :: B : D 948 ; 949 ne(A, D), 950 A :: D : C 951 ). 952:- current_macro('clause_::' / 2, _39665, _39666, _39667) -> true ; define_macro('clause_::' / 2, tr_chr / 2, [write]). 953A :: B :- 954 'CHRgen_num'(C), 955 coca(add_one_constraint(C, A :: B)), 956 'CHR::_2'(A :: B, D, E, C). 957 958 959 960%%% Rules handling for :: / 2 961 962'CHR::_2'(A :: B, C, D, E) :- 963 ( 964 'CHRnonvar'(C) 965 ; 966 'CHRalready_in'('CHR::_2'(A :: B, C, D, E)), 967 coca(already_in) 968 ), 969 !. 970'CHR::_2'(A :: B, C, D, E) ?- 971 coca(try_rule(E, A :: B, anonymous("15"), F :: G, replacement, nonground(G), (write('ERROR: Nonground Domain in '), writeln(F :: G), abort))), 972 no_delayed_goals(nonground(B)), 973 !, 974 'CHRkill'(C), 975 coca(fired_rule(anonymous("15"))), 976 write('ERROR: Nonground Domain in '), 977 writeln(A :: B), 978 abort. 979'CHR::_2'([A|B] :: C, D, E, F) ?- 980 coca(try_rule(F, [A|B] :: C, anonymous("16"), [G|H] :: I, replacement, true, makedom([G|H], I))), 981 !, 982 'CHRkill'(D), 983 coca(fired_rule(anonymous("16"))), 984 makedom([A|B], C). 985'CHR::_2'(A :: B .. C, D, E, F) ?- 986 coca(try_rule(F, A :: B .. C, anonymous("17"), G :: H .. I, replacement, true, (J is H, (J =:= round(J) -> K is fix(J) ; K is fix(J + 1)), L is fix(I), interval(K, L, M), G :: M))), 987 !, 988 'CHRkill'(D), 989 coca(fired_rule(anonymous("17"))), 990 N is B, 991 ( 992 N =:= round(N) 993 -> 994 O is fix(N) 995 ; 996 O is fix(N + 1) 997 ), 998 P is fix(C), 999 interval(O, P, Q), 1000 A :: Q. 1001'CHR::_2'(A :: [B|C], D, E, F) ?- 1002 coca(try_rule(F, A :: [B|C], anonymous("18"), G :: [H|I], replacement, (domain(number), member(G, [H|I]), not number(G)), (eval_list([H|I], J), sort(J, K), G :: K))), 1003 no_delayed_goals((domain(number), member(A, [B|C]), not number(A))), 1004 !, 1005 'CHRkill'(D), 1006 coca(fired_rule(anonymous("18"))), 1007 eval_list([B|C], L), 1008 sort(L, M), 1009 A :: M. 1010'CHR::_2'(A :: [], B, C, D) ?- 1011 coca(try_rule(D, A :: [], anonymous("19"), E :: [], replacement, true, fail)), 1012 !, 1013 'CHRkill'(B), 1014 coca(fired_rule(anonymous("19"))), 1015 fail. 1016'CHR::_2'(A :: [B], C, D, E) ?- 1017 coca(try_rule(E, A :: [B], anonymous("20"), F :: [G], replacement, true, F = G)), 1018 !, 1019 'CHRkill'(C), 1020 coca(fired_rule(anonymous("20"))), 1021 A = B. 1022'CHR::_2'(A :: [B|C], D, E, F) ?- 1023 coca(try_rule(F, A :: [B|C], anonymous("21"), G :: [H|I], replacement, ground(G), member(G, [H|I]) -> true)), 1024 no_delayed_goals(ground(A)), 1025 !, 1026 'CHRkill'(D), 1027 coca(fired_rule(anonymous("21"))), 1028 ( 1029 member(A, [B|C]) 1030 -> 1031 true 1032 ). 1033'CHR::_2'(A :: B : C, D, E, F) ?- 1034 coca(try_rule(F, A :: B : C, anonymous("34"), G :: H : I, replacement, (domain(number), not (number(H), number(I))), (J is H, K is I, G :: J : K))), 1035 no_delayed_goals((domain(number), not (number(B), number(C)))), 1036 !, 1037 'CHRkill'(D), 1038 coca(fired_rule(anonymous("34"))), 1039 L is B, 1040 M is C, 1041 A :: L : M. 1042'CHR::_2'(A :: B : B, C, D, E) ?- 1043 coca(try_rule(E, A :: B : B, anonymous("35"), F :: G : G, replacement, true, F = G)), 1044 !, 1045 'CHRkill'(C), 1046 coca(fired_rule(anonymous("35"))), 1047 A = B. 1048'CHR::_2'(A :: B : C, D, E, F) ?- 1049 coca(try_rule(F, A :: B : C, anonymous("36"), G :: H : I, replacement, domain(number) -> H > I ; H @> I, fail)), 1050 no_delayed_goals(domain(number) -> B > C ; B @> C), 1051 !, 1052 'CHRkill'(D), 1053 coca(fired_rule(anonymous("36"))), 1054 fail. 1055'CHR::_2'(A :: B : C, D, E, F) ?- 1056 coca(try_rule(F, A :: B : C, anonymous("37"), G :: H : I, replacement, ground(G), domain(number) -> (H =< G, G =< I) ; (H @=< G, G @=< I))), 1057 no_delayed_goals(ground(A)), 1058 !, 1059 'CHRkill'(D), 1060 coca(fired_rule(anonymous("37"))), 1061 ( 1062 domain(number) 1063 -> 1064 B =< A, 1065 A =< C 1066 ; 1067 B @=< A, 1068 A @=< C 1069 ). 1070'CHR::_2'(A - A :: B, C, D, E) ?- 1071 coca(try_rule(E, A - A :: B, anonymous("53"), F - F :: G, replacement, true, (setof(H, member(H - H, G), I), F :: I))), 1072 !, 1073 'CHRkill'(C), 1074 coca(fired_rule(anonymous("53"))), 1075 setof(J, member(J - J, B), K), 1076 A :: K. 1077'CHR::_2'(A - B :: C, D, E, F) ?- 1078 coca(try_rule(F, A - B :: C, anonymous("54"), G - H :: I, replacement, ground(G), (setof(J, member(G - J, I), K), H :: K))), 1079 no_delayed_goals(ground(A)), 1080 !, 1081 'CHRkill'(D), 1082 coca(fired_rule(anonymous("54"))), 1083 setof(L, member(A - L, C), M), 1084 B :: M. 1085'CHR::_2'(A - B :: C, D, E, F) ?- 1086 coca(try_rule(F, A - B :: C, anonymous("55"), G - H :: I, replacement, ground(H), (setof(J, member(J - H, I), K), G :: K))), 1087 no_delayed_goals(ground(B)), 1088 !, 1089 'CHRkill'(D), 1090 coca(fired_rule(anonymous("55"))), 1091 setof(L, member(L - B, C), M), 1092 A :: M. 1093'CHR::_2'(A :: B, C, D, E) :- 1094 'CHR::_2__125'(A :: B, C, D, E). 1095:- set_flag('CHR::_2' / 4, leash, notrace). 1096:- current_macro('CHR::_2' / 4, _42135, _42136, _42137) -> true ; define_macro('CHR::_2' / 4, tr_chr / 2, [write]). 1097'CHR::_2__125'(A - B :: C, D, E, F) ?- 1098 'CHRvar'(D), 1099 'CHRcheck_and_mark_applied'('CHR::_2__125', E), 1100 coca(try_rule(F, A - B :: C, anonymous("66"), G - H :: I, augmentation, true, (J = K - L, setof(K, J ^ member(J, I), M), G :: M, setof(L, J ^ member(J, I), N), H :: N))), 1101 !, 1102 'CHR::_2__125__127'(A - B :: C, D, E, F), 1103 coca(fired_rule(anonymous("66"))), 1104 O = P - Q, 1105 setof(P, O ^ member(O, C), R), 1106 A :: R, 1107 setof(Q, O ^ member(O, C), S), 1108 B :: S. 1109'CHR::_2__125'(A, B, C, D) ?- 1110 'CHR::_2__125__127'(A, B, C, D). 1111:- set_flag('CHR::_2__125' / 4, leash, notrace). 1112'CHR::_2__125__127'(A, B, C, D) :- 1113 'CHR::_2__126'(A, B, C, D). 1114:- set_flag('CHR::_2__125__127' / 4, leash, notrace). 1115'CHR::_2__126'(A :: [B|C], D, E, F) ?- 1116 'CHRvar'(D), 1117 !, 1118 'CHRget_delayed_goals'(A, G), 1119 'CHR::_2__126__128'(G, D, A :: [B|C], E, F). 1120'CHR::_2__126'(A :: B, C, D, E) :- 1121 'CHR::_2__126__129'(A :: B, C, D, E). 1122:- set_flag('CHR::_2__126' / 4, leash, notrace). 1123'CHR::_2__126__128'(['CHRne_2'(ne(A, B), C, D, E)|F], G, A :: [H|I], J, K) ?- 1124 'CHRvar'(C), 1125 coca(try_double(K, A :: [H|I], E, ne(A, B), L :: [M|N], ne(L, O), keep_first, ((ground(O), remove(O, [M|N], P)), 'CHRkeep_heads_checking'(L :: [M|N], Q, L :: P, R)), 'CHRhead_not_kept'(R) -> L :: P ; true, anonymous("23"))), 1126 no_delayed_goals(((ground(B), remove(B, [H|I], S)), 'CHRkeep_heads_checking'(A :: [H|I], G, A :: S, T))), 1127 !, 1128 'CHRkill'(C), 1129 coca(fired_rule(anonymous("23"))), 1130 'CHR::_2__126__128'(F, G, A :: [H|I], J, K), 1131 ( 1132 'CHRhead_not_kept'(T) 1133 -> 1134 A :: S 1135 ; 1136 true 1137 ). 1138'CHR::_2__126__128'([A|B], C, D, E, F) :- 1139 'CHR::_2__126__128'(B, C, D, E, F). 1140'CHR::_2__126__128'([], A, B, C, D) :- 1141 'CHR::_2__126__129'(B, A, C, D). 1142:- set_flag('CHR::_2__126__128' / 5, leash, notrace). 1143'CHR::_2__126__129'(A :: [B|C], D, E, F) ?- 1144 'CHRvar'(D), 1145 !, 1146 'CHRget_delayed_goals'(A, G), 1147 'CHR::_2__126__129__130'(G, D, A :: [B|C], E, F). 1148'CHR::_2__126__129'(A :: B, C, D, E) :- 1149 'CHR::_2__126__129__131'(A :: B, C, D, E). 1150:- set_flag('CHR::_2__126__129' / 4, leash, notrace). 1151'CHR::_2__126__129__130'(['CHRne_2'(ne(A, B), C, D, E)|F], G, B :: [H|I], J, K) ?- 1152 'CHRvar'(C), 1153 coca(try_double(K, B :: [H|I], E, ne(A, B), L :: [M|N], ne(O, L), keep_first, ((ground(O), remove(O, [M|N], P)), 'CHRkeep_heads_checking'(L :: [M|N], Q, L :: P, R)), 'CHRhead_not_kept'(R) -> L :: P ; true, anonymous("24"))), 1154 no_delayed_goals(((ground(A), remove(A, [H|I], S)), 'CHRkeep_heads_checking'(B :: [H|I], G, B :: S, T))), 1155 !, 1156 'CHRkill'(C), 1157 coca(fired_rule(anonymous("24"))), 1158 'CHR::_2__126__129__130'(F, G, B :: [H|I], J, K), 1159 ( 1160 'CHRhead_not_kept'(T) 1161 -> 1162 B :: S 1163 ; 1164 true 1165 ). 1166'CHR::_2__126__129__130'([A|B], C, D, E, F) :- 1167 'CHR::_2__126__129__130'(B, C, D, E, F). 1168'CHR::_2__126__129__130'([], A, B, C, D) :- 1169 'CHR::_2__126__129__131'(B, A, C, D). 1170:- set_flag('CHR::_2__126__129__130' / 5, leash, notrace). 1171'CHR::_2__126__129__131'(A :: [B|C], D, E, F) ?- 1172 'CHRvar'(D), 1173 !, 1174 'CHRget_delayed_goals'(A, G), 1175 'CHR::_2__126__129__131__132'(G, D, A :: [B|C], E, F). 1176'CHR::_2__126__129__131'(A :: B, C, D, E) :- 1177 'CHR::_2__126__129__131__133'(A :: B, C, D, E). 1178:- set_flag('CHR::_2__126__129__131' / 4, leash, notrace). 1179'CHR::_2__126__129__131__132'(['CHRle_2'(le(A, B), C, D, E)|F], G, B :: [H|I], J, K) ?- 1180 'CHRvar'(C), 1181 coca(try_double(K, B :: [H|I], E, le(A, B), L :: [M|N], le(O, L), keep_first, ((ground(O), remove_lower(O, [M|N], P)), 'CHRkeep_heads_checking'(L :: [M|N], Q, L :: P, R)), 'CHRhead_not_kept'(R) -> L :: P ; true, anonymous("25"))), 1182 no_delayed_goals(((ground(A), remove_lower(A, [H|I], S)), 'CHRkeep_heads_checking'(B :: [H|I], G, B :: S, T))), 1183 !, 1184 'CHRkill'(C), 1185 coca(fired_rule(anonymous("25"))), 1186 'CHR::_2__126__129__131__132'(F, G, B :: [H|I], J, K), 1187 ( 1188 'CHRhead_not_kept'(T) 1189 -> 1190 B :: S 1191 ; 1192 true 1193 ). 1194'CHR::_2__126__129__131__132'([A|B], C, D, E, F) :- 1195 'CHR::_2__126__129__131__132'(B, C, D, E, F). 1196'CHR::_2__126__129__131__132'([], A, B, C, D) :- 1197 'CHR::_2__126__129__131__133'(B, A, C, D). 1198:- set_flag('CHR::_2__126__129__131__132' / 5, leash, notrace). 1199'CHR::_2__126__129__131__133'(A :: [B|C], D, E, F) ?- 1200 'CHRvar'(D), 1201 !, 1202 'CHRget_delayed_goals'(A, G), 1203 'CHR::_2__126__129__131__133__134'(G, D, A :: [B|C], E, F). 1204'CHR::_2__126__129__131__133'(A :: B, C, D, E) :- 1205 'CHR::_2__126__129__131__133__135'(A :: B, C, D, E). 1206:- set_flag('CHR::_2__126__129__131__133' / 4, leash, notrace). 1207'CHR::_2__126__129__131__133__134'(['CHRle_2'(le(A, B), C, D, E)|F], G, A :: [H|I], J, K) ?- 1208 'CHRvar'(C), 1209 coca(try_double(K, A :: [H|I], E, le(A, B), L :: [M|N], le(L, O), keep_first, ((ground(O), remove_higher(O, [M|N], P)), 'CHRkeep_heads_checking'(L :: [M|N], Q, L :: P, R)), 'CHRhead_not_kept'(R) -> L :: P ; true, anonymous("26"))), 1210 no_delayed_goals(((ground(B), remove_higher(B, [H|I], S)), 'CHRkeep_heads_checking'(A :: [H|I], G, A :: S, T))), 1211 !, 1212 'CHRkill'(C), 1213 coca(fired_rule(anonymous("26"))), 1214 'CHR::_2__126__129__131__133__134'(F, G, A :: [H|I], J, K), 1215 ( 1216 'CHRhead_not_kept'(T) 1217 -> 1218 A :: S 1219 ; 1220 true 1221 ). 1222'CHR::_2__126__129__131__133__134'([A|B], C, D, E, F) :- 1223 'CHR::_2__126__129__131__133__134'(B, C, D, E, F). 1224'CHR::_2__126__129__131__133__134'([], A, B, C, D) :- 1225 'CHR::_2__126__129__131__133__135'(B, A, C, D). 1226:- set_flag('CHR::_2__126__129__131__133__134' / 5, leash, notrace). 1227'CHR::_2__126__129__131__133__135'(A :: [B|C], D, E, F) ?- 1228 'CHRvar'(D), 1229 !, 1230 'CHRget_delayed_goals'(A, G), 1231 'CHR::_2__126__129__131__133__135__136'(G, D, A :: [B|C], E, F). 1232'CHR::_2__126__129__131__133__135'(A :: B, C, D, E) :- 1233 'CHR::_2__126__129__131__133__135__137'(A :: B, C, D, E). 1234:- set_flag('CHR::_2__126__129__131__133__135' / 4, leash, notrace). 1235'CHR::_2__126__129__131__133__135__136'(['CHRlt_2'(lt(A, B), C, D, E)|F], G, B :: [H|I], J, K) ?- 1236 'CHRvar'(C), 1237 coca(try_double(K, B :: [H|I], E, lt(A, B), L :: [M|N], lt(O, L), keep_first, ((ground(O), remove_lower(O, [M|N], P), remove(O, P, Q)), 'CHRkeep_heads_checking'(L :: [M|N], R, L :: Q, S)), 'CHRhead_not_kept'(S) -> L :: Q ; true, anonymous("27"))), 1238 no_delayed_goals(((ground(A), remove_lower(A, [H|I], T), remove(A, T, U)), 'CHRkeep_heads_checking'(B :: [H|I], G, B :: U, V))), 1239 !, 1240 'CHRkill'(C), 1241 coca(fired_rule(anonymous("27"))), 1242 'CHR::_2__126__129__131__133__135__136'(F, G, B :: [H|I], J, K), 1243 ( 1244 'CHRhead_not_kept'(V) 1245 -> 1246 B :: U 1247 ; 1248 true 1249 ). 1250'CHR::_2__126__129__131__133__135__136'([A|B], C, D, E, F) :- 1251 'CHR::_2__126__129__131__133__135__136'(B, C, D, E, F). 1252'CHR::_2__126__129__131__133__135__136'([], A, B, C, D) :- 1253 'CHR::_2__126__129__131__133__135__137'(B, A, C, D). 1254:- set_flag('CHR::_2__126__129__131__133__135__136' / 5, leash, notrace). 1255'CHR::_2__126__129__131__133__135__137'(A :: [B|C], D, E, F) ?- 1256 'CHRvar'(D), 1257 !, 1258 'CHRget_delayed_goals'(A, G), 1259 'CHR::_2__126__129__131__133__135__137__138'(G, D, A :: [B|C], E, F). 1260'CHR::_2__126__129__131__133__135__137'(A :: B, C, D, E) :- 1261 'CHR::_2__126__129__131__133__135__137__139'(A :: B, C, D, E). 1262:- set_flag('CHR::_2__126__129__131__133__135__137' / 4, leash, notrace). 1263'CHR::_2__126__129__131__133__135__137__138'(['CHRlt_2'(lt(A, B), C, D, E)|F], G, A :: [H|I], J, K) ?- 1264 'CHRvar'(C), 1265 coca(try_double(K, A :: [H|I], E, lt(A, B), L :: [M|N], lt(L, O), keep_first, ((ground(O), remove_higher(O, [M|N], P), remove(O, P, Q)), 'CHRkeep_heads_checking'(L :: [M|N], R, L :: Q, S)), 'CHRhead_not_kept'(S) -> L :: Q ; true, anonymous("28"))), 1266 no_delayed_goals(((ground(B), remove_higher(B, [H|I], T), remove(B, T, U)), 'CHRkeep_heads_checking'(A :: [H|I], G, A :: U, V))), 1267 !, 1268 'CHRkill'(C), 1269 coca(fired_rule(anonymous("28"))), 1270 'CHR::_2__126__129__131__133__135__137__138'(F, G, A :: [H|I], J, K), 1271 ( 1272 'CHRhead_not_kept'(V) 1273 -> 1274 A :: U 1275 ; 1276 true 1277 ). 1278'CHR::_2__126__129__131__133__135__137__138'([A|B], C, D, E, F) :- 1279 'CHR::_2__126__129__131__133__135__137__138'(B, C, D, E, F). 1280'CHR::_2__126__129__131__133__135__137__138'([], A, B, C, D) :- 1281 'CHR::_2__126__129__131__133__135__137__139'(B, A, C, D). 1282:- set_flag('CHR::_2__126__129__131__133__135__137__138' / 5, leash, notrace). 1283'CHR::_2__126__129__131__133__135__137__139'(A :: B : C, D, E, F) ?- 1284 'CHRvar'(D), 1285 !, 1286 'CHRget_delayed_goals'(A, G), 1287 'CHR::_2__126__129__131__133__135__137__139__140'(G, D, A :: B : C, E, F). 1288'CHR::_2__126__129__131__133__135__137__139'(A :: B, C, D, E) :- 1289 'CHR::_2__126__129__131__133__135__137__139__141'(A :: B, C, D, E). 1290:- set_flag('CHR::_2__126__129__131__133__135__137__139' / 4, leash, notrace). 1291'CHR::_2__126__129__131__133__135__137__139__140'(['CHRne_2'(ne(A, B), C, D, E)|F], G, A :: H : I, J, K) ?- 1292 'CHRvar'(C), 1293 coca(try_double(K, A :: H : I, E, ne(A, B), L :: M : N, ne(L, O), keep_first, (ground(O), (domain(number) -> (O < M ; O > N) ; O @< M ; O @> N)), true, anonymous("39"))), 1294 no_delayed_goals((ground(B), (domain(number) -> (B < H ; B > I) ; B @< H ; B @> I))), 1295 !, 1296 'CHRkill'(C), 1297 coca(fired_rule(anonymous("39"))), 1298 'CHR::_2__126__129__131__133__135__137__139__140'(F, G, A :: H : I, J, K). 1299'CHR::_2__126__129__131__133__135__137__139__140'([A|B], C, D, E, F) :- 1300 'CHR::_2__126__129__131__133__135__137__139__140'(B, C, D, E, F). 1301'CHR::_2__126__129__131__133__135__137__139__140'([], A, B, C, D) :- 1302 'CHR::_2__126__129__131__133__135__137__139__141'(B, A, C, D). 1303:- set_flag('CHR::_2__126__129__131__133__135__137__139__140' / 5, leash, notrace). 1304'CHR::_2__126__129__131__133__135__137__139__141'(A :: B : C, D, E, F) ?- 1305 'CHRvar'(D), 1306 !, 1307 'CHRget_delayed_goals'(A, G), 1308 'CHR::_2__126__129__131__133__135__137__139__141__142'(G, D, A :: B : C, E, F). 1309'CHR::_2__126__129__131__133__135__137__139__141'(A :: B, C, D, E) :- 1310 'CHR::_2__126__129__131__133__135__137__139__141__143'(A :: B, C, D, E). 1311:- set_flag('CHR::_2__126__129__131__133__135__137__139__141' / 4, leash, notrace). 1312'CHR::_2__126__129__131__133__135__137__139__141__142'(['CHRne_2'(ne(A, B), C, D, E)|F], G, B :: H : I, J, K) ?- 1313 'CHRvar'(C), 1314 coca(try_double(K, B :: H : I, E, ne(A, B), L :: M : N, ne(O, L), keep_first, (ground(O), (domain(number) -> (O < M ; O > N) ; O @< M ; O @> N)), true, anonymous("40"))), 1315 no_delayed_goals((ground(A), (domain(number) -> (A < H ; A > I) ; A @< H ; A @> I))), 1316 !, 1317 'CHRkill'(C), 1318 coca(fired_rule(anonymous("40"))), 1319 'CHR::_2__126__129__131__133__135__137__139__141__142'(F, G, B :: H : I, J, K). 1320'CHR::_2__126__129__131__133__135__137__139__141__142'([A|B], C, D, E, F) :- 1321 'CHR::_2__126__129__131__133__135__137__139__141__142'(B, C, D, E, F). 1322'CHR::_2__126__129__131__133__135__137__139__141__142'([], A, B, C, D) :- 1323 'CHR::_2__126__129__131__133__135__137__139__141__143'(B, A, C, D). 1324:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__142' / 5, leash, notrace). 1325'CHR::_2__126__129__131__133__135__137__139__141__143'(A :: B : C, D, E, F) ?- 1326 'CHRvar'(D), 1327 !, 1328 'CHRget_delayed_goals'(A, G), 1329 'CHR::_2__126__129__131__133__135__137__139__141__143__144'(G, D, A :: B : C, E, F). 1330'CHR::_2__126__129__131__133__135__137__139__141__143'(A :: B, C, D, E) :- 1331 'CHR::_2__126__129__131__133__135__137__139__141__143__145'(A :: B, C, D, E). 1332:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143' / 4, leash, notrace). 1333'CHR::_2__126__129__131__133__135__137__139__141__143__144'(['CHRle_2'(le(A, B), C, D, E)|F], G, B :: H : I, J, K) ?- 1334 'CHRvar'(C), 1335 coca(try_double(K, B :: H : I, E, le(A, B), L :: M : N, le(O, L), keep_first, ((ground(O), maximum(M, O, P)), 'CHRkeep_heads_checking'(L :: M : N, Q, L :: P : N, R)), 'CHRhead_not_kept'(R) -> L :: P : N ; true, anonymous("41"))), 1336 no_delayed_goals(((ground(A), maximum(H, A, S)), 'CHRkeep_heads_checking'(B :: H : I, G, B :: S : I, T))), 1337 !, 1338 'CHRkill'(C), 1339 coca(fired_rule(anonymous("41"))), 1340 'CHR::_2__126__129__131__133__135__137__139__141__143__144'(F, G, B :: H : I, J, K), 1341 ( 1342 'CHRhead_not_kept'(T) 1343 -> 1344 B :: S : I 1345 ; 1346 true 1347 ). 1348'CHR::_2__126__129__131__133__135__137__139__141__143__144'([A|B], C, D, E, F) :- 1349 'CHR::_2__126__129__131__133__135__137__139__141__143__144'(B, C, D, E, F). 1350'CHR::_2__126__129__131__133__135__137__139__141__143__144'([], A, B, C, D) :- 1351 'CHR::_2__126__129__131__133__135__137__139__141__143__145'(B, A, C, D). 1352:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__144' / 5, leash, notrace). 1353'CHR::_2__126__129__131__133__135__137__139__141__143__145'(A :: B : C, D, E, F) ?- 1354 'CHRvar'(D), 1355 !, 1356 'CHRget_delayed_goals'(A, G), 1357 'CHR::_2__126__129__131__133__135__137__139__141__143__145__146'(G, D, A :: B : C, E, F). 1358'CHR::_2__126__129__131__133__135__137__139__141__143__145'(A :: B, C, D, E) :- 1359 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147'(A :: B, C, D, E). 1360:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145' / 4, leash, notrace). 1361'CHR::_2__126__129__131__133__135__137__139__141__143__145__146'(['CHRle_2'(le(A, B), C, D, E)|F], G, A :: H : I, J, K) ?- 1362 'CHRvar'(C), 1363 coca(try_double(K, A :: H : I, E, le(A, B), L :: M : N, le(L, O), keep_first, ((ground(O), minimum(N, O, P)), 'CHRkeep_heads_checking'(L :: M : N, Q, L :: M : P, R)), 'CHRhead_not_kept'(R) -> L :: M : P ; true, anonymous("42"))), 1364 no_delayed_goals(((ground(B), minimum(I, B, S)), 'CHRkeep_heads_checking'(A :: H : I, G, A :: H : S, T))), 1365 !, 1366 'CHRkill'(C), 1367 coca(fired_rule(anonymous("42"))), 1368 'CHR::_2__126__129__131__133__135__137__139__141__143__145__146'(F, G, A :: H : I, J, K), 1369 ( 1370 'CHRhead_not_kept'(T) 1371 -> 1372 A :: H : S 1373 ; 1374 true 1375 ). 1376'CHR::_2__126__129__131__133__135__137__139__141__143__145__146'([A|B], C, D, E, F) :- 1377 'CHR::_2__126__129__131__133__135__137__139__141__143__145__146'(B, C, D, E, F). 1378'CHR::_2__126__129__131__133__135__137__139__141__143__145__146'([], A, B, C, D) :- 1379 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147'(B, A, C, D). 1380:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__146' / 5, leash, notrace). 1381'CHR::_2__126__129__131__133__135__137__139__141__143__145__147'(A :: B : C, D, E, F) ?- 1382 'CHRvar'(D), 1383 !, 1384 'CHRget_delayed_goals'(A, G), 1385 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__148'(G, D, A :: B : C, E, F). 1386'CHR::_2__126__129__131__133__135__137__139__141__143__145__147'(A :: B, C, D, E) :- 1387 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149'(A :: B, C, D, E). 1388:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147' / 4, leash, notrace). 1389'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__148'(['CHRlt_2'(lt(A, B), C, D, E)|F], G, B :: H : I, J, K) ?- 1390 'CHRvar'(C), 1391 coca(try_double(K, B :: H : I, E, lt(A, B), L :: M : N, lt(O, L), keep_first, ((ground(O), maximum(M, O, P)), 'CHRkeep_heads_checking'(L :: M : N, Q, L :: P : N, R)), (('CHRhead_not_kept'(R) -> L :: P : N ; true), ne(L, P)), anonymous("43"))), 1392 no_delayed_goals(((ground(A), maximum(H, A, S)), 'CHRkeep_heads_checking'(B :: H : I, G, B :: S : I, T))), 1393 !, 1394 'CHRkill'(C), 1395 coca(fired_rule(anonymous("43"))), 1396 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__148'(F, G, B :: H : I, J, K), 1397 ( 1398 'CHRhead_not_kept'(T) 1399 -> 1400 B :: S : I 1401 ; 1402 true 1403 ), 1404 ne(B, S). 1405'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__148'([A|B], C, D, E, F) :- 1406 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__148'(B, C, D, E, F). 1407'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__148'([], A, B, C, D) :- 1408 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149'(B, A, C, D). 1409:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__148' / 5, leash, notrace). 1410'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149'(A :: B : C, D, E, F) ?- 1411 'CHRvar'(D), 1412 !, 1413 'CHRget_delayed_goals'(A, G), 1414 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__150'(G, D, A :: B : C, E, F). 1415'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149'(A :: B, C, D, E) :- 1416 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151'(A :: B, C, D, E). 1417:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149' / 4, leash, notrace). 1418'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__150'(['CHRlt_2'(lt(A, B), C, D, E)|F], G, A :: H : I, J, K) ?- 1419 'CHRvar'(C), 1420 coca(try_double(K, A :: H : I, E, lt(A, B), L :: M : N, lt(L, O), keep_first, ((ground(O), minimum(N, O, P)), 'CHRkeep_heads_checking'(L :: M : N, Q, L :: M : P, R)), (('CHRhead_not_kept'(R) -> L :: M : P ; true), ne(L, P)), anonymous("44"))), 1421 no_delayed_goals(((ground(B), minimum(I, B, S)), 'CHRkeep_heads_checking'(A :: H : I, G, A :: H : S, T))), 1422 !, 1423 'CHRkill'(C), 1424 coca(fired_rule(anonymous("44"))), 1425 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__150'(F, G, A :: H : I, J, K), 1426 ( 1427 'CHRhead_not_kept'(T) 1428 -> 1429 A :: H : S 1430 ; 1431 true 1432 ), 1433 ne(A, S). 1434'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__150'([A|B], C, D, E, F) :- 1435 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__150'(B, C, D, E, F). 1436'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__150'([], A, B, C, D) :- 1437 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151'(B, A, C, D). 1438:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__150' / 5, leash, notrace). 1439'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151'(A - B :: C, D, E, F) ?- 1440 'CHRvar'(D), 1441 !, 1442 'CHRget_delayed_goals'(B, G), 1443 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__152'(G, D, A - B :: C, E, F). 1444'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151'(A :: B, C, D, E) :- 1445 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153'(A :: B, C, D, E). 1446:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151' / 4, leash, notrace). 1447'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__152'(['CHRlt_2'(lt(A, B), C, D, E)|F], G, B - A :: H, I, J) ?- 1448 'CHRvar'(C), 1449 coca(try_double(J, B - A :: H, E, lt(A, B), K - L :: M, lt(L, K), keep_first, ((N = O - P, findall(N, (member(N, M), O @< P), Q)), 'CHRkeep_heads_checking'(K - L :: M, R, K - L :: Q, S)), 'CHRhead_not_kept'(S) -> K - L :: Q ; true, anonymous("60"))), 1450 no_delayed_goals(((T = U - V, findall(T, (member(T, H), U @< V), W)), 'CHRkeep_heads_checking'(B - A :: H, G, B - A :: W, X))), 1451 !, 1452 'CHRkill'(C), 1453 coca(fired_rule(anonymous("60"))), 1454 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__152'(F, G, B - A :: H, I, J), 1455 ( 1456 'CHRhead_not_kept'(X) 1457 -> 1458 B - A :: W 1459 ; 1460 true 1461 ). 1462'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__152'([A|B], C, D, E, F) :- 1463 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__152'(B, C, D, E, F). 1464'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__152'([], A, B, C, D) :- 1465 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153'(B, A, C, D). 1466:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__152' / 5, leash, notrace). 1467'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153'(A - B :: C, D, E, F) ?- 1468 'CHRvar'(D), 1469 !, 1470 'CHRget_delayed_goals'(B, G), 1471 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__154'(G, D, A - B :: C, E, F). 1472'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153'(A :: B, C, D, E) :- 1473 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155'(A :: B, C, D, E). 1474:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153' / 4, leash, notrace). 1475'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__154'(['CHRlt_2'(lt(A, B), C, D, E)|F], G, A - B :: H, I, J) ?- 1476 'CHRvar'(C), 1477 coca(try_double(J, A - B :: H, E, lt(A, B), K - L :: M, lt(K, L), keep_first, ((N = O - P, findall(N, (member(N, M), P @< O), Q)), 'CHRkeep_heads_checking'(K - L :: M, R, K - L :: Q, S)), 'CHRhead_not_kept'(S) -> K - L :: Q ; true, anonymous("61"))), 1478 no_delayed_goals(((T = U - V, findall(T, (member(T, H), V @< U), W)), 'CHRkeep_heads_checking'(A - B :: H, G, A - B :: W, X))), 1479 !, 1480 'CHRkill'(C), 1481 coca(fired_rule(anonymous("61"))), 1482 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__154'(F, G, A - B :: H, I, J), 1483 ( 1484 'CHRhead_not_kept'(X) 1485 -> 1486 A - B :: W 1487 ; 1488 true 1489 ). 1490'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__154'([A|B], C, D, E, F) :- 1491 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__154'(B, C, D, E, F). 1492'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__154'([], A, B, C, D) :- 1493 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155'(B, A, C, D). 1494:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__154' / 5, leash, notrace). 1495'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155'(A - B :: C, D, E, F) ?- 1496 'CHRvar'(D), 1497 !, 1498 'CHRget_delayed_goals'(B, G), 1499 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__156'(G, D, A - B :: C, E, F). 1500'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155'(A :: B, C, D, E) :- 1501 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157'(A :: B, C, D, E). 1502:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155' / 4, leash, notrace). 1503'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__156'(['CHRle_2'(le(A, B), C, D, E)|F], G, B - A :: H, I, J) ?- 1504 'CHRvar'(C), 1505 coca(try_double(J, B - A :: H, E, le(A, B), K - L :: M, le(L, K), keep_first, ((N = O - P, findall(N, (member(N, M), O @=< P), Q)), 'CHRkeep_heads_checking'(K - L :: M, R, K - L :: Q, S)), 'CHRhead_not_kept'(S) -> K - L :: Q ; true, anonymous("62"))), 1506 no_delayed_goals(((T = U - V, findall(T, (member(T, H), U @=< V), W)), 'CHRkeep_heads_checking'(B - A :: H, G, B - A :: W, X))), 1507 !, 1508 'CHRkill'(C), 1509 coca(fired_rule(anonymous("62"))), 1510 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__156'(F, G, B - A :: H, I, J), 1511 ( 1512 'CHRhead_not_kept'(X) 1513 -> 1514 B - A :: W 1515 ; 1516 true 1517 ). 1518'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__156'([A|B], C, D, E, F) :- 1519 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__156'(B, C, D, E, F). 1520'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__156'([], A, B, C, D) :- 1521 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157'(B, A, C, D). 1522:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__156' / 5, leash, notrace). 1523'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157'(A - B :: C, D, E, F) ?- 1524 'CHRvar'(D), 1525 !, 1526 'CHRget_delayed_goals'(B, G), 1527 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__158'(G, D, A - B :: C, E, F). 1528'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157'(A :: B, C, D, E) :- 1529 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159'(A :: B, C, D, E). 1530:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157' / 4, leash, notrace). 1531'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__158'(['CHRle_2'(le(A, B), C, D, E)|F], G, A - B :: H, I, J) ?- 1532 'CHRvar'(C), 1533 coca(try_double(J, A - B :: H, E, le(A, B), K - L :: M, le(K, L), keep_first, ((N = O - P, findall(N, (member(N, M), P @=< O), Q)), 'CHRkeep_heads_checking'(K - L :: M, R, K - L :: Q, S)), 'CHRhead_not_kept'(S) -> K - L :: Q ; true, anonymous("63"))), 1534 no_delayed_goals(((T = U - V, findall(T, (member(T, H), V @=< U), W)), 'CHRkeep_heads_checking'(A - B :: H, G, A - B :: W, X))), 1535 !, 1536 'CHRkill'(C), 1537 coca(fired_rule(anonymous("63"))), 1538 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__158'(F, G, A - B :: H, I, J), 1539 ( 1540 'CHRhead_not_kept'(X) 1541 -> 1542 A - B :: W 1543 ; 1544 true 1545 ). 1546'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__158'([A|B], C, D, E, F) :- 1547 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__158'(B, C, D, E, F). 1548'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__158'([], A, B, C, D) :- 1549 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159'(B, A, C, D). 1550:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__158' / 5, leash, notrace). 1551'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159'(A - B :: C, D, E, F) ?- 1552 'CHRvar'(D), 1553 !, 1554 'CHRget_delayed_goals'(B, G), 1555 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__160'(G, D, A - B :: C, E, F). 1556'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159'(A :: B, C, D, E) :- 1557 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161'(A :: B, C, D, E). 1558:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159' / 4, leash, notrace). 1559'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__160'(['CHRne_2'(ne(A, B), C, D, E)|F], G, B - A :: H, I, J) ?- 1560 'CHRvar'(C), 1561 coca(try_double(J, B - A :: H, E, ne(A, B), K - L :: M, ne(L, K), keep_first, ((N = O - P, findall(N, (member(N, M), O \== P), Q)), 'CHRkeep_heads_checking'(K - L :: M, R, K - L :: Q, S)), 'CHRhead_not_kept'(S) -> K - L :: Q ; true, anonymous("64"))), 1562 no_delayed_goals(((T = U - V, findall(T, (member(T, H), U \== V), W)), 'CHRkeep_heads_checking'(B - A :: H, G, B - A :: W, X))), 1563 !, 1564 'CHRkill'(C), 1565 coca(fired_rule(anonymous("64"))), 1566 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__160'(F, G, B - A :: H, I, J), 1567 ( 1568 'CHRhead_not_kept'(X) 1569 -> 1570 B - A :: W 1571 ; 1572 true 1573 ). 1574'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__160'([A|B], C, D, E, F) :- 1575 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__160'(B, C, D, E, F). 1576'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__160'([], A, B, C, D) :- 1577 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161'(B, A, C, D). 1578:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__160' / 5, leash, notrace). 1579'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161'(A - B :: C, D, E, F) ?- 1580 'CHRvar'(D), 1581 !, 1582 'CHRget_delayed_goals'(B, G), 1583 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__162'(G, D, A - B :: C, E, F). 1584'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161'(A :: B, C, D, E) :- 1585 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163'(A :: B, C, D, E). 1586:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161' / 4, leash, notrace). 1587'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__162'(['CHRne_2'(ne(A, B), C, D, E)|F], G, A - B :: H, I, J) ?- 1588 'CHRvar'(C), 1589 coca(try_double(J, A - B :: H, E, ne(A, B), K - L :: M, ne(K, L), keep_first, ((N = O - P, findall(N, (member(N, M), P \== O), Q)), 'CHRkeep_heads_checking'(K - L :: M, R, K - L :: Q, S)), 'CHRhead_not_kept'(S) -> K - L :: Q ; true, anonymous("65"))), 1590 no_delayed_goals(((T = U - V, findall(T, (member(T, H), V \== U), W)), 'CHRkeep_heads_checking'(A - B :: H, G, A - B :: W, X))), 1591 !, 1592 'CHRkill'(C), 1593 coca(fired_rule(anonymous("65"))), 1594 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__162'(F, G, A - B :: H, I, J), 1595 ( 1596 'CHRhead_not_kept'(X) 1597 -> 1598 A - B :: W 1599 ; 1600 true 1601 ). 1602'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__162'([A|B], C, D, E, F) :- 1603 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__162'(B, C, D, E, F). 1604'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__162'([], A, B, C, D) :- 1605 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163'(B, A, C, D). 1606:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__162' / 5, leash, notrace). 1607'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163'(A :: [B|C], D, E, F) ?- 1608 'CHRvar'(D), 1609 !, 1610 'CHRget_delayed_goals'(A, G), 1611 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__164'(G, D, A :: [B|C], E, F). 1612'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163'(A :: B, C, D, E) :- 1613 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165'(A :: B, C, D, E). 1614:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163' / 4, leash, notrace). 1615'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__164'(['CHRalldistinct1_2'(alldistinct1(A, [B]), C, D, E)|F], G, B :: [H|I], J, K) ?- 1616 'CHRvar'(C), 1617 coca(try_double(K, B :: [H|I], E, alldistinct1(A, [B]), L :: [M|N], alldistinct1(O, [L]), keep_first, (ground(O), 'CHRkeep_heads_checking'(L :: [M|N], P, L :: Q, R)), (remove_list(O, [M|N], Q), ('CHRhead_not_kept'(R) -> L :: Q ; true)), anonymous("75"))), 1618 no_delayed_goals((ground(A), 'CHRkeep_heads_checking'(B :: [H|I], G, B :: S, T))), 1619 !, 1620 'CHRkill'(C), 1621 coca(fired_rule(anonymous("75"))), 1622 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__164'(F, G, B :: [H|I], J, K), 1623 remove_list(A, [H|I], S), 1624 ( 1625 'CHRhead_not_kept'(T) 1626 -> 1627 B :: S 1628 ; 1629 true 1630 ). 1631'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__164'([A|B], C, D, E, F) :- 1632 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__164'(B, C, D, E, F). 1633'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__164'([], A, B, C, D) :- 1634 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165'(B, A, C, D). 1635:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__164' / 5, leash, notrace). 1636'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165'(A :: [B|C], D, E, F) ?- 1637 'CHRvar'(D), 1638 !, 1639 'CHRget_delayed_goals'(A, G), 1640 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__166'(G, D, A :: [B|C], E, F). 1641'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165'(A :: B, C, D, E) :- 1642 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167'(A :: B, C, D, E). 1643:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165' / 4, leash, notrace). 1644'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__166'(['CHR::_2'(A :: [B|C], D, E, F)|G], H, A :: [I|J], K, L) ?- 1645 'CHRvar'(D), 1646 'CHRcheck_and_mark_applied'('12'(anonymous("22")), H, D, K, E), 1647 coca(try_double(L, A :: [I|J], F, A :: [B|C], M :: [N|O], M :: [P|Q], augmentation, (intersection([N|O], [P|Q], R), 'CHRkeep_heads_checking'(M :: [N|O], S, M :: [P|Q], T, M :: R, U)), 'CHRhead_not_kept'(U) -> M :: R ; true, anonymous("22"))), 1648 no_delayed_goals((intersection([I|J], [B|C], V), 'CHRkeep_heads_checking'(A :: [I|J], H, A :: [B|C], D, A :: V, W))), 1649 !, 1650 coca(fired_rule(anonymous("22"))), 1651 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__166'(G, H, A :: [I|J], K, L), 1652 ( 1653 'CHRhead_not_kept'(W) 1654 -> 1655 A :: V 1656 ; 1657 true 1658 ). 1659'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__166'([A|B], C, D, E, F) :- 1660 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__166'(B, C, D, E, F). 1661'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__166'([], A, B, C, D) :- 1662 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167'(B, A, C, D). 1663:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__166' / 5, leash, notrace). 1664'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167'(A :: [B|C], D, E, F) ?- 1665 'CHRvar'(D), 1666 !, 1667 'CHRget_delayed_goals'(A, G), 1668 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__168'(G, D, A :: [B|C], E, F). 1669'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167'(A :: B, C, D, E) :- 1670 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169'(A :: B, C, D, E). 1671:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167' / 4, leash, notrace). 1672'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__168'(['CHR::_2'(A :: [B|C], D, E, F)|G], H, A :: [I|J], K, L) ?- 1673 'CHRvar'(D), 1674 'CHRcheck_and_mark_applied'('21'(anonymous("22")), H, D, K, E), 1675 coca(try_double(L, A :: [I|J], F, A :: [B|C], M :: [N|O], M :: [P|Q], augmentation, (intersection([P|Q], [N|O], R), 'CHRkeep_heads_checking'(M :: [P|Q], S, M :: [N|O], T, M :: R, U)), 'CHRhead_not_kept'(U) -> M :: R ; true, anonymous("22"))), 1676 no_delayed_goals((intersection([B|C], [I|J], V), 'CHRkeep_heads_checking'(A :: [B|C], D, A :: [I|J], H, A :: V, W))), 1677 !, 1678 coca(fired_rule(anonymous("22"))), 1679 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__168'(G, H, A :: [I|J], K, L), 1680 ( 1681 'CHRhead_not_kept'(W) 1682 -> 1683 A :: V 1684 ; 1685 true 1686 ). 1687'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__168'([A|B], C, D, E, F) :- 1688 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__168'(B, C, D, E, F). 1689'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__168'([], A, B, C, D) :- 1690 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169'(B, A, C, D). 1691:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__168' / 5, leash, notrace). 1692'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169'(A :: B : C, D, E, F) ?- 1693 'CHRvar'(D), 1694 !, 1695 'CHRget_delayed_goals'(A, G), 1696 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__170'(G, D, A :: B : C, E, F). 1697'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169'(A :: B, C, D, E) :- 1698 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171'(A :: B, C, D, E). 1699:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169' / 4, leash, notrace). 1700'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__170'(['CHR::_2'(A :: [B|C], D, E, F)|G], H, A :: I : J, K, L) ?- 1701 'CHRvar'(D), 1702 'CHRcheck_and_mark_applied'(anonymous("29"), H, D, K, E), 1703 coca(try_double(L, A :: I : J, F, A :: [B|C], M :: N : O, M :: [P|Q], augmentation, ((remove_lower(N, [P|Q], R), remove_higher(O, R, S)), 'CHRkeep_heads_checking'(M :: N : O, T, M :: [P|Q], U, M :: S, V)), 'CHRhead_not_kept'(V) -> M :: S ; true, anonymous("29"))), 1704 no_delayed_goals(((remove_lower(I, [B|C], W), remove_higher(J, W, X)), 'CHRkeep_heads_checking'(A :: I : J, H, A :: [B|C], D, A :: X, Y))), 1705 !, 1706 coca(fired_rule(anonymous("29"))), 1707 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__170'(G, H, A :: I : J, K, L), 1708 ( 1709 'CHRhead_not_kept'(Y) 1710 -> 1711 A :: X 1712 ; 1713 true 1714 ). 1715'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__170'([A|B], C, D, E, F) :- 1716 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__170'(B, C, D, E, F). 1717'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__170'([], A, B, C, D) :- 1718 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171'(B, A, C, D). 1719:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__170' / 5, leash, notrace). 1720'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171'(A :: [B|C], D, E, F) ?- 1721 'CHRvar'(D), 1722 !, 1723 'CHRget_delayed_goals'(A, G), 1724 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__172'(G, D, A :: [B|C], E, F). 1725'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171'(A :: B, C, D, E) :- 1726 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173'(A :: B, C, D, E). 1727:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171' / 4, leash, notrace). 1728'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__172'(['CHR::_2'(A :: B : C, D, E, F)|G], H, A :: [I|J], K, L) ?- 1729 'CHRvar'(D), 1730 'CHRcheck_and_mark_applied'(anonymous("29"), H, D, K, E), 1731 coca(try_double(L, A :: [I|J], F, A :: B : C, M :: [N|O], M :: P : Q, augmentation, ((remove_lower(P, [N|O], R), remove_higher(Q, R, S)), 'CHRkeep_heads_checking'(M :: P : Q, T, M :: [N|O], U, M :: S, V)), 'CHRhead_not_kept'(V) -> M :: S ; true, anonymous("29"))), 1732 no_delayed_goals(((remove_lower(B, [I|J], W), remove_higher(C, W, X)), 'CHRkeep_heads_checking'(A :: B : C, D, A :: [I|J], H, A :: X, Y))), 1733 !, 1734 coca(fired_rule(anonymous("29"))), 1735 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__172'(G, H, A :: [I|J], K, L), 1736 ( 1737 'CHRhead_not_kept'(Y) 1738 -> 1739 A :: X 1740 ; 1741 true 1742 ). 1743'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__172'([A|B], C, D, E, F) :- 1744 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__172'(B, C, D, E, F). 1745'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__172'([], A, B, C, D) :- 1746 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173'(B, A, C, D). 1747:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__172' / 5, leash, notrace). 1748'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173'(A :: [B|C], D, E, F) ?- 1749 'CHRvar'(D), 1750 !, 1751 'CHRget_delayed_goals'(A, G), 1752 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__174'(G, D, A :: [B|C], E, F). 1753'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173'(A :: B, C, D, E) :- 1754 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175'(A :: B, C, D, E). 1755:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173' / 4, leash, notrace). 1756'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__174'(['CHRle_2'(le(A, B), C, D, E)|F], G, B :: [H|I], J, K) ?- 1757 'CHRvar'(C), 1758 'CHRcheck_and_mark_applied'(anonymous("30"), G, C, J, D), 1759 coca(try_double(K, B :: [H|I], E, le(A, B), L :: [M|N], le(O, L), augmentation, var(O), (last([M|N], P), le(O, P)), anonymous("30"))), 1760 no_delayed_goals(var(A)), 1761 !, 1762 coca(fired_rule(anonymous("30"))), 1763 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__174'(F, G, B :: [H|I], J, K), 1764 last([H|I], Q), 1765 le(A, Q). 1766'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__174'([A|B], C, D, E, F) :- 1767 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__174'(B, C, D, E, F). 1768'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__174'([], A, B, C, D) :- 1769 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175'(B, A, C, D). 1770:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__174' / 5, leash, notrace). 1771'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175'(A :: [B|C], D, E, F) ?- 1772 'CHRvar'(D), 1773 !, 1774 'CHRget_delayed_goals'(A, G), 1775 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__176'(G, D, A :: [B|C], E, F). 1776'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175'(A :: B, C, D, E) :- 1777 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177'(A :: B, C, D, E). 1778:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175' / 4, leash, notrace). 1779'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__176'(['CHRle_2'(le(A, B), C, D, E)|F], G, A :: [H|I], J, K) ?- 1780 'CHRvar'(C), 1781 'CHRcheck_and_mark_applied'(anonymous("31"), G, C, J, D), 1782 coca(try_double(K, A :: [H|I], E, le(A, B), L :: [M|N], le(L, O), augmentation, var(O), le(M, O), anonymous("31"))), 1783 no_delayed_goals(var(B)), 1784 !, 1785 coca(fired_rule(anonymous("31"))), 1786 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__176'(F, G, A :: [H|I], J, K), 1787 le(H, B). 1788'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__176'([A|B], C, D, E, F) :- 1789 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__176'(B, C, D, E, F). 1790'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__176'([], A, B, C, D) :- 1791 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177'(B, A, C, D). 1792:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__176' / 5, leash, notrace). 1793'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177'(A :: [B|C], D, E, F) ?- 1794 'CHRvar'(D), 1795 !, 1796 'CHRget_delayed_goals'(A, G), 1797 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__178'(G, D, A :: [B|C], E, F). 1798'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177'(A :: B, C, D, E) :- 1799 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179'(A :: B, C, D, E). 1800:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177' / 4, leash, notrace). 1801'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__178'(['CHRlt_2'(lt(A, B), C, D, E)|F], G, B :: [H|I], J, K) ?- 1802 'CHRvar'(C), 1803 'CHRcheck_and_mark_applied'(anonymous("32"), G, C, J, D), 1804 coca(try_double(K, B :: [H|I], E, lt(A, B), L :: [M|N], lt(O, L), augmentation, var(O), (last([M|N], P), lt(O, P)), anonymous("32"))), 1805 no_delayed_goals(var(A)), 1806 !, 1807 coca(fired_rule(anonymous("32"))), 1808 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__178'(F, G, B :: [H|I], J, K), 1809 last([H|I], Q), 1810 lt(A, Q). 1811'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__178'([A|B], C, D, E, F) :- 1812 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__178'(B, C, D, E, F). 1813'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__178'([], A, B, C, D) :- 1814 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179'(B, A, C, D). 1815:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__178' / 5, leash, notrace). 1816'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179'(A :: [B|C], D, E, F) ?- 1817 'CHRvar'(D), 1818 !, 1819 'CHRget_delayed_goals'(A, G), 1820 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__180'(G, D, A :: [B|C], E, F). 1821'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179'(A :: B, C, D, E) :- 1822 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181'(A :: B, C, D, E). 1823:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179' / 4, leash, notrace). 1824'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__180'(['CHRlt_2'(lt(A, B), C, D, E)|F], G, A :: [H|I], J, K) ?- 1825 'CHRvar'(C), 1826 'CHRcheck_and_mark_applied'(anonymous("33"), G, C, J, D), 1827 coca(try_double(K, A :: [H|I], E, lt(A, B), L :: [M|N], lt(L, O), augmentation, var(O), lt(M, O), anonymous("33"))), 1828 no_delayed_goals(var(B)), 1829 !, 1830 coca(fired_rule(anonymous("33"))), 1831 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__180'(F, G, A :: [H|I], J, K), 1832 lt(H, B). 1833'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__180'([A|B], C, D, E, F) :- 1834 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__180'(B, C, D, E, F). 1835'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__180'([], A, B, C, D) :- 1836 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181'(B, A, C, D). 1837:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__180' / 5, leash, notrace). 1838'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181'(A :: B : C, D, E, F) ?- 1839 'CHRvar'(D), 1840 !, 1841 'CHRget_delayed_goals'(A, G), 1842 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__182'(G, D, A :: B : C, E, F). 1843'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181'(A :: B, C, D, E) :- 1844 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183'(A :: B, C, D, E). 1845:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181' / 4, leash, notrace). 1846'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__182'(['CHR::_2'(A :: B : C, D, E, F)|G], H, A :: I : J, K, L) ?- 1847 'CHRvar'(D), 1848 'CHRcheck_and_mark_applied'('12'(anonymous("38")), H, D, K, E), 1849 coca(try_double(L, A :: I : J, F, A :: B : C, M :: N : O, M :: P : Q, augmentation, ((maximum(N, P, R), minimum(O, Q, S)), 'CHRkeep_heads_checking'(M :: N : O, T, M :: P : Q, U, M :: R : S, V)), 'CHRhead_not_kept'(V) -> M :: R : S ; true, anonymous("38"))), 1850 no_delayed_goals(((maximum(I, B, W), minimum(J, C, X)), 'CHRkeep_heads_checking'(A :: I : J, H, A :: B : C, D, A :: W : X, Y))), 1851 !, 1852 coca(fired_rule(anonymous("38"))), 1853 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__182'(G, H, A :: I : J, K, L), 1854 ( 1855 'CHRhead_not_kept'(Y) 1856 -> 1857 A :: W : X 1858 ; 1859 true 1860 ). 1861'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__182'([A|B], C, D, E, F) :- 1862 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__182'(B, C, D, E, F). 1863'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__182'([], A, B, C, D) :- 1864 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183'(B, A, C, D). 1865:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__182' / 5, leash, notrace). 1866'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183'(A :: B : C, D, E, F) ?- 1867 'CHRvar'(D), 1868 !, 1869 'CHRget_delayed_goals'(A, G), 1870 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__184'(G, D, A :: B : C, E, F). 1871'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183'(A :: B, C, D, E) :- 1872 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185'(A :: B, C, D, E). 1873:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183' / 4, leash, notrace). 1874'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__184'(['CHR::_2'(A :: B : C, D, E, F)|G], H, A :: I : J, K, L) ?- 1875 'CHRvar'(D), 1876 'CHRcheck_and_mark_applied'('21'(anonymous("38")), H, D, K, E), 1877 coca(try_double(L, A :: I : J, F, A :: B : C, M :: N : O, M :: P : Q, augmentation, ((maximum(P, N, R), minimum(Q, O, S)), 'CHRkeep_heads_checking'(M :: P : Q, T, M :: N : O, U, M :: R : S, V)), 'CHRhead_not_kept'(V) -> M :: R : S ; true, anonymous("38"))), 1878 no_delayed_goals(((maximum(B, I, W), minimum(C, J, X)), 'CHRkeep_heads_checking'(A :: B : C, D, A :: I : J, H, A :: W : X, Y))), 1879 !, 1880 coca(fired_rule(anonymous("38"))), 1881 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__184'(G, H, A :: I : J, K, L), 1882 ( 1883 'CHRhead_not_kept'(Y) 1884 -> 1885 A :: W : X 1886 ; 1887 true 1888 ). 1889'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__184'([A|B], C, D, E, F) :- 1890 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__184'(B, C, D, E, F). 1891'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__184'([], A, B, C, D) :- 1892 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185'(B, A, C, D). 1893:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__184' / 5, leash, notrace). 1894'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185'(A :: B : C, D, E, F) ?- 1895 'CHRvar'(D), 1896 !, 1897 'CHRget_delayed_goals'(A, G), 1898 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__186'(G, D, A :: B : C, E, F). 1899'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185'(A :: B, C, D, E) :- 1900 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187'(A :: B, C, D, E). 1901:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185' / 4, leash, notrace). 1902'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__186'(['CHRle_2'(le(A, B), C, D, E)|F], G, B :: H : I, J, K) ?- 1903 'CHRvar'(C), 1904 'CHRcheck_and_mark_applied'(anonymous("45"), G, C, J, D), 1905 coca(try_double(K, B :: H : I, E, le(A, B), L :: M : N, le(O, L), augmentation, var(O), le(O, N), anonymous("45"))), 1906 no_delayed_goals(var(A)), 1907 !, 1908 coca(fired_rule(anonymous("45"))), 1909 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__186'(F, G, B :: H : I, J, K), 1910 le(A, I). 1911'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__186'([A|B], C, D, E, F) :- 1912 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__186'(B, C, D, E, F). 1913'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__186'([], A, B, C, D) :- 1914 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187'(B, A, C, D). 1915:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__186' / 5, leash, notrace). 1916'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187'(A :: B : C, D, E, F) ?- 1917 'CHRvar'(D), 1918 !, 1919 'CHRget_delayed_goals'(A, G), 1920 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__188'(G, D, A :: B : C, E, F). 1921'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187'(A :: B, C, D, E) :- 1922 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189'(A :: B, C, D, E). 1923:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187' / 4, leash, notrace). 1924'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__188'(['CHRle_2'(le(A, B), C, D, E)|F], G, A :: H : I, J, K) ?- 1925 'CHRvar'(C), 1926 'CHRcheck_and_mark_applied'(anonymous("46"), G, C, J, D), 1927 coca(try_double(K, A :: H : I, E, le(A, B), L :: M : N, le(L, O), augmentation, var(O), le(M, O), anonymous("46"))), 1928 no_delayed_goals(var(B)), 1929 !, 1930 coca(fired_rule(anonymous("46"))), 1931 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__188'(F, G, A :: H : I, J, K), 1932 le(H, B). 1933'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__188'([A|B], C, D, E, F) :- 1934 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__188'(B, C, D, E, F). 1935'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__188'([], A, B, C, D) :- 1936 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189'(B, A, C, D). 1937:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__188' / 5, leash, notrace). 1938'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189'(A :: B : C, D, E, F) ?- 1939 'CHRvar'(D), 1940 !, 1941 'CHRget_delayed_goals'(A, G), 1942 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__190'(G, D, A :: B : C, E, F). 1943'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189'(A :: B, C, D, E) :- 1944 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191'(A :: B, C, D, E). 1945:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189' / 4, leash, notrace). 1946'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__190'(['CHRlt_2'(lt(A, B), C, D, E)|F], G, B :: H : I, J, K) ?- 1947 'CHRvar'(C), 1948 'CHRcheck_and_mark_applied'(anonymous("47"), G, C, J, D), 1949 coca(try_double(K, B :: H : I, E, lt(A, B), L :: M : N, lt(O, L), augmentation, var(O), lt(O, N), anonymous("47"))), 1950 no_delayed_goals(var(A)), 1951 !, 1952 coca(fired_rule(anonymous("47"))), 1953 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__190'(F, G, B :: H : I, J, K), 1954 lt(A, I). 1955'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__190'([A|B], C, D, E, F) :- 1956 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__190'(B, C, D, E, F). 1957'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__190'([], A, B, C, D) :- 1958 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191'(B, A, C, D). 1959:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__190' / 5, leash, notrace). 1960'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191'(A :: B : C, D, E, F) ?- 1961 'CHRvar'(D), 1962 !, 1963 'CHRget_delayed_goals'(A, G), 1964 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__192'(G, D, A :: B : C, E, F). 1965'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191'(A :: B, C, D, E) :- 1966 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193'(A :: B, C, D, E). 1967:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191' / 4, leash, notrace). 1968'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__192'(['CHRlt_2'(lt(A, B), C, D, E)|F], G, A :: H : I, J, K) ?- 1969 'CHRvar'(C), 1970 'CHRcheck_and_mark_applied'(anonymous("48"), G, C, J, D), 1971 coca(try_double(K, A :: H : I, E, lt(A, B), L :: M : N, lt(L, O), augmentation, var(O), lt(M, O), anonymous("48"))), 1972 no_delayed_goals(var(B)), 1973 !, 1974 coca(fired_rule(anonymous("48"))), 1975 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__192'(F, G, A :: H : I, J, K), 1976 lt(H, B). 1977'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__192'([A|B], C, D, E, F) :- 1978 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__192'(B, C, D, E, F). 1979'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__192'([], A, B, C, D) :- 1980 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193'(B, A, C, D). 1981:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__192' / 5, leash, notrace). 1982'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193'(A :: B : C, D, E, F) ?- 1983 'CHRvar'(D), 1984 !, 1985 'CHRget_delayed_goals'(A, G), 1986 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__194'(G, D, A :: B : C, E, F). 1987'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193'(A :: B, C, D, E) :- 1988 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195'(A :: B, C, D, E). 1989:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193' / 4, leash, notrace). 1990'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__194'(['CHRmult_3'(mult(A, B, C), D, E, F)|G], H, A :: I : J, K, L) ?- 1991 'CHRvar'(D), 1992 'CHRcheck_and_mark_applied'(anonymous("51"), H, D, K, E), 1993 coca(try_double(L, A :: I : J, F, mult(A, B, C), M :: N : O, mult(M, P, Q), augmentation, true, (R is (Q - 1) // O + 1, S is Q // N, P :: R : S), anonymous("51"))), 1994 !, 1995 coca(fired_rule(anonymous("51"))), 1996 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__194'(G, H, A :: I : J, K, L), 1997 T is (C - 1) // J + 1, 1998 U is C // I, 1999 B :: T : U. 2000'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__194'([A|B], C, D, E, F) :- 2001 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__194'(B, C, D, E, F). 2002'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__194'([], A, B, C, D) :- 2003 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195'(B, A, C, D). 2004:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__194' / 5, leash, notrace). 2005'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195'(A :: B : C, D, E, F) ?- 2006 'CHRvar'(D), 2007 !, 2008 'CHRget_delayed_goals'(A, G), 2009 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__196'(G, D, A :: B : C, E, F). 2010'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195'(A :: B, C, D, E) :- 2011 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197'(A :: B, C, D, E). 2012:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195' / 4, leash, notrace). 2013'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__196'(['CHRmult_3'(mult(A, B, C), D, E, F)|G], H, B :: I : J, K, L) ?- 2014 'CHRvar'(D), 2015 'CHRcheck_and_mark_applied'(anonymous("52"), H, D, K, E), 2016 coca(try_double(L, B :: I : J, F, mult(A, B, C), M :: N : O, mult(P, M, Q), augmentation, true, (R is (Q - 1) // O + 1, S is Q // N, P :: R : S), anonymous("52"))), 2017 !, 2018 coca(fired_rule(anonymous("52"))), 2019 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__196'(G, H, B :: I : J, K, L), 2020 T is (C - 1) // J + 1, 2021 U is C // I, 2022 A :: T : U. 2023'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__196'([A|B], C, D, E, F) :- 2024 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__196'(B, C, D, E, F). 2025'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__196'([], A, B, C, D) :- 2026 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197'(B, A, C, D). 2027:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__196' / 5, leash, notrace). 2028'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197'(A :: [B|C], D, E, F) ?- 2029 'CHRvar'(D), 2030 !, 2031 'CHRget_delayed_goals'(A, G), 2032 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__198'(G, D, A :: [B|C], E, F). 2033'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197'(A :: B, C, D, E) :- 2034 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199'(A :: B, C, D, E). 2035:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197' / 4, leash, notrace). 2036'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__198'(['CHR::_2'(A - B :: C, D, E, F)|G], H, A :: [I|J], K, L) ?- 2037 'CHRvar'(D), 2038 'CHRcheck_and_mark_applied'('12'(anonymous("56")), H, D, K, E), 2039 coca(try_double(L, A :: [I|J], F, A - B :: C, M :: [N|O], M - P :: Q, augmentation, ((intersect(R :: [N|O], R - S :: Q, R - S :: T), length(Q, U), length(T, V), U > V), 'CHRkeep_heads_checking'(M :: [N|O], W, M - P :: Q, X, M - P :: T, Y)), 'CHRhead_not_kept'(Y) -> M - P :: T ; true, anonymous("56"))), 2040 no_delayed_goals(((intersect(Z :: [I|J], Z - A1 :: C, Z - A1 :: B1), length(C, C1), length(B1, D1), C1 > D1), 'CHRkeep_heads_checking'(A :: [I|J], H, A - B :: C, D, A - B :: B1, E1))), 2041 !, 2042 coca(fired_rule(anonymous("56"))), 2043 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__198'(G, H, A :: [I|J], K, L), 2044 ( 2045 'CHRhead_not_kept'(E1) 2046 -> 2047 A - B :: B1 2048 ; 2049 true 2050 ). 2051'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__198'([A|B], C, D, E, F) :- 2052 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__198'(B, C, D, E, F). 2053'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__198'([], A, B, C, D) :- 2054 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199'(B, A, C, D). 2055:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__198' / 5, leash, notrace). 2056'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199'(A - B :: C, D, E, F) ?- 2057 'CHRvar'(D), 2058 !, 2059 'CHRget_delayed_goals'(A, G), 2060 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__200'(G, D, A - B :: C, E, F). 2061'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199'(A :: B, C, D, E) :- 2062 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201'(A :: B, C, D, E). 2063:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199' / 4, leash, notrace). 2064'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__200'(['CHR::_2'(A :: [B|C], D, E, F)|G], H, A - I :: J, K, L) ?- 2065 'CHRvar'(D), 2066 'CHRcheck_and_mark_applied'('21'(anonymous("56")), H, D, K, E), 2067 coca(try_double(L, A - I :: J, F, A :: [B|C], M - N :: O, M :: [P|Q], augmentation, ((intersect(R :: [P|Q], R - S :: O, R - S :: T), length(O, U), length(T, V), U > V), 'CHRkeep_heads_checking'(M :: [P|Q], W, M - N :: O, X, M - N :: T, Y)), 'CHRhead_not_kept'(Y) -> M - N :: T ; true, anonymous("56"))), 2068 no_delayed_goals(((intersect(Z :: [B|C], Z - A1 :: J, Z - A1 :: B1), length(J, C1), length(B1, D1), C1 > D1), 'CHRkeep_heads_checking'(A :: [B|C], D, A - I :: J, H, A - I :: B1, E1))), 2069 !, 2070 coca(fired_rule(anonymous("56"))), 2071 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__200'(G, H, A - I :: J, K, L), 2072 ( 2073 'CHRhead_not_kept'(E1) 2074 -> 2075 A - I :: B1 2076 ; 2077 true 2078 ). 2079'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__200'([A|B], C, D, E, F) :- 2080 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__200'(B, C, D, E, F). 2081'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__200'([], A, B, C, D) :- 2082 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201'(B, A, C, D). 2083:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__200' / 5, leash, notrace). 2084'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201'(A :: [B|C], D, E, F) ?- 2085 'CHRvar'(D), 2086 !, 2087 'CHRget_delayed_goals'(A, G), 2088 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__202'(G, D, A :: [B|C], E, F). 2089'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201'(A :: B, C, D, E) :- 2090 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203'(A :: B, C, D, E). 2091:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201' / 4, leash, notrace). 2092'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__202'(['CHR::_2'(A - B :: C, D, E, F)|G], H, B :: [I|J], K, L) ?- 2093 'CHRvar'(D), 2094 'CHRcheck_and_mark_applied'('12'(anonymous("57")), H, D, K, E), 2095 coca(try_double(L, B :: [I|J], F, A - B :: C, M :: [N|O], P - M :: Q, augmentation, ((intersect(R :: [N|O], S - R :: Q, S - R :: T), length(Q, U), length(T, V), U > V), 'CHRkeep_heads_checking'(M :: [N|O], W, P - M :: Q, X, P - M :: T, Y)), 'CHRhead_not_kept'(Y) -> P - M :: T ; true, anonymous("57"))), 2096 no_delayed_goals(((intersect(Z :: [I|J], A1 - Z :: C, A1 - Z :: B1), length(C, C1), length(B1, D1), C1 > D1), 'CHRkeep_heads_checking'(B :: [I|J], H, A - B :: C, D, A - B :: B1, E1))), 2097 !, 2098 coca(fired_rule(anonymous("57"))), 2099 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__202'(G, H, B :: [I|J], K, L), 2100 ( 2101 'CHRhead_not_kept'(E1) 2102 -> 2103 A - B :: B1 2104 ; 2105 true 2106 ). 2107'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__202'([A|B], C, D, E, F) :- 2108 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__202'(B, C, D, E, F). 2109'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__202'([], A, B, C, D) :- 2110 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203'(B, A, C, D). 2111:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__202' / 5, leash, notrace). 2112'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203'(A - B :: C, D, E, F) ?- 2113 'CHRvar'(D), 2114 !, 2115 'CHRget_delayed_goals'(B, G), 2116 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__204'(G, D, A - B :: C, E, F). 2117'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203'(A :: B, C, D, E) :- 2118 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205'(A :: B, C, D, E). 2119:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203' / 4, leash, notrace). 2120'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__204'(['CHR::_2'(A :: [B|C], D, E, F)|G], H, I - A :: J, K, L) ?- 2121 'CHRvar'(D), 2122 'CHRcheck_and_mark_applied'('21'(anonymous("57")), H, D, K, E), 2123 coca(try_double(L, I - A :: J, F, A :: [B|C], M - N :: O, N :: [P|Q], augmentation, ((intersect(R :: [P|Q], S - R :: O, S - R :: T), length(O, U), length(T, V), U > V), 'CHRkeep_heads_checking'(N :: [P|Q], W, M - N :: O, X, M - N :: T, Y)), 'CHRhead_not_kept'(Y) -> M - N :: T ; true, anonymous("57"))), 2124 no_delayed_goals(((intersect(Z :: [B|C], A1 - Z :: J, A1 - Z :: B1), length(J, C1), length(B1, D1), C1 > D1), 'CHRkeep_heads_checking'(A :: [B|C], D, I - A :: J, H, I - A :: B1, E1))), 2125 !, 2126 coca(fired_rule(anonymous("57"))), 2127 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__204'(G, H, I - A :: J, K, L), 2128 ( 2129 'CHRhead_not_kept'(E1) 2130 -> 2131 I - A :: B1 2132 ; 2133 true 2134 ). 2135'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__204'([A|B], C, D, E, F) :- 2136 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__204'(B, C, D, E, F). 2137'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__204'([], A, B, C, D) :- 2138 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205'(B, A, C, D). 2139:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__204' / 5, leash, notrace). 2140'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205'(A - B :: C, D, E, F) ?- 2141 'CHRvar'(D), 2142 !, 2143 'CHRget_delayed_goals'(B, G), 2144 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__206'(G, D, A - B :: C, E, F). 2145'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205'(A :: B, C, D, E) :- 2146 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207'(A :: B, C, D, E). 2147:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205' / 4, leash, notrace). 2148'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__206'(['CHR::_2'(A - B :: C, D, E, F)|G], H, B - A :: I, J, K) ?- 2149 'CHRvar'(D), 2150 'CHRcheck_and_mark_applied'('12'(anonymous("58")), H, D, J, E), 2151 coca(try_double(K, B - A :: I, F, A - B :: C, L - M :: N, M - L :: O, augmentation, (intersect(P - Q :: N, Q - P :: O, P - Q :: R), 'CHRkeep_heads_checking'(L - M :: N, S, M - L :: O, T, L - M :: R, U)), 'CHRhead_not_kept'(U) -> L - M :: R ; true, anonymous("58"))), 2152 no_delayed_goals((intersect(V - W :: I, W - V :: C, V - W :: X), 'CHRkeep_heads_checking'(B - A :: I, H, A - B :: C, D, B - A :: X, Y))), 2153 !, 2154 coca(fired_rule(anonymous("58"))), 2155 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__206'(G, H, B - A :: I, J, K), 2156 ( 2157 'CHRhead_not_kept'(Y) 2158 -> 2159 B - A :: X 2160 ; 2161 true 2162 ). 2163'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__206'([A|B], C, D, E, F) :- 2164 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__206'(B, C, D, E, F). 2165'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__206'([], A, B, C, D) :- 2166 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207'(B, A, C, D). 2167:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__206' / 5, leash, notrace). 2168'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207'(A - B :: C, D, E, F) ?- 2169 'CHRvar'(D), 2170 !, 2171 'CHRget_delayed_goals'(B, G), 2172 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__208'(G, D, A - B :: C, E, F). 2173'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207'(A :: B, C, D, E) :- 2174 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209'(A :: B, C, D, E). 2175:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207' / 4, leash, notrace). 2176'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__208'(['CHR::_2'(A - B :: C, D, E, F)|G], H, B - A :: I, J, K) ?- 2177 'CHRvar'(D), 2178 'CHRcheck_and_mark_applied'('21'(anonymous("58")), H, D, J, E), 2179 coca(try_double(K, B - A :: I, F, A - B :: C, L - M :: N, M - L :: O, augmentation, (intersect(P - Q :: O, Q - P :: N, P - Q :: R), 'CHRkeep_heads_checking'(M - L :: O, S, L - M :: N, T, M - L :: R, U)), 'CHRhead_not_kept'(U) -> M - L :: R ; true, anonymous("58"))), 2180 no_delayed_goals((intersect(V - W :: C, W - V :: I, V - W :: X), 'CHRkeep_heads_checking'(A - B :: C, D, B - A :: I, H, A - B :: X, Y))), 2181 !, 2182 coca(fired_rule(anonymous("58"))), 2183 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__208'(G, H, B - A :: I, J, K), 2184 ( 2185 'CHRhead_not_kept'(Y) 2186 -> 2187 A - B :: X 2188 ; 2189 true 2190 ). 2191'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__208'([A|B], C, D, E, F) :- 2192 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__208'(B, C, D, E, F). 2193'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__208'([], A, B, C, D) :- 2194 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209'(B, A, C, D). 2195:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__208' / 5, leash, notrace). 2196'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209'(A - B :: C, D, E, F) ?- 2197 'CHRvar'(D), 2198 !, 2199 'CHRget_delayed_goals'(B, G), 2200 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__210'(G, D, A - B :: C, E, F). 2201'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209'(A :: B, C, D, E) :- 2202 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211'(A :: B, C, D, E). 2203:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209' / 4, leash, notrace). 2204'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__210'(['CHR::_2'(A - B :: C, D, E, F)|G], H, A - B :: I, J, K) ?- 2205 'CHRvar'(D), 2206 'CHRcheck_and_mark_applied'('12'(anonymous("59")), H, D, J, E), 2207 coca(try_double(K, A - B :: I, F, A - B :: C, L - M :: N, L - M :: O, augmentation, (intersect(P - Q :: N, P - Q :: O, P - Q :: R), 'CHRkeep_heads_checking'(L - M :: N, S, L - M :: O, T, L - M :: R, U)), 'CHRhead_not_kept'(U) -> L - M :: R ; true, anonymous("59"))), 2208 no_delayed_goals((intersect(V - W :: I, V - W :: C, V - W :: X), 'CHRkeep_heads_checking'(A - B :: I, H, A - B :: C, D, A - B :: X, Y))), 2209 !, 2210 coca(fired_rule(anonymous("59"))), 2211 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__210'(G, H, A - B :: I, J, K), 2212 ( 2213 'CHRhead_not_kept'(Y) 2214 -> 2215 A - B :: X 2216 ; 2217 true 2218 ). 2219'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__210'([A|B], C, D, E, F) :- 2220 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__210'(B, C, D, E, F). 2221'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__210'([], A, B, C, D) :- 2222 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211'(B, A, C, D). 2223:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__210' / 5, leash, notrace). 2224'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211'(A - B :: C, D, E, F) ?- 2225 'CHRvar'(D), 2226 !, 2227 'CHRget_delayed_goals'(B, G), 2228 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211__212'(G, D, A - B :: C, E, F). 2229'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211'(A :: B, C, D, E) :- 2230 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211__213'(A :: B, C, D, E). 2231:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211' / 4, leash, notrace). 2232'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211__212'(['CHR::_2'(A - B :: C, D, E, F)|G], H, A - B :: I, J, K) ?- 2233 'CHRvar'(D), 2234 'CHRcheck_and_mark_applied'('21'(anonymous("59")), H, D, J, E), 2235 coca(try_double(K, A - B :: I, F, A - B :: C, L - M :: N, L - M :: O, augmentation, (intersect(P - Q :: O, P - Q :: N, P - Q :: R), 'CHRkeep_heads_checking'(L - M :: O, S, L - M :: N, T, L - M :: R, U)), 'CHRhead_not_kept'(U) -> L - M :: R ; true, anonymous("59"))), 2236 no_delayed_goals((intersect(V - W :: C, V - W :: I, V - W :: X), 'CHRkeep_heads_checking'(A - B :: C, D, A - B :: I, H, A - B :: X, Y))), 2237 !, 2238 coca(fired_rule(anonymous("59"))), 2239 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211__212'(G, H, A - B :: I, J, K), 2240 ( 2241 'CHRhead_not_kept'(Y) 2242 -> 2243 A - B :: X 2244 ; 2245 true 2246 ). 2247'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211__212'([A|B], C, D, E, F) :- 2248 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211__212'(B, C, D, E, F). 2249'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211__212'([], A, B, C, D) :- 2250 'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211__213'(B, A, C, D). 2251:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211__212' / 5, leash, notrace). 2252'CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211__213'(A :: B, C, D, E) :- 2253 ( 2254 'CHRvar'(C) 2255 -> 2256 'CHRdelay'([C, A :: B], 'CHR::_2'(A :: B, C, D, E)) 2257 ; 2258 true 2259 ). 2260:- set_flag('CHR::_2__126__129__131__133__135__137__139__141__143__145__147__149__151__153__155__157__159__161__163__165__167__169__171__173__175__177__179__181__183__185__187__189__191__193__195__197__199__201__203__205__207__209__211__213' / 4, leash, notrace). 2261mult(A, B, C) :- 2262 'CHRgen_num'(D), 2263 coca(add_one_constraint(D, mult(A, B, C))), 2264 'CHRmult_3'(mult(A, B, C), E, F, D). 2265 2266 2267 2268%%% Rules handling for mult / 3 2269 2270'CHRmult_3'(mult(A, B, C), D, E, F) :- 2271 ( 2272 'CHRnonvar'(D) 2273 ; 2274 'CHRalready_in'('CHRmult_3'(mult(A, B, C), D, E, F)), 2275 coca(already_in) 2276 ), 2277 !. 2278'CHRmult_3'(mult(A, B, C), D, E, F) ?- 2279 coca(try_rule(F, mult(A, B, C), anonymous("49"), mult(G, H, I), replacement, ground(G), G =:= 0 -> I =:= 0 ; (0 =:= I mod G, H is I // G))), 2280 no_delayed_goals(ground(A)), 2281 !, 2282 'CHRkill'(D), 2283 coca(fired_rule(anonymous("49"))), 2284 ( 2285 A =:= 0 2286 -> 2287 C =:= 0 2288 ; 2289 0 =:= C mod A, 2290 B is C // A 2291 ). 2292'CHRmult_3'(mult(A, B, C), D, E, F) ?- 2293 coca(try_rule(F, mult(A, B, C), anonymous("50"), mult(G, H, I), replacement, ground(H), H =:= 0 -> I =:= 0 ; (0 =:= I mod H, G is I // H))), 2294 no_delayed_goals(ground(B)), 2295 !, 2296 'CHRkill'(D), 2297 coca(fired_rule(anonymous("50"))), 2298 ( 2299 B =:= 0 2300 -> 2301 C =:= 0 2302 ; 2303 0 =:= C mod B, 2304 A is C // B 2305 ). 2306'CHRmult_3'(mult(A, B, C), D, E, F) :- 2307 'CHRmult_3__214'(mult(A, B, C), D, E, F). 2308:- set_flag('CHRmult_3' / 4, leash, notrace). 2309:- current_macro('CHRmult_3' / 4, _68465, _68466, _68467) -> true ; define_macro('CHRmult_3' / 4, tr_chr / 2, [write]). 2310'CHRmult_3__214'(A, B, C, D) :- 2311 'CHRmult_3__215'(A, B, C, D). 2312:- set_flag('CHRmult_3__214' / 4, leash, notrace). 2313'CHRmult_3__215'(mult(A, B, C), D, E, F) ?- 2314 'CHRvar'(D), 2315 !, 2316 'CHRget_delayed_goals'(A, G), 2317 'CHRmult_3__215__216'(G, D, mult(A, B, C), E, F). 2318'CHRmult_3__215'(mult(A, B, C), D, E, F) :- 2319 'CHRmult_3__215__217'(mult(A, B, C), D, E, F). 2320:- set_flag('CHRmult_3__215' / 4, leash, notrace). 2321'CHRmult_3__215__216'(['CHR::_2'(A :: B : C, D, E, F)|G], H, mult(A, I, J), K, L) ?- 2322 'CHRvar'(D), 2323 'CHRcheck_and_mark_applied'(anonymous("51"), H, D, K, E), 2324 coca(try_double(L, mult(A, I, J), F, A :: B : C, mult(M, N, O), M :: P : Q, augmentation, true, (R is (O - 1) // Q + 1, S is O // P, N :: R : S), anonymous("51"))), 2325 !, 2326 coca(fired_rule(anonymous("51"))), 2327 'CHRmult_3__215__216'(G, H, mult(A, I, J), K, L), 2328 T is (J - 1) // C + 1, 2329 U is J // B, 2330 I :: T : U. 2331'CHRmult_3__215__216'([A|B], C, D, E, F) :- 2332 'CHRmult_3__215__216'(B, C, D, E, F). 2333'CHRmult_3__215__216'([], A, B, C, D) :- 2334 'CHRmult_3__215__217'(B, A, C, D). 2335:- set_flag('CHRmult_3__215__216' / 5, leash, notrace). 2336'CHRmult_3__215__217'(mult(A, B, C), D, E, F) ?- 2337 'CHRvar'(D), 2338 !, 2339 'CHRget_delayed_goals'(B, G), 2340 'CHRmult_3__215__217__218'(G, D, mult(A, B, C), E, F). 2341'CHRmult_3__215__217'(mult(A, B, C), D, E, F) :- 2342 'CHRmult_3__215__217__219'(mult(A, B, C), D, E, F). 2343:- set_flag('CHRmult_3__215__217' / 4, leash, notrace). 2344'CHRmult_3__215__217__218'(['CHR::_2'(A :: B : C, D, E, F)|G], H, mult(I, A, J), K, L) ?- 2345 'CHRvar'(D), 2346 'CHRcheck_and_mark_applied'(anonymous("52"), H, D, K, E), 2347 coca(try_double(L, mult(I, A, J), F, A :: B : C, mult(M, N, O), N :: P : Q, augmentation, true, (R is (O - 1) // Q + 1, S is O // P, M :: R : S), anonymous("52"))), 2348 !, 2349 coca(fired_rule(anonymous("52"))), 2350 'CHRmult_3__215__217__218'(G, H, mult(I, A, J), K, L), 2351 T is (J - 1) // C + 1, 2352 U is J // B, 2353 I :: T : U. 2354'CHRmult_3__215__217__218'([A|B], C, D, E, F) :- 2355 'CHRmult_3__215__217__218'(B, C, D, E, F). 2356'CHRmult_3__215__217__218'([], A, B, C, D) :- 2357 'CHRmult_3__215__217__219'(B, A, C, D). 2358:- set_flag('CHRmult_3__215__217__218' / 5, leash, notrace). 2359'CHRmult_3__215__217__219'(mult(A, B, C), D, E, F) :- 2360 ( 2361 'CHRvar'(D) 2362 -> 2363 'CHRdelay'([D, mult(A, B, C)], 'CHRmult_3'(mult(A, B, C), D, E, F)) 2364 ; 2365 true 2366 ). 2367:- set_flag('CHRmult_3__215__217__219' / 4, leash, notrace). 2368atmost(A, B, C, D) :- 2369 'CHRgen_num'(E), 2370 coca(add_one_constraint(E, atmost(A, B, C, D))), 2371 'CHRatmost_4'(atmost(A, B, C, D), F, G, E). 2372 2373 2374 2375%%% Rules handling for atmost / 4 2376 2377'CHRatmost_4'(atmost(A, B, C, D), E, F, G) :- 2378 ( 2379 'CHRnonvar'(E) 2380 ; 2381 'CHRalready_in'('CHRatmost_4'(atmost(A, B, C, D), E, F, G)), 2382 coca(already_in) 2383 ), 2384 !. 2385'CHRatmost_4'(atmost(A, B, C, D), E, F, G) ?- 2386 coca(try_rule(G, atmost(A, B, C, D), anonymous("67"), atmost(H, I, J, K), replacement, K =< H, true)), 2387 no_delayed_goals(D =< A), 2388 !, 2389 'CHRkill'(E), 2390 coca(fired_rule(anonymous("67"))). 2391'CHRatmost_4'(atmost(0, A, B, C), D, E, F) ?- 2392 coca(try_rule(F, atmost(0, A, B, C), anonymous("68"), atmost(0, G, H, I), replacement, ground(H) ; ground(G), outof(H, G))), 2393 no_delayed_goals(ground(B) ; ground(A)), 2394 !, 2395 'CHRkill'(D), 2396 coca(fired_rule(anonymous("68"))), 2397 outof(B, A). 2398'CHRatmost_4'(atmost(A, B, C, D), E, F, G) ?- 2399 coca(try_rule(G, atmost(A, B, C, D), anonymous("69"), atmost(H, I, J, K), replacement, (K > H, ground(J), delete_ground(L, I, M)), ((L == J -> N is H - 1 ; N = H), O is K - 1, atmost(N, M, J, O)))), 2400 no_delayed_goals((D > A, ground(C), delete_ground(P, B, Q))), 2401 !, 2402 'CHRkill'(E), 2403 coca(fired_rule(anonymous("69"))), 2404 ( 2405 P == C 2406 -> 2407 R is A - 1 2408 ; 2409 R = A 2410 ), 2411 S is D - 1, 2412 atmost(R, Q, C, S). 2413'CHRatmost_4'(atmost(A, B, C, D), E, F, G) :- 2414 'CHRatmost_4__220'(atmost(A, B, C, D), E, F, G). 2415:- set_flag('CHRatmost_4' / 4, leash, notrace). 2416:- current_macro('CHRatmost_4' / 4, _70503, _70504, _70505) -> true ; define_macro('CHRatmost_4' / 4, tr_chr / 2, [write]). 2417'CHRatmost_4__220'(A, B, C, D) :- 2418 'CHRatmost_4__221'(A, B, C, D). 2419:- set_flag('CHRatmost_4__220' / 4, leash, notrace). 2420'CHRatmost_4__221'(atmost(A, B, C, D), E, F, G) :- 2421 ( 2422 'CHRvar'(E) 2423 -> 2424 'CHRdelay'([E, atmost(A, B, C, D)], 'CHRatmost_4'(atmost(A, B, C, D), E, F, G)) 2425 ; 2426 true 2427 ). 2428:- set_flag('CHRatmost_4__221' / 4, leash, notrace). 2429 2430 2431 2432%%% Prolog clauses for alldistinct / 1 2433 2434clause_alldistinct([]). 2435clause_alldistinct([A|B]) :- 2436 outof(A, B), 2437 alldistinct(B). 2438:- current_macro(clause_alldistinct / 1, _70773, _70774, _70775) -> true ; define_macro(clause_alldistinct / 1, tr_chr / 2, [write]). 2439alldistinct(A) :- 2440 'CHRgen_num'(B), 2441 coca(add_one_constraint(B, alldistinct(A))), 2442 'CHRalldistinct_1'(alldistinct(A), C, D, B). 2443 2444 2445 2446%%% Rules handling for alldistinct / 1 2447 2448'CHRalldistinct_1'(alldistinct(A), B, C, D) :- 2449 ( 2450 'CHRnonvar'(B) 2451 ; 2452 'CHRalready_in'('CHRalldistinct_1'(alldistinct(A), B, C, D)), 2453 coca(already_in) 2454 ), 2455 !. 2456'CHRalldistinct_1'(alldistinct([]), A, B, C) ?- 2457 coca(try_rule(C, alldistinct([]), anonymous("70"), alldistinct([]), replacement, true, true)), 2458 !, 2459 'CHRkill'(A), 2460 coca(fired_rule(anonymous("70"))). 2461'CHRalldistinct_1'(alldistinct([A]), B, C, D) ?- 2462 coca(try_rule(D, alldistinct([A]), anonymous("71"), alldistinct([E]), replacement, true, true)), 2463 !, 2464 'CHRkill'(B), 2465 coca(fired_rule(anonymous("71"))). 2466'CHRalldistinct_1'(alldistinct([A, B]), C, D, E) ?- 2467 coca(try_rule(E, alldistinct([A, B]), anonymous("72"), alldistinct([F, G]), replacement, true, ne(F, G))), 2468 !, 2469 'CHRkill'(C), 2470 coca(fired_rule(anonymous("72"))), 2471 ne(A, B). 2472'CHRalldistinct_1'(alldistinct([A|B]), C, D, E) ?- 2473 coca(try_rule(E, alldistinct([A|B]), anonymous("73"), alldistinct([F|G]), replacement, delete_ground(H, [F|G], I), (outof(H, I), alldistinct(I)))), 2474 no_delayed_goals(delete_ground(J, [A|B], K)), 2475 !, 2476 'CHRkill'(C), 2477 coca(fired_rule(anonymous("73"))), 2478 outof(J, K), 2479 alldistinct(K). 2480'CHRalldistinct_1'(alldistinct(A), B, C, D) :- 2481 'CHRalldistinct_1__222'(alldistinct(A), B, C, D). 2482:- set_flag('CHRalldistinct_1' / 4, leash, notrace). 2483:- current_macro('CHRalldistinct_1' / 4, _71513, _71514, _71515) -> true ; define_macro('CHRalldistinct_1' / 4, tr_chr / 2, [write]). 2484'CHRalldistinct_1__222'(A, B, C, D) :- 2485 'CHRalldistinct_1__223'(A, B, C, D). 2486:- set_flag('CHRalldistinct_1__222' / 4, leash, notrace). 2487'CHRalldistinct_1__223'(alldistinct(A), B, C, D) :- 2488 ( 2489 'CHRvar'(B) 2490 -> 2491 'CHRdelay'([B, alldistinct(A)], 'CHRalldistinct_1'(alldistinct(A), B, C, D)) 2492 ; 2493 true 2494 ). 2495:- set_flag('CHRalldistinct_1__223' / 4, leash, notrace). 2496alldistinct1(A, B) :- 2497 'CHRgen_num'(C), 2498 coca(add_one_constraint(C, alldistinct1(A, B))), 2499 'CHRalldistinct1_2'(alldistinct1(A, B), D, E, C). 2500 2501 2502 2503%%% Rules handling for alldistinct1 / 2 2504 2505'CHRalldistinct1_2'(alldistinct1(A, B), C, D, E) :- 2506 ( 2507 'CHRnonvar'(C) 2508 ; 2509 'CHRalready_in'('CHRalldistinct1_2'(alldistinct1(A, B), C, D, E)), 2510 coca(already_in) 2511 ), 2512 !. 2513'CHRalldistinct1_2'(alldistinct1(A, []), B, C, D) ?- 2514 coca(try_rule(D, alldistinct1(A, []), anonymous("74"), alldistinct1(E, []), replacement, true, true)), 2515 !, 2516 'CHRkill'(B), 2517 coca(fired_rule(anonymous("74"))). 2518'CHRalldistinct1_2'(alldistinct1(A, [B]), C, D, E) ?- 2519 coca(try_rule(E, alldistinct1(A, [B]), anonymous("76"), alldistinct1(F, [G]), replacement, ground(F) ; ground(G), outof(G, F))), 2520 no_delayed_goals(ground(A) ; ground(B)), 2521 !, 2522 'CHRkill'(C), 2523 coca(fired_rule(anonymous("76"))), 2524 outof(B, A). 2525'CHRalldistinct1_2'(alldistinct1(A, [B|C]), D, E, F) ?- 2526 coca(try_rule(F, alldistinct1(A, [B|C]), anonymous("77"), alldistinct1(G, [H|I]), replacement, (ground(G), delete_ground(J, [H|I], K)), member(J, G) -> fail ; alldistinct1([J|G], K))), 2527 no_delayed_goals((ground(A), delete_ground(L, [B|C], M))), 2528 !, 2529 'CHRkill'(D), 2530 coca(fired_rule(anonymous("77"))), 2531 ( 2532 member(L, A) 2533 -> 2534 fail 2535 ; 2536 alldistinct1([L|A], M) 2537 ). 2538'CHRalldistinct1_2'(alldistinct1(A, [B]), C, D, E) ?- 2539 'CHRget_delayed_goals'(B, F), 2540 'CHRalldistinct1_2__225'(F, [B], [G, H, I], J), 2541 coca(try_double(E, alldistinct1(A, [B]), J, B :: [I|H], alldistinct1(K, [L]), L :: [M|N], keep_second, (ground(K), 'CHRkeep_heads_checking'(L :: [M|N], O, L :: P, Q)), (remove_list(K, [M|N], P), ('CHRhead_not_kept'(Q) -> L :: P ; true)), anonymous("75"))), 2542 no_delayed_goals((ground(A), 'CHRkeep_heads_checking'(B :: [I|H], G, B :: R, S))), 2543 !, 2544 'CHRkill'(C), 2545 coca(fired_rule(anonymous("75"))), 2546 remove_list(A, [I|H], R), 2547 ( 2548 'CHRhead_not_kept'(S) 2549 -> 2550 B :: R 2551 ; 2552 true 2553 ). 2554'CHRalldistinct1_2'(alldistinct1(A, B), C, D, E) :- 2555 'CHRalldistinct1_2__224'(alldistinct1(A, B), C, D, E). 2556'CHRalldistinct1_2__225'(['CHR::_2'(A :: [B|C], D, E, F)|G], [A], [H, I, J], K) ?- 2557 'CHRvar'(D), 2558 'CHR='([D, C, B], [H, I, J]), 2559 'CHR='(F, K). 2560'CHRalldistinct1_2__225'([A|B], C, D, E) :- 2561 'CHRalldistinct1_2__225'(B, C, D, E). 2562:- set_flag('CHRalldistinct1_2__225' / 4, leash, notrace). 2563:- set_flag('CHRalldistinct1_2' / 4, leash, notrace). 2564:- current_macro('CHRalldistinct1_2' / 4, _72865, _72866, _72867) -> true ; define_macro('CHRalldistinct1_2' / 4, tr_chr / 2, [write]). 2565'CHRalldistinct1_2__224'(A, B, C, D) :- 2566 'CHRalldistinct1_2__226'(A, B, C, D). 2567:- set_flag('CHRalldistinct1_2__224' / 4, leash, notrace). 2568'CHRalldistinct1_2__226'(alldistinct1(A, B), C, D, E) :- 2569 ( 2570 'CHRvar'(C) 2571 -> 2572 'CHRdelay'([C, alldistinct1(A, B)], 'CHRalldistinct1_2'(alldistinct1(A, B), C, D, E)) 2573 ; 2574 true 2575 ). 2576:- set_flag('CHRalldistinct1_2__226' / 4, leash, notrace). 2577 2578:- getval(variable_names_flag, Val), set_flag(variable_names, Val). 2579