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). 8globalize(_819) :- suspend(true, 2, _819 - _834 -> inst), _834 = fired. 9path1(1, _1143, _1146, [_1151], p - p, _1159) :- check_pp(_1143, _1146, _1151). 10path1(1, _1190, _1193, [_1198], p - i, _1206) :- check_pi(_1190, _1193, _1198). 11path1(1, _1237, _1240, [_1245], i - p, _1253) :- check_ip(_1240, _1237, _1245). 12path1(1, _1284, _1287, [_1292], i - i, _1300) :- check_ii(_1284, _1287, _1292). 13 14 15 16%%% Callables for path / 6 17 18'CHRlabel_with'(path(A, B, C, D, E, F), G, H) ?- 19 coca(try_clause(H, path(A, B, C, D, E, F), path(I, J, K, L, M, N), I > 1)), 20 no_delayed_goals(A > 1), 21 coca(clause_fired(H)), 22 'CHR='(G, clause_path(A, B, C, D, E, F)). 23arc(A, B, C, D) :- 24 'CHRgen_num'(E), 25 coca(add_one_constraint(E, arc(A, B, C, D))), 26 'CHRarc_4'(arc(A, B, C, D), F, G, E). 27 28 29 30%%% Rules handling for arc / 4 31 32'CHRarc_4'(arc(A, B, C, D), E, F, G) :- 33 'CHRnonvar'(E), 34 !. 35'CHRarc_4'(arc(A, B, C, D), E, F, G) ?- 36 coca(try_rule(G, arc(A, B, C, D), add_path, arc(H, I, J, K), replacement, (ground(J), ground(K), length(J, L)), (globalize(H - I), path(L, H, I, J, K, 1)))), 37 no_delayed_goals((ground(C), ground(D), length(C, M))), 38 !, 39 'CHRkill'(E), 40 coca(fired_rule(add_path)), 41 globalize(A - B), 42 path(M, A, B, C, D, 1). 43'CHRarc_4'(arc(A, B, C, D), E, F, G) :- 44 'CHRarc_4__0'(arc(A, B, C, D), E, F, G). 45:- set_flag('CHRarc_4' / 4, leash, notrace). 46:- current_macro('CHRarc_4' / 4, _5867, _5868, _5869) -> true ; define_macro('CHRarc_4' / 4, tr_chr / 2, [write]). 47'CHRarc_4__0'(A, B, C, D) :- 48 'CHRarc_4__1'(A, B, C, D). 49:- set_flag('CHRarc_4__0' / 4, leash, notrace). 50'CHRarc_4__1'(arc(A, B, C, D), E, F, G) :- 51 ( 52 'CHRvar'(E) 53 -> 54 'CHRdelay'([E, arc(A, B, C, D)], 'CHRarc_4'(arc(A, B, C, D), E, F, G)) 55 ; 56 true 57 ). 58:- set_flag('CHRarc_4__1' / 4, leash, notrace). 59 60 61 62%%% Prolog clauses for path / 6 63 64clause_path(A, B, C, D, E, F) :- 65 member(G, D), 66 path(1, B, C, [G], E, F). 67:- current_macro(clause_path / 6, _6139, _6140, _6141) -> true ; define_macro(clause_path / 6, tr_chr / 2, [write]). 68path(A, B, C, D, E, F) :- 69 'CHRgen_num'(G), 70 coca(add_one_constraint(G, path(A, B, C, D, E, F))), 71 'CHRpath_6'(path(A, B, C, D, E, F), H, I, G). 72 73 74 75%%% Rules handling for path / 6 76 77'CHRpath_6'(path(A, B, C, D, E, F), G, H, I) :- 78 'CHRnonvar'(G), 79 !. 80'CHRpath_6'(path(A, B, C, D, E, F), G, H, I) ?- 81 coca(try_rule(I, path(A, B, C, D, E, F), ground, path(J, K, L, M, N, O), replacement, ground(K - L - M - N), path1(J, K, L, M, N, O))), 82 no_delayed_goals(ground(B - C - D - E)), 83 !, 84 'CHRkill'(G), 85 coca(fired_rule(ground)), 86 path1(A, B, C, D, E, F). 87'CHRpath_6'(path(A, B, C, D, E, F), G, H, I) ?- 88 coca(try_rule(I, path(A, B, C, D, E, F), empty, path(J, K, L, M, N, O), replacement, empty(J, M, N), fail)), 89 no_delayed_goals(empty(A, D, E)), 90 !, 91 'CHRkill'(G), 92 coca(fired_rule(empty)), 93 fail. 94'CHRpath_6'(path(A, B, C, D, E, F), G, H, I) ?- 95 coca(try_rule(I, path(A, B, C, D, E, F), universal, path(J, K, L, M, N, O), replacement, universal(J, M, N), true)), 96 no_delayed_goals(universal(A, D, E)), 97 !, 98 'CHRkill'(G), 99 coca(fired_rule(universal)). 100'CHRpath_6'(path(A, B, B, C, D, E), F, G, H) ?- 101 coca(try_rule(H, path(A, B, B, C, D, E), equality, path(I, J, J, K, L, M), replacement, true, equality(K, L))), 102 !, 103 'CHRkill'(F), 104 coca(fired_rule(equality)), 105 equality(C, D). 106'CHRpath_6'(path(1, A, B, C, D, E), F, G, H) ?- 107 coca(try_rule(H, path(1, A, B, C, D, E), unify, path(1, I, J, K, L, M), replacement, (unique(K), equality(K, L)), I = J)), 108 no_delayed_goals((unique(C), equality(C, D))), 109 !, 110 'CHRkill'(F), 111 coca(fired_rule(unify)), 112 A = B. 113'CHRpath_6'(path(1, A, B, C, p - p, D), E, F, G) ?- 114 coca(try_rule(G, path(1, A, B, C, p - p, D), findom_unique, path(1, H, I, J, p - p, K), replacement, (number(H), unique(J)), bind_value(H, I, J))), 115 no_delayed_goals((number(A), unique(C))), 116 !, 117 'CHRkill'(E), 118 coca(fired_rule(findom_unique)), 119 bind_value(A, B, C). 120'CHRpath_6'(path(A, B, C, D, p - p, E), F, G, H) ?- 121 coca(try_rule(H, path(A, B, C, D, p - p, E), findom_x, path(I, J, K, L, p - p, M), replacement, (number(J), J =\= 0, shift_interval(J, L, N)), path(I, 0, K, N, p - p, M))), 122 no_delayed_goals((number(B), B =\= 0, shift_interval(B, D, O))), 123 !, 124 'CHRkill'(F), 125 coca(fired_rule(findom_x)), 126 path(A, 0, C, O, p - p, E). 127'CHRpath_6'(path(A, B, C, D, p - p, E), F, G, H) ?- 128 coca(try_rule(H, path(A, B, C, D, p - p, E), findom_y, path(I, J, K, L, p - p, M), replacement, (number(K), equality([N], p - p), transl(L, O, [N], p - p - p), shift_interval(K, O, P)), path(I, 0, J, P, p - p, M))), 129 no_delayed_goals((number(C), equality([Q], p - p), transl(D, R, [Q], p - p - p), shift_interval(C, R, S))), 130 !, 131 'CHRkill'(F), 132 coca(fired_rule(findom_y)), 133 path(A, 0, B, S, p - p, E). 134'CHRpath_6'(path(A, B, C, D, E, F), G, H, I) :- 135 'CHRpath_6__2'(path(A, B, C, D, E, F), G, H, I). 136:- set_flag('CHRpath_6' / 4, leash, notrace). 137:- current_macro('CHRpath_6' / 4, _7569, _7570, _7571) -> true ; define_macro('CHRpath_6' / 4, tr_chr / 2, [write]). 138'CHRpath_6__2'(A, B, C, D) :- 139 'CHRpath_6__3'(A, B, C, D). 140:- set_flag('CHRpath_6__2' / 4, leash, notrace). 141'CHRpath_6__3'(path(A, B, C, D, E - F, G), H, I, J) ?- 142 'CHRvar'(H), 143 !, 144 'CHRget_delayed_goals'(F, K), 145 'CHRpath_6__3__4'(K, H, path(A, B, C, D, E - F, G), I, J). 146'CHRpath_6__3'(path(A, B, C, D, E, F), G, H, I) :- 147 'CHRpath_6__3__5'(path(A, B, C, D, E, F), G, H, I). 148:- set_flag('CHRpath_6__3' / 4, leash, notrace). 149'CHRpath_6__3__4'(['CHRpath_6'(path(A, B, C, D, E - F, G), H, I, J)|K], L, path(M, B, C, N, E - F, O), P, Q) ?- 150 'CHRvar'(H), 151 'CHRcheck_and_mark_applied'('12'(intersect_xy_xy), L, H, P, I), 152 coca(try_double(Q, path(M, B, C, N, E - F, O), J, path(A, B, C, D, E - F, G), path(R, S, T, U, V - W, X), path(Y, S, T, Z, V - W, A1), augmentation, ((intersection(U, Z, B1, V - W), length(B1, C1), D1 is min(X, A1)), 'CHRkeep_heads_checking'(path(R, S, T, U, V - W, X), E1, path(Y, S, T, Z, V - W, A1), F1, path(C1, S, T, B1, V - W, D1), G1)), 'CHRhead_not_kept'(G1) -> path(C1, S, T, B1, V - W, D1) ; true, intersect_xy_xy)), 153 no_delayed_goals(((intersection(N, D, H1, E - F), length(H1, I1), J1 is min(O, G)), 'CHRkeep_heads_checking'(path(M, B, C, N, E - F, O), L, path(A, B, C, D, E - F, G), H, path(I1, B, C, H1, E - F, J1), K1))), 154 !, 155 coca(fired_rule(intersect_xy_xy)), 156 'CHRpath_6__3__4'(K, L, path(M, B, C, N, E - F, O), P, Q), 157 ( 158 'CHRhead_not_kept'(K1) 159 -> 160 path(I1, B, C, H1, E - F, J1) 161 ; 162 true 163 ). 164'CHRpath_6__3__4'([A|B], C, D, E, F) :- 165 'CHRpath_6__3__4'(B, C, D, E, F). 166'CHRpath_6__3__4'([], A, B, C, D) :- 167 'CHRpath_6__3__5'(B, A, C, D). 168:- set_flag('CHRpath_6__3__4' / 5, leash, notrace). 169'CHRpath_6__3__5'(path(A, B, C, D, E - F, G), H, I, J) ?- 170 'CHRvar'(H), 171 !, 172 'CHRget_delayed_goals'(F, K), 173 'CHRpath_6__3__5__6'(K, H, path(A, B, C, D, E - F, G), I, J). 174'CHRpath_6__3__5'(path(A, B, C, D, E, F), G, H, I) :- 175 'CHRpath_6__3__5__7'(path(A, B, C, D, E, F), G, H, I). 176:- set_flag('CHRpath_6__3__5' / 4, leash, notrace). 177'CHRpath_6__3__5__6'(['CHRpath_6'(path(A, B, C, D, E - F, G), H, I, J)|K], L, path(M, B, C, N, E - F, O), P, Q) ?- 178 'CHRvar'(H), 179 'CHRcheck_and_mark_applied'('21'(intersect_xy_xy), L, H, P, I), 180 coca(try_double(Q, path(M, B, C, N, E - F, O), J, path(A, B, C, D, E - F, G), path(R, S, T, U, V - W, X), path(Y, S, T, Z, V - W, A1), augmentation, ((intersection(Z, U, B1, V - W), length(B1, C1), D1 is min(A1, X)), 'CHRkeep_heads_checking'(path(Y, S, T, Z, V - W, A1), E1, path(R, S, T, U, V - W, X), F1, path(C1, S, T, B1, V - W, D1), G1)), 'CHRhead_not_kept'(G1) -> path(C1, S, T, B1, V - W, D1) ; true, intersect_xy_xy)), 181 no_delayed_goals(((intersection(D, N, H1, E - F), length(H1, I1), J1 is min(G, O)), 'CHRkeep_heads_checking'(path(A, B, C, D, E - F, G), H, path(M, B, C, N, E - F, O), L, path(I1, B, C, H1, E - F, J1), K1))), 182 !, 183 coca(fired_rule(intersect_xy_xy)), 184 'CHRpath_6__3__5__6'(K, L, path(M, B, C, N, E - F, O), P, Q), 185 ( 186 'CHRhead_not_kept'(K1) 187 -> 188 path(I1, B, C, H1, E - F, J1) 189 ; 190 true 191 ). 192'CHRpath_6__3__5__6'([A|B], C, D, E, F) :- 193 'CHRpath_6__3__5__6'(B, C, D, E, F). 194'CHRpath_6__3__5__6'([], A, B, C, D) :- 195 'CHRpath_6__3__5__7'(B, A, C, D). 196:- set_flag('CHRpath_6__3__5__6' / 5, leash, notrace). 197'CHRpath_6__3__5__7'(path(A, B, C, D, E - F, G), H, I, J) ?- 198 'CHRvar'(H), 199 !, 200 'CHRget_delayed_goals'(F, K), 201 'CHRpath_6__3__5__7__8'(K, H, path(A, B, C, D, E - F, G), I, J). 202'CHRpath_6__3__5__7'(path(A, B, C, D, E, F), G, H, I) :- 203 'CHRpath_6__3__5__7__9'(path(A, B, C, D, E, F), G, H, I). 204:- set_flag('CHRpath_6__3__5__7' / 4, leash, notrace). 205'CHRpath_6__3__5__7__8'(['CHRpath_6'(path(A, B, C, D, E - F, G), H, I, J)|K], L, path(M, C, B, N, F - E, O), P, Q) ?- 206 'CHRvar'(H), 207 'CHRcheck_and_mark_applied'('12'(intersect_yx_xy), L, H, P, I), 208 coca(try_double(Q, path(M, C, B, N, F - E, O), J, path(A, B, C, D, E - F, G), path(R, S, T, U, V - W, X), path(Y, T, S, Z, W - V, A1), augmentation, ((equality([B1], W - W), transl(Z, C1, [B1], W - V - W), intersection(U, C1, D1, V - W), length(D1, E1), F1 is min(X, A1)), 'CHRkeep_heads_checking'(path(R, S, T, U, V - W, X), G1, path(Y, T, S, Z, W - V, A1), H1, path(E1, S, T, D1, V - W, F1), I1)), 'CHRhead_not_kept'(I1) -> path(E1, S, T, D1, V - W, F1) ; true, intersect_yx_xy)), 209 no_delayed_goals(((equality([J1], E - E), transl(D, K1, [J1], E - F - E), intersection(N, K1, L1, F - E), length(L1, M1), N1 is min(O, G)), 'CHRkeep_heads_checking'(path(M, C, B, N, F - E, O), L, path(A, B, C, D, E - F, G), H, path(M1, C, B, L1, F - E, N1), O1))), 210 !, 211 coca(fired_rule(intersect_yx_xy)), 212 'CHRpath_6__3__5__7__8'(K, L, path(M, C, B, N, F - E, O), P, Q), 213 ( 214 'CHRhead_not_kept'(O1) 215 -> 216 path(M1, C, B, L1, F - E, N1) 217 ; 218 true 219 ). 220'CHRpath_6__3__5__7__8'([A|B], C, D, E, F) :- 221 'CHRpath_6__3__5__7__8'(B, C, D, E, F). 222'CHRpath_6__3__5__7__8'([], A, B, C, D) :- 223 'CHRpath_6__3__5__7__9'(B, A, C, D). 224:- set_flag('CHRpath_6__3__5__7__8' / 5, leash, notrace). 225'CHRpath_6__3__5__7__9'(path(A, B, C, D, E - F, G), H, I, J) ?- 226 'CHRvar'(H), 227 !, 228 'CHRget_delayed_goals'(F, K), 229 'CHRpath_6__3__5__7__9__10'(K, H, path(A, B, C, D, E - F, G), I, J). 230'CHRpath_6__3__5__7__9'(path(A, B, C, D, E, F), G, H, I) :- 231 'CHRpath_6__3__5__7__9__11'(path(A, B, C, D, E, F), G, H, I). 232:- set_flag('CHRpath_6__3__5__7__9' / 4, leash, notrace). 233'CHRpath_6__3__5__7__9__10'(['CHRpath_6'(path(A, B, C, D, E - F, G), H, I, J)|K], L, path(M, C, B, N, F - E, O), P, Q) ?- 234 'CHRvar'(H), 235 'CHRcheck_and_mark_applied'('21'(intersect_yx_xy), L, H, P, I), 236 coca(try_double(Q, path(M, C, B, N, F - E, O), J, path(A, B, C, D, E - F, G), path(R, S, T, U, V - W, X), path(Y, T, S, Z, W - V, A1), augmentation, ((equality([B1], V - V), transl(U, C1, [B1], V - W - V), intersection(Z, C1, D1, W - V), length(D1, E1), F1 is min(A1, X)), 'CHRkeep_heads_checking'(path(Y, T, S, Z, W - V, A1), G1, path(R, S, T, U, V - W, X), H1, path(E1, T, S, D1, W - V, F1), I1)), 'CHRhead_not_kept'(I1) -> path(E1, T, S, D1, W - V, F1) ; true, intersect_yx_xy)), 237 no_delayed_goals(((equality([J1], F - F), transl(N, K1, [J1], F - E - F), intersection(D, K1, L1, E - F), length(L1, M1), N1 is min(G, O)), 'CHRkeep_heads_checking'(path(A, B, C, D, E - F, G), H, path(M, C, B, N, F - E, O), L, path(M1, B, C, L1, E - F, N1), O1))), 238 !, 239 coca(fired_rule(intersect_yx_xy)), 240 'CHRpath_6__3__5__7__9__10'(K, L, path(M, C, B, N, F - E, O), P, Q), 241 ( 242 'CHRhead_not_kept'(O1) 243 -> 244 path(M1, B, C, L1, E - F, N1) 245 ; 246 true 247 ). 248'CHRpath_6__3__5__7__9__10'([A|B], C, D, E, F) :- 249 'CHRpath_6__3__5__7__9__10'(B, C, D, E, F). 250'CHRpath_6__3__5__7__9__10'([], A, B, C, D) :- 251 'CHRpath_6__3__5__7__9__11'(B, A, C, D). 252:- set_flag('CHRpath_6__3__5__7__9__10' / 5, leash, notrace). 253'CHRpath_6__3__5__7__9__11'(path(A, B, C, D, E - F, G), H, I, J) ?- 254 'CHRvar'(H), 255 !, 256 'CHRget_delayed_goals'(F, K), 257 'CHRpath_6__3__5__7__9__11__12'(K, H, path(A, B, C, D, E - F, G), I, J). 258'CHRpath_6__3__5__7__9__11'(path(A, B, C, D, E, F), G, H, I) :- 259 'CHRpath_6__3__5__7__9__11__13'(path(A, B, C, D, E, F), G, H, I). 260:- set_flag('CHRpath_6__3__5__7__9__11' / 4, leash, notrace). 261'CHRpath_6__3__5__7__9__11__12'(['CHRpath_6'(path(A, B, C, D, E - F, G), H, I, J)|K], L, path(M, N, B, O, P - E, Q), R, S) ?- 262 'CHRvar'(H), 263 'CHRcheck_and_mark_applied'('12'(propagate_xy_yz), L, H, R, I), 264 coca(try_double(S, path(M, N, B, O, P - E, Q), J, path(A, B, C, D, E - F, G), path(T, U, V, W, X - Y, Z), path(A1, V, B1, C1, Y - D1, E1), augmentation, (nonground(V), E1 = 1, (Z = 1 -> U @< B1 ; true), transl(W, C1, F1, X - Y - D1), length(F1, G1), H1 is Z + E1), path(G1, U, B1, F1, X - D1, H1), propagate_xy_yz)), 265 no_delayed_goals((nonground(B), G = 1, (Q = 1 -> N @< C ; true), transl(O, D, I1, P - E - F), length(I1, J1), K1 is Q + G)), 266 !, 267 coca(fired_rule(propagate_xy_yz)), 268 'CHRpath_6__3__5__7__9__11__12'(K, L, path(M, N, B, O, P - E, Q), R, S), 269 path(J1, N, C, I1, P - F, K1). 270'CHRpath_6__3__5__7__9__11__12'([A|B], C, D, E, F) :- 271 'CHRpath_6__3__5__7__9__11__12'(B, C, D, E, F). 272'CHRpath_6__3__5__7__9__11__12'([], A, B, C, D) :- 273 'CHRpath_6__3__5__7__9__11__13'(B, A, C, D). 274:- set_flag('CHRpath_6__3__5__7__9__11__12' / 5, leash, notrace). 275'CHRpath_6__3__5__7__9__11__13'(path(A, B, C, D, E - F, G), H, I, J) ?- 276 'CHRvar'(H), 277 !, 278 'CHRget_delayed_goals'(E, K), 279 'CHRpath_6__3__5__7__9__11__13__14'(K, H, path(A, B, C, D, E - F, G), I, J). 280'CHRpath_6__3__5__7__9__11__13'(path(A, B, C, D, E, F), G, H, I) :- 281 'CHRpath_6__3__5__7__9__11__13__15'(path(A, B, C, D, E, F), G, H, I). 282:- set_flag('CHRpath_6__3__5__7__9__11__13' / 4, leash, notrace). 283'CHRpath_6__3__5__7__9__11__13__14'(['CHRpath_6'(path(A, B, C, D, E - F, G), H, I, J)|K], L, path(M, C, N, O, F - P, Q), R, S) ?- 284 'CHRvar'(H), 285 'CHRcheck_and_mark_applied'('21'(propagate_xy_yz), L, H, R, I), 286 coca(try_double(S, path(M, C, N, O, F - P, Q), J, path(A, B, C, D, E - F, G), path(T, U, V, W, X - Y, Z), path(A1, B1, U, C1, D1 - X, E1), augmentation, (nonground(U), Z = 1, (E1 = 1 -> B1 @< V ; true), transl(C1, W, F1, D1 - X - Y), length(F1, G1), H1 is E1 + Z), path(G1, B1, V, F1, D1 - Y, H1), propagate_xy_yz)), 287 no_delayed_goals((nonground(C), Q = 1, (G = 1 -> B @< N ; true), transl(D, O, I1, E - F - P), length(I1, J1), K1 is G + Q)), 288 !, 289 coca(fired_rule(propagate_xy_yz)), 290 'CHRpath_6__3__5__7__9__11__13__14'(K, L, path(M, C, N, O, F - P, Q), R, S), 291 path(J1, B, N, I1, E - P, K1). 292'CHRpath_6__3__5__7__9__11__13__14'([A|B], C, D, E, F) :- 293 'CHRpath_6__3__5__7__9__11__13__14'(B, C, D, E, F). 294'CHRpath_6__3__5__7__9__11__13__14'([], A, B, C, D) :- 295 'CHRpath_6__3__5__7__9__11__13__15'(B, A, C, D). 296:- set_flag('CHRpath_6__3__5__7__9__11__13__14' / 5, leash, notrace). 297'CHRpath_6__3__5__7__9__11__13__15'(path(A, B, C, D, E - F, G), H, I, J) ?- 298 'CHRvar'(H), 299 !, 300 'CHRget_delayed_goals'(E, K), 301 'CHRpath_6__3__5__7__9__11__13__15__16'(K, H, path(A, B, C, D, E - F, G), I, J). 302'CHRpath_6__3__5__7__9__11__13__15'(path(A, B, C, D, E, F), G, H, I) :- 303 'CHRpath_6__3__5__7__9__11__13__15__17'(path(A, B, C, D, E, F), G, H, I). 304:- set_flag('CHRpath_6__3__5__7__9__11__13__15' / 4, leash, notrace). 305'CHRpath_6__3__5__7__9__11__13__15__16'(['CHRpath_6'(path(A, B, C, D, E - F, G), H, I, J)|K], L, path(M, B, N, O, E - P, Q), R, S) ?- 306 'CHRvar'(H), 307 'CHRcheck_and_mark_applied'('12'(propagate_xy_xz), L, H, R, I), 308 coca(try_double(S, path(M, B, N, O, E - P, Q), J, path(A, B, C, D, E - F, G), path(T, U, V, W, X - Y, Z), path(A1, U, B1, C1, X - D1, E1), augmentation, (nonground(U), min(Z, E1, 1), V @< B1, transl(W, F1, C1, X - Y - D1), length(F1, G1), H1 is Z + E1), path(G1, V, B1, F1, Y - D1, H1), propagate_xy_xz)), 309 no_delayed_goals((nonground(B), min(Q, G, 1), N @< C, transl(O, I1, D, E - P - F), length(I1, J1), K1 is Q + G)), 310 !, 311 coca(fired_rule(propagate_xy_xz)), 312 'CHRpath_6__3__5__7__9__11__13__15__16'(K, L, path(M, B, N, O, E - P, Q), R, S), 313 path(J1, N, C, I1, P - F, K1). 314'CHRpath_6__3__5__7__9__11__13__15__16'([A|B], C, D, E, F) :- 315 'CHRpath_6__3__5__7__9__11__13__15__16'(B, C, D, E, F). 316'CHRpath_6__3__5__7__9__11__13__15__16'([], A, B, C, D) :- 317 'CHRpath_6__3__5__7__9__11__13__15__17'(B, A, C, D). 318:- set_flag('CHRpath_6__3__5__7__9__11__13__15__16' / 5, leash, notrace). 319'CHRpath_6__3__5__7__9__11__13__15__17'(path(A, B, C, D, E - F, G), H, I, J) ?- 320 'CHRvar'(H), 321 !, 322 'CHRget_delayed_goals'(E, K), 323 'CHRpath_6__3__5__7__9__11__13__15__17__18'(K, H, path(A, B, C, D, E - F, G), I, J). 324'CHRpath_6__3__5__7__9__11__13__15__17'(path(A, B, C, D, E, F), G, H, I) :- 325 'CHRpath_6__3__5__7__9__11__13__15__17__19'(path(A, B, C, D, E, F), G, H, I). 326:- set_flag('CHRpath_6__3__5__7__9__11__13__15__17' / 4, leash, notrace). 327'CHRpath_6__3__5__7__9__11__13__15__17__18'(['CHRpath_6'(path(A, B, C, D, E - F, G), H, I, J)|K], L, path(M, B, N, O, E - P, Q), R, S) ?- 328 'CHRvar'(H), 329 'CHRcheck_and_mark_applied'('21'(propagate_xy_xz), L, H, R, I), 330 coca(try_double(S, path(M, B, N, O, E - P, Q), J, path(A, B, C, D, E - F, G), path(T, U, V, W, X - Y, Z), path(A1, U, B1, C1, X - D1, E1), augmentation, (nonground(U), min(E1, Z, 1), B1 @< V, transl(C1, F1, W, X - D1 - Y), length(F1, G1), H1 is E1 + Z), path(G1, B1, V, F1, D1 - Y, H1), propagate_xy_xz)), 331 no_delayed_goals((nonground(B), min(G, Q, 1), C @< N, transl(D, I1, O, E - F - P), length(I1, J1), K1 is G + Q)), 332 !, 333 coca(fired_rule(propagate_xy_xz)), 334 'CHRpath_6__3__5__7__9__11__13__15__17__18'(K, L, path(M, B, N, O, E - P, Q), R, S), 335 path(J1, C, N, I1, F - P, K1). 336'CHRpath_6__3__5__7__9__11__13__15__17__18'([A|B], C, D, E, F) :- 337 'CHRpath_6__3__5__7__9__11__13__15__17__18'(B, C, D, E, F). 338'CHRpath_6__3__5__7__9__11__13__15__17__18'([], A, B, C, D) :- 339 'CHRpath_6__3__5__7__9__11__13__15__17__19'(B, A, C, D). 340:- set_flag('CHRpath_6__3__5__7__9__11__13__15__17__18' / 5, leash, notrace). 341'CHRpath_6__3__5__7__9__11__13__15__17__19'(path(A, B, C, D, E - F, G), H, I, J) ?- 342 'CHRvar'(H), 343 !, 344 'CHRget_delayed_goals'(F, K), 345 'CHRpath_6__3__5__7__9__11__13__15__17__19__20'(K, H, path(A, B, C, D, E - F, G), I, J). 346'CHRpath_6__3__5__7__9__11__13__15__17__19'(path(A, B, C, D, E, F), G, H, I) :- 347 'CHRpath_6__3__5__7__9__11__13__15__17__19__21'(path(A, B, C, D, E, F), G, H, I). 348:- set_flag('CHRpath_6__3__5__7__9__11__13__15__17__19' / 4, leash, notrace). 349'CHRpath_6__3__5__7__9__11__13__15__17__19__20'(['CHRpath_6'(path(A, B, C, D, E - F, G), H, I, J)|K], L, path(M, N, C, O, P - F, Q), R, S) ?- 350 'CHRvar'(H), 351 'CHRcheck_and_mark_applied'('12'(propagate_xy_zy), L, H, R, I), 352 coca(try_double(S, path(M, N, C, O, P - F, Q), J, path(A, B, C, D, E - F, G), path(T, U, V, W, X - Y, Z), path(A1, B1, V, C1, D1 - Y, E1), augmentation, (nonground(V), min(Z, E1, 1), U @< B1, transl(F1, C1, W, X - D1 - Y), length(F1, G1), H1 is Z + E1), path(G1, U, B1, F1, X - D1, H1), propagate_xy_zy)), 353 no_delayed_goals((nonground(C), min(Q, G, 1), N @< B, transl(I1, D, O, P - E - F), length(I1, J1), K1 is Q + G)), 354 !, 355 coca(fired_rule(propagate_xy_zy)), 356 'CHRpath_6__3__5__7__9__11__13__15__17__19__20'(K, L, path(M, N, C, O, P - F, Q), R, S), 357 path(J1, N, B, I1, P - E, K1). 358'CHRpath_6__3__5__7__9__11__13__15__17__19__20'([A|B], C, D, E, F) :- 359 'CHRpath_6__3__5__7__9__11__13__15__17__19__20'(B, C, D, E, F). 360'CHRpath_6__3__5__7__9__11__13__15__17__19__20'([], A, B, C, D) :- 361 'CHRpath_6__3__5__7__9__11__13__15__17__19__21'(B, A, C, D). 362:- set_flag('CHRpath_6__3__5__7__9__11__13__15__17__19__20' / 5, leash, notrace). 363'CHRpath_6__3__5__7__9__11__13__15__17__19__21'(path(A, B, C, D, E - F, G), H, I, J) ?- 364 'CHRvar'(H), 365 !, 366 'CHRget_delayed_goals'(F, K), 367 'CHRpath_6__3__5__7__9__11__13__15__17__19__21__22'(K, H, path(A, B, C, D, E - F, G), I, J). 368'CHRpath_6__3__5__7__9__11__13__15__17__19__21'(path(A, B, C, D, E, F), G, H, I) :- 369 'CHRpath_6__3__5__7__9__11__13__15__17__19__21__23'(path(A, B, C, D, E, F), G, H, I). 370:- set_flag('CHRpath_6__3__5__7__9__11__13__15__17__19__21' / 4, leash, notrace). 371'CHRpath_6__3__5__7__9__11__13__15__17__19__21__22'(['CHRpath_6'(path(A, B, C, D, E - F, G), H, I, J)|K], L, path(M, N, C, O, P - F, Q), R, S) ?- 372 'CHRvar'(H), 373 'CHRcheck_and_mark_applied'('21'(propagate_xy_zy), L, H, R, I), 374 coca(try_double(S, path(M, N, C, O, P - F, Q), J, path(A, B, C, D, E - F, G), path(T, U, V, W, X - Y, Z), path(A1, B1, V, C1, D1 - Y, E1), augmentation, (nonground(V), min(E1, Z, 1), B1 @< U, transl(F1, W, C1, D1 - X - Y), length(F1, G1), H1 is E1 + Z), path(G1, B1, U, F1, D1 - X, H1), propagate_xy_zy)), 375 no_delayed_goals((nonground(C), min(G, Q, 1), B @< N, transl(I1, O, D, E - P - F), length(I1, J1), K1 is G + Q)), 376 !, 377 coca(fired_rule(propagate_xy_zy)), 378 'CHRpath_6__3__5__7__9__11__13__15__17__19__21__22'(K, L, path(M, N, C, O, P - F, Q), R, S), 379 path(J1, B, N, I1, E - P, K1). 380'CHRpath_6__3__5__7__9__11__13__15__17__19__21__22'([A|B], C, D, E, F) :- 381 'CHRpath_6__3__5__7__9__11__13__15__17__19__21__22'(B, C, D, E, F). 382'CHRpath_6__3__5__7__9__11__13__15__17__19__21__22'([], A, B, C, D) :- 383 'CHRpath_6__3__5__7__9__11__13__15__17__19__21__23'(B, A, C, D). 384:- set_flag('CHRpath_6__3__5__7__9__11__13__15__17__19__21__22' / 5, leash, notrace). 385'CHRpath_6__3__5__7__9__11__13__15__17__19__21__23'(path(A, B, C, D, E, F), G, H, I) :- 386 ( 387 'CHRvar'(G) 388 -> 389 'CHRdelay'([G, path(A, B, C, D, E, F)], 'CHRpath_6'(path(A, B, C, D, E, F), G, H, I)) 390 ; 391 true 392 ). 393:- set_flag('CHRpath_6__3__5__7__9__11__13__15__17__19__21__23' / 4, leash, notrace). 394 395:- getval(variable_names_flag, Val), set_flag(variable_names, Val). 396