7
8:- module(guard_entailment,
9 [ entails_guard/2,
10 simplify_guards/5
11 ]). 12:- use_module(chr(chr_runtime)). 13:- style_check(- (discontiguous)). 14:- style_check(-singleton). 15:- style_check(-no_effect). 16:- include(chr(chr_op)).
17:- use_module(library(dialect/hprolog)). 18:- use_module(library(lists)). 19:- use_module(chr(builtins)). 20:- use_module(chr(chr_compiler_errors)). 21entails_guard(A, B) :-
22 copy_term_nat((A, B), (C, D)),
23 term_variables(C, E),
24 variables(E),
25 sort(C, F),
26 entails_guard2(F),
27 !,
28 test(D),
29 !,
30 cleanup.
31entails_guard2([]).
32entails_guard2([A|B]) :-
33 known(A),
34 entails_guard2(B).
35simplify_guards(A, B, C, D, E) :-
36 copy_term_nat((A, C), (F, G)),
37 term_variables(F, H),
38 variables(H),
39 sort(F, I),
40 entails_guard2(I),
41 !,
42 simplify(G, J),
43 simplified(C, J, D, B, E),
44 !,
45 cleanup.
46simplified([], [], [], A, A).
47simplified([A|B], [keep|C], [A|D], E, F) :-
48 simplified(B, C, D, E, F).
49simplified([_|_], [fail|_], fail, A, A).
50simplified([A|B], [true|C], [D|E], F, G) :-
51 builtins:binds_b(A, H),
52 term_variables(B, I),
53 intersect_eq(H, I, J),
54 !,
55 ( J=[]
56 -> term_variables(F, K),
57 intersect_eq(H, K, L),
58 !,
59 ( L=[]
60 -> D=true,
61 G=M
62 ; D=true,
63 G=(A, M)
64 )
65 ; D=A,
66 G=M
67 ),
68 simplified(B, C, E, F, M).
69simplify([], []).
70simplify([A|B], [C|D]) :-
71 ( \+ try(true, A)
72 -> C=true
73 ; builtins:negate_b(A, E),
74 ( \+ try(true, E)
75 -> C=fail
76 ; C=keep
77 )
78 ),
79 known(A),
80 simplify(B, D).
81try(A, B) :-
82 ( known(A)
83 -> true
84 ; chr_error(internal, 'Entailment Checker: try/2.\n', [])
85 ),
86 ( test(B)
87 -> fail
88 ; true
89 ).
90add_args_unif([], [], true).
91add_args_unif([A|B], [C|D], (A=C, E)) :-
92 add_args_unif(B, D, E).
93add_args_nunif([], [], fail).
94add_args_nunif([A|B], [C|D], (A\=C;E)) :-
95 add_args_nunif(B, D, E).
96add_args_nmatch([], [], fail).
97add_args_nmatch([A|B], [C|D], (A\==C;E)) :-
98 add_args_nmatch(B, D, E).
99all_unique_vars(A, B) :-
100 all_unique_vars(A, B, []).
101all_unique_vars([], _, _).
102all_unique_vars([A|B], C, D) :-
103 var(A),
104 \+ memberchk_eq(A, C),
105 \+ memberchk_eq(A, D),
106 all_unique_vars(B, [A|D]).
107:- use_module(chr(chr_runtime)). 108attach_variables___1([], _).
109attach_variables___1([A|B], C) :-
110 ( get_attr(A, guard_entailment, D)
111 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
112 ( E/\1=:=1
113 -> A1=v(E, [C|F], G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
114 ; B1 is E\/1,
115 A1=v(B1, [C], G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
116 ),
117 put_attr(A, guard_entailment, A1)
118 ; put_attr(A,
119 guard_entailment,
120 v(1,
121 [C],
122 [],
123 [],
124 [],
125 [],
126 [],
127 [],
128 [],
129 [],
130 [],
131 [],
132 [],
133 [],
134 [],
135 [],
136 [],
137 [],
138 [],
139 [],
140 [],
141 []))
142 ),
143 attach_variables___1(B, C).
144detach_variables___1([], _).
145detach_variables___1([A|B], C) :-
146 ( get_attr(A, guard_entailment, D)
147 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
148 ( E/\1=:=1
149 -> 'chr sbag_del_element'(F, C, A1),
150 ( A1==[]
151 -> B1 is E/\ -2,
152 ( B1==0
153 -> del_attr(A, guard_entailment)
154 ; put_attr(A,
155 guard_entailment,
156 v(B1,
157 [],
158 G,
159 H,
160 I,
161 J,
162 K,
163 L,
164 M,
165 N,
166 O,
167 P,
168 Q,
169 R,
170 S,
171 T,
172 U,
173 V,
174 W,
175 X,
176 Y,
177 Z))
178 )
179 ; put_attr(A,
180 guard_entailment,
181 v(E,
182 A1,
183 G,
184 H,
185 I,
186 J,
187 K,
188 L,
189 M,
190 N,
191 O,
192 P,
193 Q,
194 R,
195 S,
196 T,
197 U,
198 V,
199 W,
200 X,
201 Y,
202 Z))
203 )
204 ; true
205 )
206 ; true
207 ),
208 detach_variables___1(B, C).
209'attach_known/1_1_$default___1'([], _).
210'attach_known/1_1_$default___1'([A|B], C) :-
211 ( get_attr(A, guard_entailment, D)
212 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
213 ( E/\2=:=2
214 -> A1=v(E, F, [C|G], H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
215 ; B1 is E\/2,
216 A1=v(B1, F, [C], H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
217 ),
218 put_attr(A, guard_entailment, A1)
219 ; put_attr(A,
220 guard_entailment,
221 v(2,
222 [],
223 [C],
224 [],
225 [],
226 [],
227 [],
228 [],
229 [],
230 [],
231 [],
232 [],
233 [],
234 [],
235 [],
236 [],
237 [],
238 [],
239 [],
240 [],
241 [],
242 []))
243 ),
244 'attach_known/1_1_$default___1'(B, C).
245'detach_known/1_1_$default___1'([], _).
246'detach_known/1_1_$default___1'([A|B], C) :-
247 ( get_attr(A, guard_entailment, D)
248 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
249 ( E/\2=:=2
250 -> 'chr sbag_del_element'(G, C, A1),
251 ( A1==[]
252 -> B1 is E/\ -3,
253 ( B1==0
254 -> del_attr(A, guard_entailment)
255 ; put_attr(A,
256 guard_entailment,
257 v(B1,
258 F,
259 [],
260 H,
261 I,
262 J,
263 K,
264 L,
265 M,
266 N,
267 O,
268 P,
269 Q,
270 R,
271 S,
272 T,
273 U,
274 V,
275 W,
276 X,
277 Y,
278 Z))
279 )
280 ; put_attr(A,
281 guard_entailment,
282 v(E,
283 F,
284 A1,
285 H,
286 I,
287 J,
288 K,
289 L,
290 M,
291 N,
292 O,
293 P,
294 Q,
295 R,
296 S,
297 T,
298 U,
299 V,
300 W,
301 X,
302 Y,
303 Z))
304 )
305 ; true
306 )
307 ; true
308 ),
309 'detach_known/1_1_$default___1'(B, C).
310'attach_known/1_1_$special_;/2___2'([], _).
311'attach_known/1_1_$special_;/2___2'([A|B], C) :-
312 ( get_attr(A, guard_entailment, D)
313 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
314 ( E/\4=:=4
315 -> A1=v(E, F, G, [C|H], I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
316 ; B1 is E\/4,
317 A1=v(B1, F, G, [C], I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
318 ),
319 put_attr(A, guard_entailment, A1)
320 ; put_attr(A,
321 guard_entailment,
322 v(4,
323 [],
324 [],
325 [C],
326 [],
327 [],
328 [],
329 [],
330 [],
331 [],
332 [],
333 [],
334 [],
335 [],
336 [],
337 [],
338 [],
339 [],
340 [],
341 [],
342 [],
343 []))
344 ),
345 'attach_known/1_1_$special_;/2___2'(B, C).
346'detach_known/1_1_$special_;/2___2'([], _).
347'detach_known/1_1_$special_;/2___2'([A|B], C) :-
348 ( get_attr(A, guard_entailment, D)
349 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
350 ( E/\4=:=4
351 -> 'chr sbag_del_element'(H, C, A1),
352 ( A1==[]
353 -> B1 is E/\ -5,
354 ( B1==0
355 -> del_attr(A, guard_entailment)
356 ; put_attr(A,
357 guard_entailment,
358 v(B1,
359 F,
360 G,
361 [],
362 I,
363 J,
364 K,
365 L,
366 M,
367 N,
368 O,
369 P,
370 Q,
371 R,
372 S,
373 T,
374 U,
375 V,
376 W,
377 X,
378 Y,
379 Z))
380 )
381 ; put_attr(A,
382 guard_entailment,
383 v(E,
384 F,
385 G,
386 A1,
387 I,
388 J,
389 K,
390 L,
391 M,
392 N,
393 O,
394 P,
395 Q,
396 R,
397 S,
398 T,
399 U,
400 V,
401 W,
402 X,
403 Y,
404 Z))
405 )
406 ; true
407 )
408 ; true
409 ),
410 'detach_known/1_1_$special_;/2___2'(B, C).
411'attach_known/1_1_$special_nonvar/1___1'([], _).
412'attach_known/1_1_$special_nonvar/1___1'([A|B], C) :-
413 ( get_attr(A, guard_entailment, D)
414 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
415 ( E/\8=:=8
416 -> A1=v(E, F, G, H, [C|I], J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
417 ; B1 is E\/8,
418 A1=v(B1, F, G, H, [C], J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
419 ),
420 put_attr(A, guard_entailment, A1)
421 ; put_attr(A,
422 guard_entailment,
423 v(8,
424 [],
425 [],
426 [],
427 [C],
428 [],
429 [],
430 [],
431 [],
432 [],
433 [],
434 [],
435 [],
436 [],
437 [],
438 [],
439 [],
440 [],
441 [],
442 [],
443 [],
444 []))
445 ),
446 'attach_known/1_1_$special_nonvar/1___1'(B, C).
447'detach_known/1_1_$special_nonvar/1___1'([], _).
448'detach_known/1_1_$special_nonvar/1___1'([A|B], C) :-
449 ( get_attr(A, guard_entailment, D)
450 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
451 ( E/\8=:=8
452 -> 'chr sbag_del_element'(I, C, A1),
453 ( A1==[]
454 -> B1 is E/\ -9,
455 ( B1==0
456 -> del_attr(A, guard_entailment)
457 ; put_attr(A,
458 guard_entailment,
459 v(B1,
460 F,
461 G,
462 H,
463 [],
464 J,
465 K,
466 L,
467 M,
468 N,
469 O,
470 P,
471 Q,
472 R,
473 S,
474 T,
475 U,
476 V,
477 W,
478 X,
479 Y,
480 Z))
481 )
482 ; put_attr(A,
483 guard_entailment,
484 v(E,
485 F,
486 G,
487 H,
488 A1,
489 J,
490 K,
491 L,
492 M,
493 N,
494 O,
495 P,
496 Q,
497 R,
498 S,
499 T,
500 U,
501 V,
502 W,
503 X,
504 Y,
505 Z))
506 )
507 ; true
508 )
509 ; true
510 ),
511 'detach_known/1_1_$special_nonvar/1___1'(B, C).
512'attach_known/1_1_$special_var/1___1'([], _).
513'attach_known/1_1_$special_var/1___1'([A|B], C) :-
514 ( get_attr(A, guard_entailment, D)
515 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
516 ( E/\16=:=16
517 -> A1=v(E, F, G, H, I, [C|J], K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
518 ; B1 is E\/16,
519 A1=v(B1, F, G, H, I, [C], K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
520 ),
521 put_attr(A, guard_entailment, A1)
522 ; put_attr(A,
523 guard_entailment,
524 v(16,
525 [],
526 [],
527 [],
528 [],
529 [C],
530 [],
531 [],
532 [],
533 [],
534 [],
535 [],
536 [],
537 [],
538 [],
539 [],
540 [],
541 [],
542 [],
543 [],
544 [],
545 []))
546 ),
547 'attach_known/1_1_$special_var/1___1'(B, C).
548'detach_known/1_1_$special_var/1___1'([], _).
549'detach_known/1_1_$special_var/1___1'([A|B], C) :-
550 ( get_attr(A, guard_entailment, D)
551 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
552 ( E/\16=:=16
553 -> 'chr sbag_del_element'(J, C, A1),
554 ( A1==[]
555 -> B1 is E/\ -17,
556 ( B1==0
557 -> del_attr(A, guard_entailment)
558 ; put_attr(A,
559 guard_entailment,
560 v(B1,
561 F,
562 G,
563 H,
564 I,
565 [],
566 K,
567 L,
568 M,
569 N,
570 O,
571 P,
572 Q,
573 R,
574 S,
575 T,
576 U,
577 V,
578 W,
579 X,
580 Y,
581 Z))
582 )
583 ; put_attr(A,
584 guard_entailment,
585 v(E,
586 F,
587 G,
588 H,
589 I,
590 A1,
591 K,
592 L,
593 M,
594 N,
595 O,
596 P,
597 Q,
598 R,
599 S,
600 T,
601 U,
602 V,
603 W,
604 X,
605 Y,
606 Z))
607 )
608 ; true
609 )
610 ; true
611 ),
612 'detach_known/1_1_$special_var/1___1'(B, C).
613'attach_known/1_1_$special_atom/1___1'([], _).
614'attach_known/1_1_$special_atom/1___1'([A|B], C) :-
615 ( get_attr(A, guard_entailment, D)
616 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
617 ( E/\32=:=32
618 -> A1=v(E, F, G, H, I, J, [C|K], L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
619 ; B1 is E\/32,
620 A1=v(B1, F, G, H, I, J, [C], L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
621 ),
622 put_attr(A, guard_entailment, A1)
623 ; put_attr(A,
624 guard_entailment,
625 v(32,
626 [],
627 [],
628 [],
629 [],
630 [],
631 [C],
632 [],
633 [],
634 [],
635 [],
636 [],
637 [],
638 [],
639 [],
640 [],
641 [],
642 [],
643 [],
644 [],
645 [],
646 []))
647 ),
648 'attach_known/1_1_$special_atom/1___1'(B, C).
649'detach_known/1_1_$special_atom/1___1'([], _).
650'detach_known/1_1_$special_atom/1___1'([A|B], C) :-
651 ( get_attr(A, guard_entailment, D)
652 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
653 ( E/\32=:=32
654 -> 'chr sbag_del_element'(K, C, A1),
655 ( A1==[]
656 -> B1 is E/\ -33,
657 ( B1==0
658 -> del_attr(A, guard_entailment)
659 ; put_attr(A,
660 guard_entailment,
661 v(B1,
662 F,
663 G,
664 H,
665 I,
666 J,
667 [],
668 L,
669 M,
670 N,
671 O,
672 P,
673 Q,
674 R,
675 S,
676 T,
677 U,
678 V,
679 W,
680 X,
681 Y,
682 Z))
683 )
684 ; put_attr(A,
685 guard_entailment,
686 v(E,
687 F,
688 G,
689 H,
690 I,
691 J,
692 A1,
693 L,
694 M,
695 N,
696 O,
697 P,
698 Q,
699 R,
700 S,
701 T,
702 U,
703 V,
704 W,
705 X,
706 Y,
707 Z))
708 )
709 ; true
710 )
711 ; true
712 ),
713 'detach_known/1_1_$special_atom/1___1'(B, C).
714'attach_known/1_1_$special_atomic/1___1'([], _).
715'attach_known/1_1_$special_atomic/1___1'([A|B], C) :-
716 ( get_attr(A, guard_entailment, D)
717 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
718 ( E/\64=:=64
719 -> A1=v(E, F, G, H, I, J, K, [C|L], M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
720 ; B1 is E\/64,
721 A1=v(B1, F, G, H, I, J, K, [C], M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
722 ),
723 put_attr(A, guard_entailment, A1)
724 ; put_attr(A,
725 guard_entailment,
726 v(64,
727 [],
728 [],
729 [],
730 [],
731 [],
732 [],
733 [C],
734 [],
735 [],
736 [],
737 [],
738 [],
739 [],
740 [],
741 [],
742 [],
743 [],
744 [],
745 [],
746 [],
747 []))
748 ),
749 'attach_known/1_1_$special_atomic/1___1'(B, C).
750'detach_known/1_1_$special_atomic/1___1'([], _).
751'detach_known/1_1_$special_atomic/1___1'([A|B], C) :-
752 ( get_attr(A, guard_entailment, D)
753 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
754 ( E/\64=:=64
755 -> 'chr sbag_del_element'(L, C, A1),
756 ( A1==[]
757 -> B1 is E/\ -65,
758 ( B1==0
759 -> del_attr(A, guard_entailment)
760 ; put_attr(A,
761 guard_entailment,
762 v(B1,
763 F,
764 G,
765 H,
766 I,
767 J,
768 K,
769 [],
770 M,
771 N,
772 O,
773 P,
774 Q,
775 R,
776 S,
777 T,
778 U,
779 V,
780 W,
781 X,
782 Y,
783 Z))
784 )
785 ; put_attr(A,
786 guard_entailment,
787 v(E,
788 F,
789 G,
790 H,
791 I,
792 J,
793 K,
794 A1,
795 M,
796 N,
797 O,
798 P,
799 Q,
800 R,
801 S,
802 T,
803 U,
804 V,
805 W,
806 X,
807 Y,
808 Z))
809 )
810 ; true
811 )
812 ; true
813 ),
814 'detach_known/1_1_$special_atomic/1___1'(B, C).
815'attach_known/1_1_$special_compound/1___1'([], _).
816'attach_known/1_1_$special_compound/1___1'([A|B], C) :-
817 ( get_attr(A, guard_entailment, D)
818 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
819 ( E/\128=:=128
820 -> A1=v(E, F, G, H, I, J, K, L, [C|M], N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
821 ; B1 is E\/128,
822 A1=v(B1, F, G, H, I, J, K, L, [C], N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
823 ),
824 put_attr(A, guard_entailment, A1)
825 ; put_attr(A,
826 guard_entailment,
827 v(128,
828 [],
829 [],
830 [],
831 [],
832 [],
833 [],
834 [],
835 [C],
836 [],
837 [],
838 [],
839 [],
840 [],
841 [],
842 [],
843 [],
844 [],
845 [],
846 [],
847 [],
848 []))
849 ),
850 'attach_known/1_1_$special_compound/1___1'(B, C).
851'detach_known/1_1_$special_compound/1___1'([], _).
852'detach_known/1_1_$special_compound/1___1'([A|B], C) :-
853 ( get_attr(A, guard_entailment, D)
854 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
855 ( E/\128=:=128
856 -> 'chr sbag_del_element'(M, C, A1),
857 ( A1==[]
858 -> B1 is E/\ -129,
859 ( B1==0
860 -> del_attr(A, guard_entailment)
861 ; put_attr(A,
862 guard_entailment,
863 v(B1,
864 F,
865 G,
866 H,
867 I,
868 J,
869 K,
870 L,
871 [],
872 N,
873 O,
874 P,
875 Q,
876 R,
877 S,
878 T,
879 U,
880 V,
881 W,
882 X,
883 Y,
884 Z))
885 )
886 ; put_attr(A,
887 guard_entailment,
888 v(E,
889 F,
890 G,
891 H,
892 I,
893 J,
894 K,
895 L,
896 A1,
897 N,
898 O,
899 P,
900 Q,
901 R,
902 S,
903 T,
904 U,
905 V,
906 W,
907 X,
908 Y,
909 Z))
910 )
911 ; true
912 )
913 ; true
914 ),
915 'detach_known/1_1_$special_compound/1___1'(B, C).
916'attach_known/1_1_$special_ground/1___1'([], _).
917'attach_known/1_1_$special_ground/1___1'([A|B], C) :-
918 ( get_attr(A, guard_entailment, D)
919 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
920 ( E/\256=:=256
921 -> A1=v(E, F, G, H, I, J, K, L, M, [C|N], O, P, Q, R, S, T, U, V, W, X, Y, Z)
922 ; B1 is E\/256,
923 A1=v(B1, F, G, H, I, J, K, L, M, [C], O, P, Q, R, S, T, U, V, W, X, Y, Z)
924 ),
925 put_attr(A, guard_entailment, A1)
926 ; put_attr(A,
927 guard_entailment,
928 v(256,
929 [],
930 [],
931 [],
932 [],
933 [],
934 [],
935 [],
936 [],
937 [C],
938 [],
939 [],
940 [],
941 [],
942 [],
943 [],
944 [],
945 [],
946 [],
947 [],
948 [],
949 []))
950 ),
951 'attach_known/1_1_$special_ground/1___1'(B, C).
952'detach_known/1_1_$special_ground/1___1'([], _).
953'detach_known/1_1_$special_ground/1___1'([A|B], C) :-
954 ( get_attr(A, guard_entailment, D)
955 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
956 ( E/\256=:=256
957 -> 'chr sbag_del_element'(N, C, A1),
958 ( A1==[]
959 -> B1 is E/\ -257,
960 ( B1==0
961 -> del_attr(A, guard_entailment)
962 ; put_attr(A,
963 guard_entailment,
964 v(B1,
965 F,
966 G,
967 H,
968 I,
969 J,
970 K,
971 L,
972 M,
973 [],
974 O,
975 P,
976 Q,
977 R,
978 S,
979 T,
980 U,
981 V,
982 W,
983 X,
984 Y,
985 Z))
986 )
987 ; put_attr(A,
988 guard_entailment,
989 v(E,
990 F,
991 G,
992 H,
993 I,
994 J,
995 K,
996 L,
997 M,
998 A1,
999 O,
1000 P,
1001 Q,
1002 R,
1003 S,
1004 T,
1005 U,
1006 V,
1007 W,
1008 X,
1009 Y,
1010 Z))
1011 )
1012 ; true
1013 )
1014 ; true
1015 ),
1016 'detach_known/1_1_$special_ground/1___1'(B, C).
1017'attach_known/1_1_$special_integer/1___1'([], _).
1018'attach_known/1_1_$special_integer/1___1'([A|B], C) :-
1019 ( get_attr(A, guard_entailment, D)
1020 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
1021 ( E/\512=:=512
1022 -> A1=v(E, F, G, H, I, J, K, L, M, N, [C|O], P, Q, R, S, T, U, V, W, X, Y, Z)
1023 ; B1 is E\/512,
1024 A1=v(B1, F, G, H, I, J, K, L, M, N, [C], P, Q, R, S, T, U, V, W, X, Y, Z)
1025 ),
1026 put_attr(A, guard_entailment, A1)
1027 ; put_attr(A,
1028 guard_entailment,
1029 v(512,
1030 [],
1031 [],
1032 [],
1033 [],
1034 [],
1035 [],
1036 [],
1037 [],
1038 [],
1039 [C],
1040 [],
1041 [],
1042 [],
1043 [],
1044 [],
1045 [],
1046 [],
1047 [],
1048 [],
1049 [],
1050 []))
1051 ),
1052 'attach_known/1_1_$special_integer/1___1'(B, C).
1053'detach_known/1_1_$special_integer/1___1'([], _).
1054'detach_known/1_1_$special_integer/1___1'([A|B], C) :-
1055 ( get_attr(A, guard_entailment, D)
1056 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
1057 ( E/\512=:=512
1058 -> 'chr sbag_del_element'(O, C, A1),
1059 ( A1==[]
1060 -> B1 is E/\ -513,
1061 ( B1==0
1062 -> del_attr(A, guard_entailment)
1063 ; put_attr(A,
1064 guard_entailment,
1065 v(B1,
1066 F,
1067 G,
1068 H,
1069 I,
1070 J,
1071 K,
1072 L,
1073 M,
1074 N,
1075 [],
1076 P,
1077 Q,
1078 R,
1079 S,
1080 T,
1081 U,
1082 V,
1083 W,
1084 X,
1085 Y,
1086 Z))
1087 )
1088 ; put_attr(A,
1089 guard_entailment,
1090 v(E,
1091 F,
1092 G,
1093 H,
1094 I,
1095 J,
1096 K,
1097 L,
1098 M,
1099 N,
1100 A1,
1101 P,
1102 Q,
1103 R,
1104 S,
1105 T,
1106 U,
1107 V,
1108 W,
1109 X,
1110 Y,
1111 Z))
1112 )
1113 ; true
1114 )
1115 ; true
1116 ),
1117 'detach_known/1_1_$special_integer/1___1'(B, C).
1118'attach_known/1_1_$special_float/1___1'([], _).
1119'attach_known/1_1_$special_float/1___1'([A|B], C) :-
1120 ( get_attr(A, guard_entailment, D)
1121 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
1122 ( E/\1024=:=1024
1123 -> A1=v(E, F, G, H, I, J, K, L, M, N, O, [C|P], Q, R, S, T, U, V, W, X, Y, Z)
1124 ; B1 is E\/1024,
1125 A1=v(B1, F, G, H, I, J, K, L, M, N, O, [C], Q, R, S, T, U, V, W, X, Y, Z)
1126 ),
1127 put_attr(A, guard_entailment, A1)
1128 ; put_attr(A,
1129 guard_entailment,
1130 v(1024,
1131 [],
1132 [],
1133 [],
1134 [],
1135 [],
1136 [],
1137 [],
1138 [],
1139 [],
1140 [],
1141 [C],
1142 [],
1143 [],
1144 [],
1145 [],
1146 [],
1147 [],
1148 [],
1149 [],
1150 [],
1151 []))
1152 ),
1153 'attach_known/1_1_$special_float/1___1'(B, C).
1154'detach_known/1_1_$special_float/1___1'([], _).
1155'detach_known/1_1_$special_float/1___1'([A|B], C) :-
1156 ( get_attr(A, guard_entailment, D)
1157 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
1158 ( E/\1024=:=1024
1159 -> 'chr sbag_del_element'(P, C, A1),
1160 ( A1==[]
1161 -> B1 is E/\ -1025,
1162 ( B1==0
1163 -> del_attr(A, guard_entailment)
1164 ; put_attr(A,
1165 guard_entailment,
1166 v(B1,
1167 F,
1168 G,
1169 H,
1170 I,
1171 J,
1172 K,
1173 L,
1174 M,
1175 N,
1176 O,
1177 [],
1178 Q,
1179 R,
1180 S,
1181 T,
1182 U,
1183 V,
1184 W,
1185 X,
1186 Y,
1187 Z))
1188 )
1189 ; put_attr(A,
1190 guard_entailment,
1191 v(E,
1192 F,
1193 G,
1194 H,
1195 I,
1196 J,
1197 K,
1198 L,
1199 M,
1200 N,
1201 O,
1202 A1,
1203 Q,
1204 R,
1205 S,
1206 T,
1207 U,
1208 V,
1209 W,
1210 X,
1211 Y,
1212 Z))
1213 )
1214 ; true
1215 )
1216 ; true
1217 ),
1218 'detach_known/1_1_$special_float/1___1'(B, C).
1219'attach_known/1_1_$special_number/1___1'([], _).
1220'attach_known/1_1_$special_number/1___1'([A|B], C) :-
1221 ( get_attr(A, guard_entailment, D)
1222 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
1223 ( E/\2048=:=2048
1224 -> A1=v(E, F, G, H, I, J, K, L, M, N, O, P, [C|Q], R, S, T, U, V, W, X, Y, Z)
1225 ; B1 is E\/2048,
1226 A1=v(B1, F, G, H, I, J, K, L, M, N, O, P, [C], R, S, T, U, V, W, X, Y, Z)
1227 ),
1228 put_attr(A, guard_entailment, A1)
1229 ; put_attr(A,
1230 guard_entailment,
1231 v(2048,
1232 [],
1233 [],
1234 [],
1235 [],
1236 [],
1237 [],
1238 [],
1239 [],
1240 [],
1241 [],
1242 [],
1243 [C],
1244 [],
1245 [],
1246 [],
1247 [],
1248 [],
1249 [],
1250 [],
1251 [],
1252 []))
1253 ),
1254 'attach_known/1_1_$special_number/1___1'(B, C).
1255'detach_known/1_1_$special_number/1___1'([], _).
1256'detach_known/1_1_$special_number/1___1'([A|B], C) :-
1257 ( get_attr(A, guard_entailment, D)
1258 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
1259 ( E/\2048=:=2048
1260 -> 'chr sbag_del_element'(Q, C, A1),
1261 ( A1==[]
1262 -> B1 is E/\ -2049,
1263 ( B1==0
1264 -> del_attr(A, guard_entailment)
1265 ; put_attr(A,
1266 guard_entailment,
1267 v(B1,
1268 F,
1269 G,
1270 H,
1271 I,
1272 J,
1273 K,
1274 L,
1275 M,
1276 N,
1277 O,
1278 P,
1279 [],
1280 R,
1281 S,
1282 T,
1283 U,
1284 V,
1285 W,
1286 X,
1287 Y,
1288 Z))
1289 )
1290 ; put_attr(A,
1291 guard_entailment,
1292 v(E,
1293 F,
1294 G,
1295 H,
1296 I,
1297 J,
1298 K,
1299 L,
1300 M,
1301 N,
1302 O,
1303 P,
1304 A1,
1305 R,
1306 S,
1307 T,
1308 U,
1309 V,
1310 W,
1311 X,
1312 Y,
1313 Z))
1314 )
1315 ; true
1316 )
1317 ; true
1318 ),
1319 'detach_known/1_1_$special_number/1___1'(B, C).
1320'attach_known/1_1_$special_=\\=/2___2'([], _).
1321'attach_known/1_1_$special_=\\=/2___2'([A|B], C) :-
1322 ( get_attr(A, guard_entailment, D)
1323 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
1324 ( E/\4096=:=4096
1325 -> A1=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, [C|R], S, T, U, V, W, X, Y, Z)
1326 ; B1 is E\/4096,
1327 A1=v(B1, F, G, H, I, J, K, L, M, N, O, P, Q, [C], S, T, U, V, W, X, Y, Z)
1328 ),
1329 put_attr(A, guard_entailment, A1)
1330 ; put_attr(A,
1331 guard_entailment,
1332 v(4096,
1333 [],
1334 [],
1335 [],
1336 [],
1337 [],
1338 [],
1339 [],
1340 [],
1341 [],
1342 [],
1343 [],
1344 [],
1345 [C],
1346 [],
1347 [],
1348 [],
1349 [],
1350 [],
1351 [],
1352 [],
1353 []))
1354 ),
1355 'attach_known/1_1_$special_=\\=/2___2'(B, C).
1356'detach_known/1_1_$special_=\\=/2___2'([], _).
1357'detach_known/1_1_$special_=\\=/2___2'([A|B], C) :-
1358 ( get_attr(A, guard_entailment, D)
1359 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
1360 ( E/\4096=:=4096
1361 -> 'chr sbag_del_element'(R, C, A1),
1362 ( A1==[]
1363 -> B1 is E/\ -4097,
1364 ( B1==0
1365 -> del_attr(A, guard_entailment)
1366 ; put_attr(A,
1367 guard_entailment,
1368 v(B1,
1369 F,
1370 G,
1371 H,
1372 I,
1373 J,
1374 K,
1375 L,
1376 M,
1377 N,
1378 O,
1379 P,
1380 Q,
1381 [],
1382 S,
1383 T,
1384 U,
1385 V,
1386 W,
1387 X,
1388 Y,
1389 Z))
1390 )
1391 ; put_attr(A,
1392 guard_entailment,
1393 v(E,
1394 F,
1395 G,
1396 H,
1397 I,
1398 J,
1399 K,
1400 L,
1401 M,
1402 N,
1403 O,
1404 P,
1405 Q,
1406 A1,
1407 S,
1408 T,
1409 U,
1410 V,
1411 W,
1412 X,
1413 Y,
1414 Z))
1415 )
1416 ; true
1417 )
1418 ; true
1419 ),
1420 'detach_known/1_1_$special_=\\=/2___2'(B, C).
1421'attach_known/1_1_$special_\\+/1___1'([], _).
1422'attach_known/1_1_$special_\\+/1___1'([A|B], C) :-
1423 ( get_attr(A, guard_entailment, D)
1424 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
1425 ( E/\8192=:=8192
1426 -> A1=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, [C|S], T, U, V, W, X, Y, Z)
1427 ; B1 is E\/8192,
1428 A1=v(B1, F, G, H, I, J, K, L, M, N, O, P, Q, R, [C], T, U, V, W, X, Y, Z)
1429 ),
1430 put_attr(A, guard_entailment, A1)
1431 ; put_attr(A,
1432 guard_entailment,
1433 v(8192,
1434 [],
1435 [],
1436 [],
1437 [],
1438 [],
1439 [],
1440 [],
1441 [],
1442 [],
1443 [],
1444 [],
1445 [],
1446 [],
1447 [C],
1448 [],
1449 [],
1450 [],
1451 [],
1452 [],
1453 [],
1454 []))
1455 ),
1456 'attach_known/1_1_$special_\\+/1___1'(B, C).
1457'detach_known/1_1_$special_\\+/1___1'([], _).
1458'detach_known/1_1_$special_\\+/1___1'([A|B], C) :-
1459 ( get_attr(A, guard_entailment, D)
1460 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
1461 ( E/\8192=:=8192
1462 -> 'chr sbag_del_element'(S, C, A1),
1463 ( A1==[]
1464 -> B1 is E/\ -8193,
1465 ( B1==0
1466 -> del_attr(A, guard_entailment)
1467 ; put_attr(A,
1468 guard_entailment,
1469 v(B1,
1470 F,
1471 G,
1472 H,
1473 I,
1474 J,
1475 K,
1476 L,
1477 M,
1478 N,
1479 O,
1480 P,
1481 Q,
1482 R,
1483 [],
1484 T,
1485 U,
1486 V,
1487 W,
1488 X,
1489 Y,
1490 Z))
1491 )
1492 ; put_attr(A,
1493 guard_entailment,
1494 v(E,
1495 F,
1496 G,
1497 H,
1498 I,
1499 J,
1500 K,
1501 L,
1502 M,
1503 N,
1504 O,
1505 P,
1506 Q,
1507 R,
1508 A1,
1509 T,
1510 U,
1511 V,
1512 W,
1513 X,
1514 Y,
1515 Z))
1516 )
1517 ; true
1518 )
1519 ; true
1520 ),
1521 'detach_known/1_1_$special_\\+/1___1'(B, C).
1522'attach_known/1_1_$special_functor/3___3'([], _).
1523'attach_known/1_1_$special_functor/3___3'([A|B], C) :-
1524 ( get_attr(A, guard_entailment, D)
1525 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
1526 ( E/\16384=:=16384
1527 -> A1=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, [C|T], U, V, W, X, Y, Z)
1528 ; B1 is E\/16384,
1529 A1=v(B1, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, [C], U, V, W, X, Y, Z)
1530 ),
1531 put_attr(A, guard_entailment, A1)
1532 ; put_attr(A,
1533 guard_entailment,
1534 v(16384,
1535 [],
1536 [],
1537 [],
1538 [],
1539 [],
1540 [],
1541 [],
1542 [],
1543 [],
1544 [],
1545 [],
1546 [],
1547 [],
1548 [],
1549 [C],
1550 [],
1551 [],
1552 [],
1553 [],
1554 [],
1555 []))
1556 ),
1557 'attach_known/1_1_$special_functor/3___3'(B, C).
1558'detach_known/1_1_$special_functor/3___3'([], _).
1559'detach_known/1_1_$special_functor/3___3'([A|B], C) :-
1560 ( get_attr(A, guard_entailment, D)
1561 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
1562 ( E/\16384=:=16384
1563 -> 'chr sbag_del_element'(T, C, A1),
1564 ( A1==[]
1565 -> B1 is E/\ -16385,
1566 ( B1==0
1567 -> del_attr(A, guard_entailment)
1568 ; put_attr(A,
1569 guard_entailment,
1570 v(B1,
1571 F,
1572 G,
1573 H,
1574 I,
1575 J,
1576 K,
1577 L,
1578 M,
1579 N,
1580 O,
1581 P,
1582 Q,
1583 R,
1584 S,
1585 [],
1586 U,
1587 V,
1588 W,
1589 X,
1590 Y,
1591 Z))
1592 )
1593 ; put_attr(A,
1594 guard_entailment,
1595 v(E,
1596 F,
1597 G,
1598 H,
1599 I,
1600 J,
1601 K,
1602 L,
1603 M,
1604 N,
1605 O,
1606 P,
1607 Q,
1608 R,
1609 S,
1610 A1,
1611 U,
1612 V,
1613 W,
1614 X,
1615 Y,
1616 Z))
1617 )
1618 ; true
1619 )
1620 ; true
1621 ),
1622 'detach_known/1_1_$special_functor/3___3'(B, C).
1623'attach_known/1_1_$special_\\=/2___2'([], _).
1624'attach_known/1_1_$special_\\=/2___2'([A|B], C) :-
1625 ( get_attr(A, guard_entailment, D)
1626 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
1627 ( E/\32768=:=32768
1628 -> A1=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, [C|U], V, W, X, Y, Z)
1629 ; B1 is E\/32768,
1630 A1=v(B1, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, [C], V, W, X, Y, Z)
1631 ),
1632 put_attr(A, guard_entailment, A1)
1633 ; put_attr(A,
1634 guard_entailment,
1635 v(32768,
1636 [],
1637 [],
1638 [],
1639 [],
1640 [],
1641 [],
1642 [],
1643 [],
1644 [],
1645 [],
1646 [],
1647 [],
1648 [],
1649 [],
1650 [],
1651 [C],
1652 [],
1653 [],
1654 [],
1655 [],
1656 []))
1657 ),
1658 'attach_known/1_1_$special_\\=/2___2'(B, C).
1659'detach_known/1_1_$special_\\=/2___2'([], _).
1660'detach_known/1_1_$special_\\=/2___2'([A|B], C) :-
1661 ( get_attr(A, guard_entailment, D)
1662 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
1663 ( E/\32768=:=32768
1664 -> 'chr sbag_del_element'(U, C, A1),
1665 ( A1==[]
1666 -> B1 is E/\ -32769,
1667 ( B1==0
1668 -> del_attr(A, guard_entailment)
1669 ; put_attr(A,
1670 guard_entailment,
1671 v(B1,
1672 F,
1673 G,
1674 H,
1675 I,
1676 J,
1677 K,
1678 L,
1679 M,
1680 N,
1681 O,
1682 P,
1683 Q,
1684 R,
1685 S,
1686 T,
1687 [],
1688 V,
1689 W,
1690 X,
1691 Y,
1692 Z))
1693 )
1694 ; put_attr(A,
1695 guard_entailment,
1696 v(E,
1697 F,
1698 G,
1699 H,
1700 I,
1701 J,
1702 K,
1703 L,
1704 M,
1705 N,
1706 O,
1707 P,
1708 Q,
1709 R,
1710 S,
1711 T,
1712 A1,
1713 V,
1714 W,
1715 X,
1716 Y,
1717 Z))
1718 )
1719 ; true
1720 )
1721 ; true
1722 ),
1723 'detach_known/1_1_$special_\\=/2___2'(B, C).
1724'attach_known/1_1_$special_=/2___2'([], _).
1725'attach_known/1_1_$special_=/2___2'([A|B], C) :-
1726 ( get_attr(A, guard_entailment, D)
1727 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
1728 ( E/\65536=:=65536
1729 -> A1=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, [C|V], W, X, Y, Z)
1730 ; B1 is E\/65536,
1731 A1=v(B1, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, [C], W, X, Y, Z)
1732 ),
1733 put_attr(A, guard_entailment, A1)
1734 ; put_attr(A,
1735 guard_entailment,
1736 v(65536,
1737 [],
1738 [],
1739 [],
1740 [],
1741 [],
1742 [],
1743 [],
1744 [],
1745 [],
1746 [],
1747 [],
1748 [],
1749 [],
1750 [],
1751 [],
1752 [],
1753 [C],
1754 [],
1755 [],
1756 [],
1757 []))
1758 ),
1759 'attach_known/1_1_$special_=/2___2'(B, C).
1760'detach_known/1_1_$special_=/2___2'([], _).
1761'detach_known/1_1_$special_=/2___2'([A|B], C) :-
1762 ( get_attr(A, guard_entailment, D)
1763 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
1764 ( E/\65536=:=65536
1765 -> 'chr sbag_del_element'(V, C, A1),
1766 ( A1==[]
1767 -> B1 is E/\ -65537,
1768 ( B1==0
1769 -> del_attr(A, guard_entailment)
1770 ; put_attr(A,
1771 guard_entailment,
1772 v(B1,
1773 F,
1774 G,
1775 H,
1776 I,
1777 J,
1778 K,
1779 L,
1780 M,
1781 N,
1782 O,
1783 P,
1784 Q,
1785 R,
1786 S,
1787 T,
1788 U,
1789 [],
1790 W,
1791 X,
1792 Y,
1793 Z))
1794 )
1795 ; put_attr(A,
1796 guard_entailment,
1797 v(E,
1798 F,
1799 G,
1800 H,
1801 I,
1802 J,
1803 K,
1804 L,
1805 M,
1806 N,
1807 O,
1808 P,
1809 Q,
1810 R,
1811 S,
1812 T,
1813 U,
1814 A1,
1815 W,
1816 X,
1817 Y,
1818 Z))
1819 )
1820 ; true
1821 )
1822 ; true
1823 ),
1824 'detach_known/1_1_$special_=/2___2'(B, C).
1825'attach_known/1_1_$special_\\==/2___2'([], _).
1826'attach_known/1_1_$special_\\==/2___2'([A|B], C) :-
1827 ( get_attr(A, guard_entailment, D)
1828 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
1829 ( E/\131072=:=131072
1830 -> A1=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, [C|W], X, Y, Z)
1831 ; B1 is E\/131072,
1832 A1=v(B1, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, [C], X, Y, Z)
1833 ),
1834 put_attr(A, guard_entailment, A1)
1835 ; put_attr(A,
1836 guard_entailment,
1837 v(131072,
1838 [],
1839 [],
1840 [],
1841 [],
1842 [],
1843 [],
1844 [],
1845 [],
1846 [],
1847 [],
1848 [],
1849 [],
1850 [],
1851 [],
1852 [],
1853 [],
1854 [],
1855 [C],
1856 [],
1857 [],
1858 []))
1859 ),
1860 'attach_known/1_1_$special_\\==/2___2'(B, C).
1861'detach_known/1_1_$special_\\==/2___2'([], _).
1862'detach_known/1_1_$special_\\==/2___2'([A|B], C) :-
1863 ( get_attr(A, guard_entailment, D)
1864 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
1865 ( E/\131072=:=131072
1866 -> 'chr sbag_del_element'(W, C, A1),
1867 ( A1==[]
1868 -> B1 is E/\ -131073,
1869 ( B1==0
1870 -> del_attr(A, guard_entailment)
1871 ; put_attr(A,
1872 guard_entailment,
1873 v(B1,
1874 F,
1875 G,
1876 H,
1877 I,
1878 J,
1879 K,
1880 L,
1881 M,
1882 N,
1883 O,
1884 P,
1885 Q,
1886 R,
1887 S,
1888 T,
1889 U,
1890 V,
1891 [],
1892 X,
1893 Y,
1894 Z))
1895 )
1896 ; put_attr(A,
1897 guard_entailment,
1898 v(E,
1899 F,
1900 G,
1901 H,
1902 I,
1903 J,
1904 K,
1905 L,
1906 M,
1907 N,
1908 O,
1909 P,
1910 Q,
1911 R,
1912 S,
1913 T,
1914 U,
1915 V,
1916 A1,
1917 X,
1918 Y,
1919 Z))
1920 )
1921 ; true
1922 )
1923 ; true
1924 ),
1925 'detach_known/1_1_$special_\\==/2___2'(B, C).
1926'attach_known/1_1_$special_==/2___2'([], _).
1927'attach_known/1_1_$special_==/2___2'([A|B], C) :-
1928 ( get_attr(A, guard_entailment, D)
1929 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
1930 ( E/\262144=:=262144
1931 -> A1=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, [C|X], Y, Z)
1932 ; B1 is E\/262144,
1933 A1=v(B1, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, [C], Y, Z)
1934 ),
1935 put_attr(A, guard_entailment, A1)
1936 ; put_attr(A,
1937 guard_entailment,
1938 v(262144,
1939 [],
1940 [],
1941 [],
1942 [],
1943 [],
1944 [],
1945 [],
1946 [],
1947 [],
1948 [],
1949 [],
1950 [],
1951 [],
1952 [],
1953 [],
1954 [],
1955 [],
1956 [],
1957 [C],
1958 [],
1959 []))
1960 ),
1961 'attach_known/1_1_$special_==/2___2'(B, C).
1962'detach_known/1_1_$special_==/2___2'([], _).
1963'detach_known/1_1_$special_==/2___2'([A|B], C) :-
1964 ( get_attr(A, guard_entailment, D)
1965 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
1966 ( E/\262144=:=262144
1967 -> 'chr sbag_del_element'(X, C, A1),
1968 ( A1==[]
1969 -> B1 is E/\ -262145,
1970 ( B1==0
1971 -> del_attr(A, guard_entailment)
1972 ; put_attr(A,
1973 guard_entailment,
1974 v(B1,
1975 F,
1976 G,
1977 H,
1978 I,
1979 J,
1980 K,
1981 L,
1982 M,
1983 N,
1984 O,
1985 P,
1986 Q,
1987 R,
1988 S,
1989 T,
1990 U,
1991 V,
1992 W,
1993 [],
1994 Y,
1995 Z))
1996 )
1997 ; put_attr(A,
1998 guard_entailment,
1999 v(E,
2000 F,
2001 G,
2002 H,
2003 I,
2004 J,
2005 K,
2006 L,
2007 M,
2008 N,
2009 O,
2010 P,
2011 Q,
2012 R,
2013 S,
2014 T,
2015 U,
2016 V,
2017 W,
2018 A1,
2019 Y,
2020 Z))
2021 )
2022 ; true
2023 )
2024 ; true
2025 ),
2026 'detach_known/1_1_$special_==/2___2'(B, C).
2027'attach_known/1_1_$special_=</2___2'([], _).
2028'attach_known/1_1_$special_=</2___2'([A|B], C) :-
2029 ( get_attr(A, guard_entailment, D)
2030 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
2031 ( E/\524288=:=524288
2032 -> A1=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, [C|Y], Z)
2033 ; B1 is E\/524288,
2034 A1=v(B1, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, [C], Z)
2035 ),
2036 put_attr(A, guard_entailment, A1)
2037 ; put_attr(A,
2038 guard_entailment,
2039 v(524288,
2040 [],
2041 [],
2042 [],
2043 [],
2044 [],
2045 [],
2046 [],
2047 [],
2048 [],
2049 [],
2050 [],
2051 [],
2052 [],
2053 [],
2054 [],
2055 [],
2056 [],
2057 [],
2058 [],
2059 [C],
2060 []))
2061 ),
2062 'attach_known/1_1_$special_=</2___2'(B, C).
2063'detach_known/1_1_$special_=</2___2'([], _).
2064'detach_known/1_1_$special_=</2___2'([A|B], C) :-
2065 ( get_attr(A, guard_entailment, D)
2066 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
2067 ( E/\524288=:=524288
2068 -> 'chr sbag_del_element'(Y, C, A1),
2069 ( A1==[]
2070 -> B1 is E/\ -524289,
2071 ( B1==0
2072 -> del_attr(A, guard_entailment)
2073 ; put_attr(A,
2074 guard_entailment,
2075 v(B1,
2076 F,
2077 G,
2078 H,
2079 I,
2080 J,
2081 K,
2082 L,
2083 M,
2084 N,
2085 O,
2086 P,
2087 Q,
2088 R,
2089 S,
2090 T,
2091 U,
2092 V,
2093 W,
2094 X,
2095 [],
2096 Z))
2097 )
2098 ; put_attr(A,
2099 guard_entailment,
2100 v(E,
2101 F,
2102 G,
2103 H,
2104 I,
2105 J,
2106 K,
2107 L,
2108 M,
2109 N,
2110 O,
2111 P,
2112 Q,
2113 R,
2114 S,
2115 T,
2116 U,
2117 V,
2118 W,
2119 X,
2120 A1,
2121 Z))
2122 )
2123 ; true
2124 )
2125 ; true
2126 ),
2127 'detach_known/1_1_$special_=</2___2'(B, C).
2128'attach_known/1_1_$special_=:=/2___2'([], _).
2129'attach_known/1_1_$special_=:=/2___2'([A|B], C) :-
2130 ( get_attr(A, guard_entailment, D)
2131 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
2132 ( E/\1048576=:=1048576
2133 -> A1=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, [C|Z])
2134 ; B1 is E\/1048576,
2135 A1=v(B1, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, [C])
2136 ),
2137 put_attr(A, guard_entailment, A1)
2138 ; put_attr(A,
2139 guard_entailment,
2140 v(1048576,
2141 [],
2142 [],
2143 [],
2144 [],
2145 [],
2146 [],
2147 [],
2148 [],
2149 [],
2150 [],
2151 [],
2152 [],
2153 [],
2154 [],
2155 [],
2156 [],
2157 [],
2158 [],
2159 [],
2160 [],
2161 [C]))
2162 ),
2163 'attach_known/1_1_$special_=:=/2___2'(B, C).
2164'detach_known/1_1_$special_=:=/2___2'([], _).
2165'detach_known/1_1_$special_=:=/2___2'([A|B], C) :-
2166 ( get_attr(A, guard_entailment, D)
2167 -> D=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
2168 ( E/\1048576=:=1048576
2169 -> 'chr sbag_del_element'(Z, C, A1),
2170 ( A1==[]
2171 -> B1 is E/\ -1048577,
2172 ( B1==0
2173 -> del_attr(A, guard_entailment)
2174 ; put_attr(A,
2175 guard_entailment,
2176 v(B1,
2177 F,
2178 G,
2179 H,
2180 I,
2181 J,
2182 K,
2183 L,
2184 M,
2185 N,
2186 O,
2187 P,
2188 Q,
2189 R,
2190 S,
2191 T,
2192 U,
2193 V,
2194 W,
2195 X,
2196 Y,
2197 []))
2198 )
2199 ; put_attr(A,
2200 guard_entailment,
2201 v(E,
2202 F,
2203 G,
2204 H,
2205 I,
2206 J,
2207 K,
2208 L,
2209 M,
2210 N,
2211 O,
2212 P,
2213 Q,
2214 R,
2215 S,
2216 T,
2217 U,
2218 V,
2219 W,
2220 X,
2221 Y,
2222 A1))
2223 )
2224 ; true
2225 )
2226 ; true
2227 ),
2228 'detach_known/1_1_$special_=:=/2___2'(B, C).
2229attach_increment([], _).
2230attach_increment([A|B], C) :-
2231 'chr not_locked'(A),
2232 ( get_attr(A, guard_entailment, D)
2233 -> C=v(E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z),
2234 D=v(A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, L1, M1, N1, O1, P1, Q1, R1, S1, T1, U1, V1),
2235 ( sort(B1, W1),
2236 'chr merge_attributes'(F, W1, X1),
2237 sort(C1, Y1),
2238 'chr merge_attributes'(G, Y1, Z1),
2239 sort(D1, A2),
2240 'chr merge_attributes'(H, A2, B2),
2241 sort(E1, C2),
2242 'chr merge_attributes'(I, C2, D2),
2243 sort(F1, E2),
2244 'chr merge_attributes'(J, E2, F2),
2245 sort(G1, G2),
2246 'chr merge_attributes'(K, G2, H2),
2247 sort(H1, I2),
2248 'chr merge_attributes'(L, I2, J2),
2249 sort(I1, K2),
2250 'chr merge_attributes'(M, K2, L2),
2251 sort(J1, M2),
2252 'chr merge_attributes'(N, M2, N2),
2253 sort(K1, O2),
2254 'chr merge_attributes'(O, O2, P2),
2255 sort(L1, Q2),
2256 'chr merge_attributes'(P, Q2, R2),
2257 sort(M1, S2),
2258 'chr merge_attributes'(Q, S2, T2),
2259 sort(N1, U2),
2260 'chr merge_attributes'(R, U2, V2),
2261 sort(O1, W2),
2262 'chr merge_attributes'(S, W2, X2),
2263 sort(P1, Y2),
2264 'chr merge_attributes'(T, Y2, Z2),
2265 sort(Q1, A3),
2266 'chr merge_attributes'(U, A3, B3),
2267 sort(R1, C3),
2268 'chr merge_attributes'(V, C3, D3),
2269 sort(S1, E3),
2270 'chr merge_attributes'(W, E3, F3),
2271 sort(T1, G3),
2272 'chr merge_attributes'(X, G3, H3),
2273 sort(U1, I3),
2274 'chr merge_attributes'(Y, I3, J3),
2275 sort(V1, K3),
2276 'chr merge_attributes'(Z, K3, L3)
2277 ),
2278 M3 is E\/A1,
2279 put_attr(A,
2280 guard_entailment,
2281 v(M3,
2282 X1,
2283 Z1,
2284 B2,
2285 D2,
2286 F2,
2287 H2,
2288 J2,
2289 L2,
2290 N2,
2291 P2,
2292 R2,
2293 T2,
2294 V2,
2295 X2,
2296 Z2,
2297 B3,
2298 D3,
2299 F3,
2300 H3,
2301 J3,
2302 L3))
2303 ; put_attr(A, guard_entailment, C)
2304 ),
2305 attach_increment(B, C).
2306attribute_goals(_, A, A).
2307attr_unify_hook(v(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V), W) :-
2308 sort(B, X),
2309 sort(C, Y),
2310 sort(D, Z),
2311 sort(E, A1),
2312 sort(F, B1),
2313 sort(G, C1),
2314 sort(H, D1),
2315 sort(I, E1),
2316 sort(J, F1),
2317 sort(K, G1),
2318 sort(L, H1),
2319 sort(M, I1),
2320 sort(N, J1),
2321 sort(O, K1),
2322 sort(P, L1),
2323 sort(Q, M1),
2324 sort(R, N1),
2325 sort(S, O1),
2326 sort(T, P1),
2327 sort(U, Q1),
2328 sort(V, R1),
2329 ( var(W)
2330 -> ( get_attr(W, guard_entailment, S1)
2331 -> S1=v(T1, U1, V1, W1, X1, Y1, Z1, A2, B2, C2, D2, E2, F2, G2, H2, I2, J2, K2, L2, M2, N2, O2),
2332 ( sort(U1, P2),
2333 'chr merge_attributes'(X, P2, Q2),
2334 sort(V1, R2),
2335 'chr merge_attributes'(Y, R2, S2),
2336 sort(W1, T2),
2337 'chr merge_attributes'(Z, T2, U2),
2338 sort(X1, V2),
2339 'chr merge_attributes'(A1, V2, W2),
2340 sort(Y1, X2),
2341 'chr merge_attributes'(B1, X2, Y2),
2342 sort(Z1, Z2),
2343 'chr merge_attributes'(C1, Z2, A3),
2344 sort(A2, B3),
2345 'chr merge_attributes'(D1, B3, C3),
2346 sort(B2, D3),
2347 'chr merge_attributes'(E1, D3, E3),
2348 sort(C2, F3),
2349 'chr merge_attributes'(F1, F3, G3),
2350 sort(D2, H3),
2351 'chr merge_attributes'(G1, H3, I3),
2352 sort(E2, J3),
2353 'chr merge_attributes'(H1, J3, K3),
2354 sort(F2, L3),
2355 'chr merge_attributes'(I1, L3, M3),
2356 sort(G2, N3),
2357 'chr merge_attributes'(J1, N3, O3),
2358 sort(H2, P3),
2359 'chr merge_attributes'(K1, P3, Q3),
2360 sort(I2, R3),
2361 'chr merge_attributes'(L1, R3, S3),
2362 sort(J2, T3),
2363 'chr merge_attributes'(M1, T3, U3),
2364 sort(K2, V3),
2365 'chr merge_attributes'(N1, V3, W3),
2366 sort(L2, X3),
2367 'chr merge_attributes'(O1, X3, Y3),
2368 sort(M2, Z3),
2369 'chr merge_attributes'(P1, Z3, A4),
2370 sort(N2, B4),
2371 'chr merge_attributes'(Q1, B4, C4),
2372 sort(O2, D4),
2373 'chr merge_attributes'(R1, D4, E4)
2374 ),
2375 F4 is A\/T1,
2376 put_attr(W,
2377 guard_entailment,
2378 v(F4,
2379 Q2,
2380 S2,
2381 U2,
2382 W2,
2383 Y2,
2384 A3,
2385 C3,
2386 E3,
2387 G3,
2388 I3,
2389 K3,
2390 M3,
2391 O3,
2392 Q3,
2393 S3,
2394 U3,
2395 W3,
2396 Y3,
2397 A4,
2398 C4,
2399 E4)),
2400 '$run_suspensions_variables___1'(X),
2401 '$run_suspensions_known/1_1_$default___1'(Y),
2402 '$run_suspensions_known/1_1_$special_;/2___2'(U2),
2403 '$run_suspensions_known/1_1_$special_nonvar/1___1'(A1),
2404 '$run_suspensions_known/1_1_$special_var/1___1'(B1),
2405 '$run_suspensions_known/1_1_$special_atom/1___1'(C1),
2406 '$run_suspensions_known/1_1_$special_atomic/1___1'(D1),
2407 '$run_suspensions_known/1_1_$special_compound/1___1'(E1),
2408 '$run_suspensions_known/1_1_$special_ground/1___1'(F1),
2409 '$run_suspensions_known/1_1_$special_integer/1___1'(I3),
2410 '$run_suspensions_known/1_1_$special_float/1___1'(K3),
2411 '$run_suspensions_known/1_1_$special_number/1___1'(M3),
2412 '$run_suspensions_known/1_1_$special_=\\=/2___2'(O3),
2413 '$run_suspensions_known/1_1_$special_\\+/1___1'(Q3),
2414 '$run_suspensions_known/1_1_$special_functor/3___3'(S3),
2415 '$run_suspensions_known/1_1_$special_\\=/2___2'(U3),
2416 '$run_suspensions_known/1_1_$special_=/2___2'(W3),
2417 '$run_suspensions_known/1_1_$special_\\==/2___2'(Y3),
2418 '$run_suspensions_known/1_1_$special_==/2___2'(A4),
2419 '$run_suspensions_known/1_1_$special_=</2___2'(C4),
2420 '$run_suspensions_known/1_1_$special_=:=/2___2'(E4)
2421 ; put_attr(W,
2422 guard_entailment,
2423 v(A,
2424 X,
2425 Y,
2426 Z,
2427 A1,
2428 B1,
2429 C1,
2430 D1,
2431 E1,
2432 F1,
2433 G1,
2434 H1,
2435 I1,
2436 J1,
2437 K1,
2438 L1,
2439 M1,
2440 N1,
2441 O1,
2442 P1,
2443 Q1,
2444 R1)),
2445 '$run_suspensions_variables___1'(X),
2446 '$run_suspensions_known/1_1_$default___1'(Y),
2447 '$run_suspensions_known/1_1_$special_;/2___2'(Z),
2448 '$run_suspensions_known/1_1_$special_nonvar/1___1'(A1),
2449 '$run_suspensions_known/1_1_$special_var/1___1'(B1),
2450 '$run_suspensions_known/1_1_$special_atom/1___1'(C1),
2451 '$run_suspensions_known/1_1_$special_atomic/1___1'(D1),
2452 '$run_suspensions_known/1_1_$special_compound/1___1'(E1),
2453 '$run_suspensions_known/1_1_$special_ground/1___1'(F1),
2454 '$run_suspensions_known/1_1_$special_integer/1___1'(G1),
2455 '$run_suspensions_known/1_1_$special_float/1___1'(H1),
2456 '$run_suspensions_known/1_1_$special_number/1___1'(I1),
2457 '$run_suspensions_known/1_1_$special_=\\=/2___2'(J1),
2458 '$run_suspensions_known/1_1_$special_\\+/1___1'(K1),
2459 '$run_suspensions_known/1_1_$special_functor/3___3'(L1),
2460 '$run_suspensions_known/1_1_$special_\\=/2___2'(M1),
2461 '$run_suspensions_known/1_1_$special_=/2___2'(N1),
2462 '$run_suspensions_known/1_1_$special_\\==/2___2'(O1),
2463 '$run_suspensions_known/1_1_$special_==/2___2'(P1),
2464 '$run_suspensions_known/1_1_$special_=</2___2'(Q1),
2465 '$run_suspensions_known/1_1_$special_=:=/2___2'(R1)
2466 )
2467 ; ( compound(W)
2468 -> term_variables(W, G4),
2469 attach_increment(G4,
2470 v(A,
2471 X,
2472 Y,
2473 Z,
2474 A1,
2475 B1,
2476 C1,
2477 D1,
2478 E1,
2479 F1,
2480 G1,
2481 H1,
2482 I1,
2483 J1,
2484 K1,
2485 L1,
2486 M1,
2487 N1,
2488 O1,
2489 P1,
2490 Q1,
2491 R1))
2492 ; true
2493 ),
2494 '$run_suspensions_variables___1'(X),
2495 '$run_suspensions_known/1_1_$default___1'(Y),
2496 '$run_suspensions_known/1_1_$special_;/2___2'(Z),
2497 '$run_suspensions_known/1_1_$special_nonvar/1___1'(A1),
2498 '$run_suspensions_known/1_1_$special_var/1___1'(B1),
2499 '$run_suspensions_known/1_1_$special_atom/1___1'(C1),
2500 '$run_suspensions_known/1_1_$special_atomic/1___1'(D1),
2501 '$run_suspensions_known/1_1_$special_compound/1___1'(E1),
2502 '$run_suspensions_known/1_1_$special_ground/1___1'(F1),
2503 '$run_suspensions_known/1_1_$special_integer/1___1'(G1),
2504 '$run_suspensions_known/1_1_$special_float/1___1'(H1),
2505 '$run_suspensions_known/1_1_$special_number/1___1'(I1),
2506 '$run_suspensions_known/1_1_$special_=\\=/2___2'(J1),
2507 '$run_suspensions_known/1_1_$special_\\+/1___1'(K1),
2508 '$run_suspensions_known/1_1_$special_functor/3___3'(L1),
2509 '$run_suspensions_known/1_1_$special_\\=/2___2'(M1),
2510 '$run_suspensions_known/1_1_$special_=/2___2'(N1),
2511 '$run_suspensions_known/1_1_$special_\\==/2___2'(O1),
2512 '$run_suspensions_known/1_1_$special_==/2___2'(P1),
2513 '$run_suspensions_known/1_1_$special_=</2___2'(Q1),
2514 '$run_suspensions_known/1_1_$special_=:=/2___2'(R1)
2515 ).
2516'$novel_production'(A, B) :-
2517 arg(3, A, C),
2518 ( hprolog:get_ds(B, C, _)
2519 -> fail
2520 ; true
2521 ).
2522'$extend_history'(A, B) :-
2523 arg(3, A, C),
2524 hprolog:put_ds(B, C, x, D),
2525 setarg(3, A, D).
2526'$run_suspensions_variables___1'([]).
2527'$run_suspensions_variables___1'([A|B]) :-
2528 A=suspension(_, C, _, D),
2529 ( C==active
2530 -> setarg(2, A, triggered),
2531 variables___1__0(D, A),
2532 ( C==triggered
2533 -> setarg(2, A, active)
2534 ; true
2535 )
2536 ; true
2537 ),
2538 '$run_suspensions_variables___1'(B).
2539'$run_suspensions_known/1_1_$default___1'([]).
2540'$run_suspensions_known/1_1_$default___1'([A|B]) :-
2541 A=suspension(_, C, D, _, E),
2542 ( C==active
2543 -> setarg(2, A, triggered),
2544 F is D+1,
2545 setarg(3, A, F),
2546 'known/1_1_$default___1__0'(E, A),
2547 ( C==triggered
2548 -> setarg(2, A, active)
2549 ; true
2550 )
2551 ; true
2552 ),
2553 '$run_suspensions_known/1_1_$default___1'(B).
2554'$run_suspensions_known/1_1_$special_;/2___2'([]).
2555'$run_suspensions_known/1_1_$special_;/2___2'([A|B]) :-
2556 A=suspension(_, C, D, _, E, F),
2557 ( C==active
2558 -> setarg(2, A, triggered),
2559 G is D+1,
2560 setarg(3, A, G),
2561 'known/1_1_$special_;/2___2__0'(E, F, A),
2562 ( C==triggered
2563 -> setarg(2, A, active)
2564 ; true
2565 )
2566 ; true
2567 ),
2568 '$run_suspensions_known/1_1_$special_;/2___2'(B).
2569'$run_suspensions_known/1_1_$special_nonvar/1___1'([]).
2570'$run_suspensions_known/1_1_$special_nonvar/1___1'([A|B]) :-
2571 A=suspension(_, C, D, _, E),
2572 ( C==active
2573 -> setarg(2, A, triggered),
2574 F is D+1,
2575 setarg(3, A, F),
2576 'known/1_1_$special_nonvar/1___1__0'(E, A),
2577 ( C==triggered
2578 -> setarg(2, A, active)
2579 ; true
2580 )
2581 ; true
2582 ),
2583 '$run_suspensions_known/1_1_$special_nonvar/1___1'(B).
2584'$run_suspensions_known/1_1_$special_var/1___1'([]).
2585'$run_suspensions_known/1_1_$special_var/1___1'([A|B]) :-
2586 A=suspension(_, C, D, _, E),
2587 ( C==active
2588 -> setarg(2, A, triggered),
2589 F is D+1,
2590 setarg(3, A, F),
2591 'known/1_1_$special_var/1___1__0'(E, A),
2592 ( C==triggered
2593 -> setarg(2, A, active)
2594 ; true
2595 )
2596 ; true
2597 ),
2598 '$run_suspensions_known/1_1_$special_var/1___1'(B).
2599'$run_suspensions_known/1_1_$special_atom/1___1'([]).
2600'$run_suspensions_known/1_1_$special_atom/1___1'([A|B]) :-
2601 A=suspension(_, C, _, D, _, E),
2602 ( C==active
2603 -> setarg(2, A, triggered),
2604 F is D+1,
2605 setarg(4, A, F),
2606 'known/1_1_$special_atom/1___1__0'(E, A),
2607 ( C==triggered
2608 -> setarg(2, A, active)
2609 ; true
2610 )
2611 ; true
2612 ),
2613 '$run_suspensions_known/1_1_$special_atom/1___1'(B).
2614'$run_suspensions_known/1_1_$special_atomic/1___1'([]).
2615'$run_suspensions_known/1_1_$special_atomic/1___1'([A|B]) :-
2616 A=suspension(_, C, _, D, _, E),
2617 ( C==active
2618 -> setarg(2, A, triggered),
2619 F is D+1,
2620 setarg(4, A, F),
2621 'known/1_1_$special_atomic/1___1__0'(E, A),
2622 ( C==triggered
2623 -> setarg(2, A, active)
2624 ; true
2625 )
2626 ; true
2627 ),
2628 '$run_suspensions_known/1_1_$special_atomic/1___1'(B).
2629'$run_suspensions_known/1_1_$special_compound/1___1'([]).
2630'$run_suspensions_known/1_1_$special_compound/1___1'([A|B]) :-
2631 A=suspension(_, C, _, D, _, E),
2632 ( C==active
2633 -> setarg(2, A, triggered),
2634 F is D+1,
2635 setarg(4, A, F),
2636 'known/1_1_$special_compound/1___1__0'(E, A),
2637 ( C==triggered
2638 -> setarg(2, A, active)
2639 ; true
2640 )
2641 ; true
2642 ),
2643 '$run_suspensions_known/1_1_$special_compound/1___1'(B).
2644'$run_suspensions_known/1_1_$special_ground/1___1'([]).
2645'$run_suspensions_known/1_1_$special_ground/1___1'([A|B]) :-
2646 A=suspension(_, C, _, D, _, E),
2647 ( C==active
2648 -> setarg(2, A, triggered),
2649 F is D+1,
2650 setarg(4, A, F),
2651 'known/1_1_$special_ground/1___1__0'(E, A),
2652 ( C==triggered
2653 -> setarg(2, A, active)
2654 ; true
2655 )
2656 ; true
2657 ),
2658 '$run_suspensions_known/1_1_$special_ground/1___1'(B).
2659'$run_suspensions_known/1_1_$special_integer/1___1'([]).
2660'$run_suspensions_known/1_1_$special_integer/1___1'([A|B]) :-
2661 A=suspension(_, C, _, D, _, E),
2662 ( C==active
2663 -> setarg(2, A, triggered),
2664 F is D+1,
2665 setarg(4, A, F),
2666 'known/1_1_$special_integer/1___1__0'(E, A),
2667 ( C==triggered
2668 -> setarg(2, A, active)
2669 ; true
2670 )
2671 ; true
2672 ),
2673 '$run_suspensions_known/1_1_$special_integer/1___1'(B).
2674'$run_suspensions_known/1_1_$special_float/1___1'([]).
2675'$run_suspensions_known/1_1_$special_float/1___1'([A|B]) :-
2676 A=suspension(_, C, _, D, _, E),
2677 ( C==active
2678 -> setarg(2, A, triggered),
2679 F is D+1,
2680 setarg(4, A, F),
2681 'known/1_1_$special_float/1___1__0'(E, A),
2682 ( C==triggered
2683 -> setarg(2, A, active)
2684 ; true
2685 )
2686 ; true
2687 ),
2688 '$run_suspensions_known/1_1_$special_float/1___1'(B).
2689'$run_suspensions_known/1_1_$special_number/1___1'([]).
2690'$run_suspensions_known/1_1_$special_number/1___1'([A|B]) :-
2691 A=suspension(_, C, _, D, _, E),
2692 ( C==active
2693 -> setarg(2, A, triggered),
2694 F is D+1,
2695 setarg(4, A, F),
2696 'known/1_1_$special_number/1___1__0'(E, A),
2697 ( C==triggered
2698 -> setarg(2, A, active)
2699 ; true
2700 )
2701 ; true
2702 ),
2703 '$run_suspensions_known/1_1_$special_number/1___1'(B).
2704'$run_suspensions_known/1_1_$special_=\\=/2___2'([]).
2705'$run_suspensions_known/1_1_$special_=\\=/2___2'([A|B]) :-
2706 A=suspension(_, C, _, D, _, E, F),
2707 ( C==active
2708 -> setarg(2, A, triggered),
2709 G is D+1,
2710 setarg(4, A, G),
2711 'known/1_1_$special_=\\=/2___2__0'(E, F, A),
2712 ( C==triggered
2713 -> setarg(2, A, active)
2714 ; true
2715 )
2716 ; true
2717 ),
2718 '$run_suspensions_known/1_1_$special_=\\=/2___2'(B).
2719'$run_suspensions_known/1_1_$special_\\+/1___1'([]).
2720'$run_suspensions_known/1_1_$special_\\+/1___1'([A|B]) :-
2721 A=suspension(_, C, D, _, E),
2722 ( C==active
2723 -> setarg(2, A, triggered),
2724 F is D+1,
2725 setarg(3, A, F),
2726 'known/1_1_$special_\\+/1___1__0'(E, A),
2727 ( C==triggered
2728 -> setarg(2, A, active)
2729 ; true
2730 )
2731 ; true
2732 ),
2733 '$run_suspensions_known/1_1_$special_\\+/1___1'(B).
2734'$run_suspensions_known/1_1_$special_functor/3___3'([]).
2735'$run_suspensions_known/1_1_$special_functor/3___3'([A|B]) :-
2736 A=suspension(_, C, D, _, E, F, G),
2737 ( C==active
2738 -> setarg(2, A, triggered),
2739 H is D+1,
2740 setarg(3, A, H),
2741 'known/1_1_$special_functor/3___3__0'(E, F, G, A),
2742 ( C==triggered
2743 -> setarg(2, A, active)
2744 ; true
2745 )
2746 ; true
2747 ),
2748 '$run_suspensions_known/1_1_$special_functor/3___3'(B).
2749'$run_suspensions_known/1_1_$special_\\=/2___2'([]).
2750'$run_suspensions_known/1_1_$special_\\=/2___2'([A|B]) :-
2751 A=suspension(_, C, _, D, _, E, F),
2752 ( C==active
2753 -> setarg(2, A, triggered),
2754 G is D+1,
2755 setarg(4, A, G),
2756 'known/1_1_$special_\\=/2___2__0'(E, F, A),
2757 ( C==triggered
2758 -> setarg(2, A, active)
2759 ; true
2760 )
2761 ; true
2762 ),
2763 '$run_suspensions_known/1_1_$special_\\=/2___2'(B).
2764'$run_suspensions_known/1_1_$special_=/2___2'([]).
2765'$run_suspensions_known/1_1_$special_=/2___2'([A|B]) :-
2766 A=suspension(_, C, D, _, E, F),
2767 ( C==active
2768 -> setarg(2, A, triggered),
2769 G is D+1,
2770 setarg(3, A, G),
2771 'known/1_1_$special_=/2___2__0'(E, F, A),
2772 ( C==triggered
2773 -> setarg(2, A, active)
2774 ; true
2775 )
2776 ; true
2777 ),
2778 '$run_suspensions_known/1_1_$special_=/2___2'(B).
2779'$run_suspensions_known/1_1_$special_\\==/2___2'([]).
2780'$run_suspensions_known/1_1_$special_\\==/2___2'([A|B]) :-
2781 A=suspension(_, C, _, D, _, E, F),
2782 ( C==active
2783 -> setarg(2, A, triggered),
2784 G is D+1,
2785 setarg(4, A, G),
2786 'known/1_1_$special_\\==/2___2__0'(E, F, A),
2787 ( C==triggered
2788 -> setarg(2, A, active)
2789 ; true
2790 )
2791 ; true
2792 ),
2793 '$run_suspensions_known/1_1_$special_\\==/2___2'(B).
2794'$run_suspensions_known/1_1_$special_==/2___2'([]).
2795'$run_suspensions_known/1_1_$special_==/2___2'([A|B]) :-
2796 A=suspension(_, C, _, D, _, E, F),
2797 ( C==active
2798 -> setarg(2, A, triggered),
2799 G is D+1,
2800 setarg(4, A, G),
2801 'known/1_1_$special_==/2___2__0'(E, F, A),
2802 ( C==triggered
2803 -> setarg(2, A, active)
2804 ; true
2805 )
2806 ; true
2807 ),
2808 '$run_suspensions_known/1_1_$special_==/2___2'(B).
2809'$run_suspensions_known/1_1_$special_=</2___2'([]).
2810'$run_suspensions_known/1_1_$special_=</2___2'([A|B]) :-
2811 A=suspension(_, C, _, D, _, E, F),
2812 ( C==active
2813 -> setarg(2, A, triggered),
2814 G is D+1,
2815 setarg(4, A, G),
2816 'known/1_1_$special_=</2___2__0'(E, F, A),
2817 ( C==triggered
2818 -> setarg(2, A, active)
2819 ; true
2820 )
2821 ; true
2822 ),
2823 '$run_suspensions_known/1_1_$special_=</2___2'(B).
2824'$run_suspensions_known/1_1_$special_=:=/2___2'([]).
2825'$run_suspensions_known/1_1_$special_=:=/2___2'([A|B]) :-
2826 A=suspension(_, C, _, D, _, E, F),
2827 ( C==active
2828 -> setarg(2, A, triggered),
2829 G is D+1,
2830 setarg(4, A, G),
2831 'known/1_1_$special_=:=/2___2__0'(E, F, A),
2832 ( C==triggered
2833 -> setarg(2, A, active)
2834 ; true
2835 )
2836 ; true
2837 ),
2838 '$run_suspensions_known/1_1_$special_=:=/2___2'(B).
2839'$enumerate_constraints'(A) :-
2840 ( nonvar(A)
2841 -> functor(A, B, _),
2842 '$enumerate_constraints'(B, A)
2843 ; '$enumerate_constraints'(_, A)
2844 ).
2845'$enumerate_constraints'(variables, A) :-
2846 nb_current('$chr_store_global_list_guard_entailment____variables___1',
2847 B),
2848 member(C, B),
2849 C=suspension(_, _, _, D),
2850 A=variables(D).
2851'$enumerate_constraints'('known/1_1_$default', A) :-
2852 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
2853 B),
2854 member(C, B),
2855 C=suspension(_, _, _, _, D),
2856 A='known/1_1_$default'(D).
2857'$enumerate_constraints'('known/1_1_$special_;/2', A) :-
2858 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
2859 B),
2860 member(C, B),
2861 C=suspension(_, _, _, _, D, E),
2862 A='known/1_1_$special_;/2'(D, E).
2863'$enumerate_constraints'('known/1_1_$special_nonvar/1', A) :-
2864 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
2865 B),
2866 member(C, B),
2867 C=suspension(_, _, _, _, D),
2868 A='known/1_1_$special_nonvar/1'(D).
2869'$enumerate_constraints'('known/1_1_$special_var/1', A) :-
2870 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
2871 B),
2872 member(C, B),
2873 C=suspension(_, _, _, _, D),
2874 A='known/1_1_$special_var/1'(D).
2875'$enumerate_constraints'('known/1_1_$special_atom/1', A) :-
2876 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
2877 B),
2878 member(C, B),
2879 C=suspension(_, _, _, _, _, D),
2880 A='known/1_1_$special_atom/1'(D).
2881'$enumerate_constraints'('known/1_1_$special_atomic/1', A) :-
2882 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
2883 B),
2884 member(C, B),
2885 C=suspension(_, _, _, _, _, D),
2886 A='known/1_1_$special_atomic/1'(D).
2887'$enumerate_constraints'('known/1_1_$special_compound/1', A) :-
2888 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
2889 B),
2890 member(C, B),
2891 C=suspension(_, _, _, _, _, D),
2892 A='known/1_1_$special_compound/1'(D).
2893'$enumerate_constraints'('known/1_1_$special_ground/1', A) :-
2894 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
2895 B),
2896 member(C, B),
2897 C=suspension(_, _, _, _, _, D),
2898 A='known/1_1_$special_ground/1'(D).
2899'$enumerate_constraints'('known/1_1_$special_integer/1', A) :-
2900 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
2901 B),
2902 member(C, B),
2903 C=suspension(_, _, _, _, _, D),
2904 A='known/1_1_$special_integer/1'(D).
2905'$enumerate_constraints'('known/1_1_$special_float/1', A) :-
2906 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
2907 B),
2908 member(C, B),
2909 C=suspension(_, _, _, _, _, D),
2910 A='known/1_1_$special_float/1'(D).
2911'$enumerate_constraints'('known/1_1_$special_number/1', A) :-
2912 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
2913 B),
2914 member(C, B),
2915 C=suspension(_, _, _, _, _, D),
2916 A='known/1_1_$special_number/1'(D).
2917'$enumerate_constraints'('known/1_1_$special_=\\=/2', A) :-
2918 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
2919 B),
2920 member(C, B),
2921 C=suspension(_, _, _, _, _, D, E),
2922 A='known/1_1_$special_=\\=/2'(D, E).
2923'$enumerate_constraints'('known/1_1_$special_\\+/1', A) :-
2924 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
2925 B),
2926 member(C, B),
2927 C=suspension(_, _, _, _, D),
2928 A='known/1_1_$special_\\+/1'(D).
2929'$enumerate_constraints'('known/1_1_$special_functor/3', A) :-
2930 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
2931 B),
2932 member(C, B),
2933 C=suspension(_, _, _, _, D, E, F),
2934 A='known/1_1_$special_functor/3'(D, E, F).
2935'$enumerate_constraints'('known/1_1_$special_\\=/2', A) :-
2936 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
2937 B),
2938 member(C, B),
2939 C=suspension(_, _, _, _, _, D, E),
2940 A='known/1_1_$special_\\=/2'(D, E).
2941'$enumerate_constraints'('known/1_1_$special_=/2', A) :-
2942 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
2943 B),
2944 member(C, B),
2945 C=suspension(_, _, _, _, D, E),
2946 A='known/1_1_$special_=/2'(D, E).
2947'$enumerate_constraints'('known/1_1_$special_\\==/2', A) :-
2948 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
2949 B),
2950 member(C, B),
2951 C=suspension(_, _, _, _, _, D, E),
2952 A='known/1_1_$special_\\==/2'(D, E).
2953'$enumerate_constraints'('known/1_1_$special_==/2', A) :-
2954 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
2955 B),
2956 member(C, B),
2957 C=suspension(_, _, _, _, _, D, E),
2958 A='known/1_1_$special_==/2'(D, E).
2959'$enumerate_constraints'('known/1_1_$special_=</2', A) :-
2960 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
2961 B),
2962 member(C, B),
2963 C=suspension(_, _, _, _, _, D, E),
2964 A='known/1_1_$special_=</2'(D, E).
2965'$enumerate_constraints'('known/1_1_$special_=:=/2', A) :-
2966 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
2967 B),
2968 member(C, B),
2969 C=suspension(_, _, _, _, _, D, E),
2970 A='known/1_1_$special_=:=/2'(D, E).
2971'$enumerate_constraints'('known/1_1_$special_fail/0', A) :-
2972 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
2973 B),
2974 member(C, B),
2975 C=suspension(_, _, _),
2976 A='known/1_1_$special_fail/0'.
2977'$chr_initialization' :-
2978 nb_setval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
2979 []),
2980 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
2981 []),
2982 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
2983 []),
2984 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
2985 []),
2986 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
2987 []),
2988 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
2989 []),
2990 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
2991 []),
2992 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
2993 []),
2994 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
2995 []),
2996 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
2997 []),
2998 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
2999 []),
3000 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
3001 []),
3002 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
3003 []),
3004 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
3005 []),
3006 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
3007 []),
3008 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
3009 []),
3010 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
3011 []),
3012 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
3013 []),
3014 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
3015 []),
3016 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
3017 []),
3018 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
3019 []),
3020 nb_setval('$chr_store_global_list_guard_entailment____variables___1', []).
3021:- (initialization'$chr_initialization'). 3022:- (dynamic user:exception/3). 3023:- (multifile user:exception/3). 3024user:exception(undefined_global_variable, A, retry) :-
3025 '$chr_prolog_global_variable'(A),
3026 '$chr_initialization'.
3027'$chr_prolog_global_variable'('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0').
3028'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2').
3029'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2').
3030'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2').
3031'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2').
3032'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2').
3033'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2').
3034'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3').
3035'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1').
3036'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2').
3037'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1').
3038'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1').
3039'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1').
3040'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1').
3041'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1').
3042'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1').
3043'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1').
3044'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1').
3045'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1').
3046'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2').
3047'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$default___1').
3048'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____variables___1').
3049known(A) :-
3050 nonvar(A),
3051 ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( A=(B;C),
3052 !,
3053 'known/1_1_$special_;/2'(B,
3054 C)
3055 ; A=nonvar(D),
3056 !,
3057 'known/1_1_$special_nonvar/1'(D)
3058 )
3059 ; A=var(E),
3060 !,
3061 'known/1_1_$special_var/1'(E)
3062 )
3063 ; A=atom(F),
3064 !,
3065 'known/1_1_$special_atom/1'(F)
3066 )
3067 ; A=atomic(G),
3068 !,
3069 'known/1_1_$special_atomic/1'(G)
3070 )
3071 ; A=compound(H),
3072 !,
3073 'known/1_1_$special_compound/1'(H)
3074 )
3075 ; A=ground(I),
3076 !,
3077 'known/1_1_$special_ground/1'(I)
3078 )
3079 ; A=integer(J),
3080 !,
3081 'known/1_1_$special_integer/1'(J)
3082 )
3083 ; A=float(K),
3084 !,
3085 'known/1_1_$special_float/1'(K)
3086 )
3087 ; A=number(L),
3088 !,
3089 'known/1_1_$special_number/1'(L)
3090 )
3091 ; A=(M=\=N),
3092 !,
3093 'known/1_1_$special_=\\=/2'(M,
3094 N)
3095 )
3096 ; A=(\+O),
3097 !,
3098 'known/1_1_$special_\\+/1'(O)
3099 )
3100 ; A=functor(P, Q, R),
3101 !,
3102 'known/1_1_$special_functor/3'(P,
3103 Q,
3104 R)
3105 )
3106 ; A=(S\=T),
3107 !,
3108 'known/1_1_$special_\\=/2'(S,
3109 T)
3110 )
3111 ; A=(U=V),
3112 !,
3113 'known/1_1_$special_=/2'(U,
3114 V)
3115 )
3116 ; A=(W, X),
3117 !,
3118 'known/1_1_$special_,/2'(W,
3119 X)
3120 )
3121 ; A=(Y\==Z),
3122 !,
3123 'known/1_1_$special_\\==/2'(Y,
3124 Z)
3125 )
3126 ; A=(A1==B1),
3127 !,
3128 'known/1_1_$special_==/2'(A1, B1)
3129 )
3130 ; A=(C1 is D1),
3131 !,
3132 'known/1_1_$special_is/2'(C1, D1)
3133 )
3134 ; A=(E1<F1),
3135 !,
3136 'known/1_1_$special_</2'(E1, F1)
3137 )
3138 ; A=(G1>=H1),
3139 !,
3140 'known/1_1_$special_>=/2'(G1, H1)
3141 )
3142 ; A=(I1>J1),
3143 !,
3144 'known/1_1_$special_>/2'(I1, J1)
3145 )
3146 ; A=(K1=<L1),
3147 !,
3148 'known/1_1_$special_=</2'(K1, L1)
3149 )
3150 ; A=(M1=:=N1),
3151 !,
3152 'known/1_1_$special_=:=/2'(M1, N1)
3153 ).
3154known(A) :-
3155 A==fail,
3156 !,
3157 'known/1_1_$special_fail/0'.
3158known(A) :-
3159 'known/1_1_$default'(A).
3160test(A) :-
3161 nonvar(A),
3162 ( ( ( ( ( ( ( A=(B, C),
3163 !,
3164 'test/1_1_$special_,/2'(B, C)
3165 ; A=(\+D),
3166 !,
3167 'test/1_1_$special_\\+/1'(D)
3168 )
3169 ; A=integer(E),
3170 !,
3171 'test/1_1_$special_integer/1'(E)
3172 )
3173 ; A=float(F),
3174 !,
3175 'test/1_1_$special_float/1'(F)
3176 )
3177 ; A=number(G),
3178 !,
3179 'test/1_1_$special_number/1'(G)
3180 )
3181 ; A=ground(H),
3182 !,
3183 'test/1_1_$special_ground/1'(H)
3184 )
3185 ; A=(I=:=J),
3186 !,
3187 'test/1_1_$special_=:=/2'(I, J)
3188 )
3189 ; A=(K==L),
3190 !,
3191 'test/1_1_$special_==/2'(K, L)
3192 ).
3193test(A) :-
3194 A==true,
3195 !,
3196 'test/1_1_$special_true/0'.
3197test(A) :-
3198 nonvar(A),
3199 ( ( ( ( ( ( ( ( ( A=functor(B, C, D),
3200 !,
3201 'test/1_1_$special_functor/3'(B,
3202 C,
3203 D)
3204 ; A=(E=F),
3205 !,
3206 'test/1_1_$special_=/2'(E, F)
3207 )
3208 ; A=(G;H),
3209 !,
3210 'test/1_1_$special_;/2'(G, H)
3211 )
3212 ; A=(I is J),
3213 !,
3214 'test/1_1_$special_is/2'(I, J)
3215 )
3216 ; A=(K<L),
3217 !,
3218 'test/1_1_$special_</2'(K, L)
3219 )
3220 ; A=(M>=N),
3221 !,
3222 'test/1_1_$special_>=/2'(M, N)
3223 )
3224 ; A=(O>P),
3225 !,
3226 'test/1_1_$special_>/2'(O, P)
3227 )
3228 ; A=(Q=\=R),
3229 !,
3230 'test/1_1_$special_=\\=/2'(Q, R)
3231 )
3232 ; A=(S=<T),
3233 !,
3234 'test/1_1_$special_=</2'(S, T)
3235 )
3236 ; A=(U\==V),
3237 !,
3238 'test/1_1_$special_\\==/2'(U, V)
3239 ).
3240test(A) :-
3241 'test/1_1_$default'(A).
3242cleanup :-
3243 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
3244 A),
3245 !,
3246 cleanup___0__0__0__1(A).
3247cleanup___0__0__0__1([]) :-
3248 cleanup___0__1.
3249cleanup___0__0__0__1([A|B]) :-
3250 ( A=suspension(_, active, _, _, _, _)
3251 -> A=suspension(_, _, _, _, C, D),
3252 setarg(2, A, removed),
3253 term_variables(term(C, D), E),
3254 ( arg(4, A, F),
3255 ( var(F)
3256 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
3257 G),
3258 G=[_|H],
3259 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
3260 H),
3261 ( H=[I|_]
3262 -> setarg(4, I, _)
3263 ; true
3264 )
3265 ; F=[_, _|H],
3266 setarg(2, F, H),
3267 ( H=[I|_]
3268 -> setarg(4, I, F)
3269 ; true
3270 )
3271 )
3272 ),
3273 'detach_known/1_1_$special_;/2___2'(E, A),
3274 cleanup___0__0__0__1(B)
3275 ; cleanup___0__0__0__1(B)
3276 ).
3277cleanup :-
3278 cleanup___0__1.
3279cleanup___0__1 :-
3280 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
3281 A),
3282 !,
3283 cleanup___0__1__0__2(A).
3284cleanup___0__1__0__2([]) :-
3285 cleanup___0__2.
3286cleanup___0__1__0__2([A|B]) :-
3287 ( A=suspension(_, active, _, _, _)
3288 -> A=suspension(_, _, _, _, C),
3289 setarg(2, A, removed),
3290 term_variables(C, D),
3291 ( arg(4, A, E),
3292 ( var(E)
3293 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
3294 F),
3295 F=[_|G],
3296 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
3297 G),
3298 ( G=[H|_]
3299 -> setarg(4, H, _)
3300 ; true
3301 )
3302 ; E=[_, _|G],
3303 setarg(2, E, G),
3304 ( G=[H|_]
3305 -> setarg(4, H, E)
3306 ; true
3307 )
3308 )
3309 ),
3310 'detach_known/1_1_$special_nonvar/1___1'(D, A),
3311 cleanup___0__1__0__2(B)
3312 ; cleanup___0__1__0__2(B)
3313 ).
3314cleanup___0__1 :-
3315 cleanup___0__2.
3316cleanup___0__2 :-
3317 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
3318 A),
3319 !,
3320 cleanup___0__2__0__3(A).
3321cleanup___0__2__0__3([]) :-
3322 cleanup___0__3.
3323cleanup___0__2__0__3([A|B]) :-
3324 ( A=suspension(_, active, _, _, _)
3325 -> A=suspension(_, _, _, _, C),
3326 setarg(2, A, removed),
3327 term_variables(C, D),
3328 ( arg(4, A, E),
3329 ( var(E)
3330 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
3331 F),
3332 F=[_|G],
3333 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
3334 G),
3335 ( G=[H|_]
3336 -> setarg(4, H, _)
3337 ; true
3338 )
3339 ; E=[_, _|G],
3340 setarg(2, E, G),
3341 ( G=[H|_]
3342 -> setarg(4, H, E)
3343 ; true
3344 )
3345 )
3346 ),
3347 'detach_known/1_1_$special_var/1___1'(D, A),
3348 cleanup___0__2__0__3(B)
3349 ; cleanup___0__2__0__3(B)
3350 ).
3351cleanup___0__2 :-
3352 cleanup___0__3.
3353cleanup___0__3 :-
3354 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
3355 A),
3356 !,
3357 cleanup___0__3__0__4(A).
3358cleanup___0__3__0__4([]) :-
3359 cleanup___0__4.
3360cleanup___0__3__0__4([A|B]) :-
3361 ( A=suspension(_, active, _, _, _, _)
3362 -> A=suspension(_, _, _, _, _, C),
3363 setarg(2, A, removed),
3364 term_variables(C, D),
3365 ( arg(5, A, E),
3366 ( var(E)
3367 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
3368 F),
3369 F=[_|G],
3370 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
3371 G),
3372 ( G=[H|_]
3373 -> setarg(5, H, _)
3374 ; true
3375 )
3376 ; E=[_, _|G],
3377 setarg(2, E, G),
3378 ( G=[H|_]
3379 -> setarg(5, H, E)
3380 ; true
3381 )
3382 )
3383 ),
3384 'detach_known/1_1_$special_atom/1___1'(D, A),
3385 cleanup___0__3__0__4(B)
3386 ; cleanup___0__3__0__4(B)
3387 ).
3388cleanup___0__3 :-
3389 cleanup___0__4.
3390cleanup___0__4 :-
3391 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
3392 A),
3393 !,
3394 cleanup___0__4__0__5(A).
3395cleanup___0__4__0__5([]) :-
3396 cleanup___0__5.
3397cleanup___0__4__0__5([A|B]) :-
3398 ( A=suspension(_, active, _, _, _, _)
3399 -> A=suspension(_, _, _, _, _, C),
3400 setarg(2, A, removed),
3401 term_variables(C, D),
3402 ( arg(5, A, E),
3403 ( var(E)
3404 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
3405 F),
3406 F=[_|G],
3407 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
3408 G),
3409 ( G=[H|_]
3410 -> setarg(5, H, _)
3411 ; true
3412 )
3413 ; E=[_, _|G],
3414 setarg(2, E, G),
3415 ( G=[H|_]
3416 -> setarg(5, H, E)
3417 ; true
3418 )
3419 )
3420 ),
3421 'detach_known/1_1_$special_atomic/1___1'(D, A),
3422 cleanup___0__4__0__5(B)
3423 ; cleanup___0__4__0__5(B)
3424 ).
3425cleanup___0__4 :-
3426 cleanup___0__5.
3427cleanup___0__5 :-
3428 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
3429 A),
3430 !,
3431 cleanup___0__5__0__6(A).
3432cleanup___0__5__0__6([]) :-
3433 cleanup___0__6.
3434cleanup___0__5__0__6([A|B]) :-
3435 ( A=suspension(_, active, _, _, _, _)
3436 -> A=suspension(_, _, _, _, _, C),
3437 setarg(2, A, removed),
3438 term_variables(C, D),
3439 ( arg(5, A, E),
3440 ( var(E)
3441 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
3442 F),
3443 F=[_|G],
3444 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
3445 G),
3446 ( G=[H|_]
3447 -> setarg(5, H, _)
3448 ; true
3449 )
3450 ; E=[_, _|G],
3451 setarg(2, E, G),
3452 ( G=[H|_]
3453 -> setarg(5, H, E)
3454 ; true
3455 )
3456 )
3457 ),
3458 'detach_known/1_1_$special_compound/1___1'(D, A),
3459 cleanup___0__5__0__6(B)
3460 ; cleanup___0__5__0__6(B)
3461 ).
3462cleanup___0__5 :-
3463 cleanup___0__6.
3464cleanup___0__6 :-
3465 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
3466 A),
3467 !,
3468 cleanup___0__6__0__7(A).
3469cleanup___0__6__0__7([]) :-
3470 cleanup___0__7.
3471cleanup___0__6__0__7([A|B]) :-
3472 ( A=suspension(_, active, _, _, _, _)
3473 -> A=suspension(_, _, _, _, _, C),
3474 setarg(2, A, removed),
3475 term_variables(C, D),
3476 ( arg(5, A, E),
3477 ( var(E)
3478 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
3479 F),
3480 F=[_|G],
3481 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
3482 G),
3483 ( G=[H|_]
3484 -> setarg(5, H, _)
3485 ; true
3486 )
3487 ; E=[_, _|G],
3488 setarg(2, E, G),
3489 ( G=[H|_]
3490 -> setarg(5, H, E)
3491 ; true
3492 )
3493 )
3494 ),
3495 'detach_known/1_1_$special_ground/1___1'(D, A),
3496 cleanup___0__6__0__7(B)
3497 ; cleanup___0__6__0__7(B)
3498 ).
3499cleanup___0__6 :-
3500 cleanup___0__7.
3501cleanup___0__7 :-
3502 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
3503 A),
3504 !,
3505 cleanup___0__7__0__8(A).
3506cleanup___0__7__0__8([]) :-
3507 cleanup___0__8.
3508cleanup___0__7__0__8([A|B]) :-
3509 ( A=suspension(_, active, _, _, _, _)
3510 -> A=suspension(_, _, _, _, _, C),
3511 setarg(2, A, removed),
3512 term_variables(C, D),
3513 ( arg(5, A, E),
3514 ( var(E)
3515 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
3516 F),
3517 F=[_|G],
3518 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
3519 G),
3520 ( G=[H|_]
3521 -> setarg(5, H, _)
3522 ; true
3523 )
3524 ; E=[_, _|G],
3525 setarg(2, E, G),
3526 ( G=[H|_]
3527 -> setarg(5, H, E)
3528 ; true
3529 )
3530 )
3531 ),
3532 'detach_known/1_1_$special_integer/1___1'(D, A),
3533 cleanup___0__7__0__8(B)
3534 ; cleanup___0__7__0__8(B)
3535 ).
3536cleanup___0__7 :-
3537 cleanup___0__8.
3538cleanup___0__8 :-
3539 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
3540 A),
3541 !,
3542 cleanup___0__8__0__9(A).
3543cleanup___0__8__0__9([]) :-
3544 cleanup___0__9.
3545cleanup___0__8__0__9([A|B]) :-
3546 ( A=suspension(_, active, _, _, _, _)
3547 -> A=suspension(_, _, _, _, _, C),
3548 setarg(2, A, removed),
3549 term_variables(C, D),
3550 ( arg(5, A, E),
3551 ( var(E)
3552 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
3553 F),
3554 F=[_|G],
3555 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
3556 G),
3557 ( G=[H|_]
3558 -> setarg(5, H, _)
3559 ; true
3560 )
3561 ; E=[_, _|G],
3562 setarg(2, E, G),
3563 ( G=[H|_]
3564 -> setarg(5, H, E)
3565 ; true
3566 )
3567 )
3568 ),
3569 'detach_known/1_1_$special_float/1___1'(D, A),
3570 cleanup___0__8__0__9(B)
3571 ; cleanup___0__8__0__9(B)
3572 ).
3573cleanup___0__8 :-
3574 cleanup___0__9.
3575cleanup___0__9 :-
3576 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
3577 A),
3578 !,
3579 cleanup___0__9__0__10(A).
3580cleanup___0__9__0__10([]) :-
3581 cleanup___0__10.
3582cleanup___0__9__0__10([A|B]) :-
3583 ( A=suspension(_, active, _, _, _, _)
3584 -> A=suspension(_, _, _, _, _, C),
3585 setarg(2, A, removed),
3586 term_variables(C, D),
3587 ( arg(5, A, E),
3588 ( var(E)
3589 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
3590 F),
3591 F=[_|G],
3592 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
3593 G),
3594 ( G=[H|_]
3595 -> setarg(5, H, _)
3596 ; true
3597 )
3598 ; E=[_, _|G],
3599 setarg(2, E, G),
3600 ( G=[H|_]
3601 -> setarg(5, H, E)
3602 ; true
3603 )
3604 )
3605 ),
3606 'detach_known/1_1_$special_number/1___1'(D, A),
3607 cleanup___0__9__0__10(B)
3608 ; cleanup___0__9__0__10(B)
3609 ).
3610cleanup___0__9 :-
3611 cleanup___0__10.
3612cleanup___0__10 :-
3613 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
3614 A),
3615 !,
3616 cleanup___0__10__0__11(A).
3617cleanup___0__10__0__11([]) :-
3618 cleanup___0__11.
3619cleanup___0__10__0__11([A|B]) :-
3620 ( A=suspension(_, active, _, _, _, _, _)
3621 -> A=suspension(_, _, _, _, _, C, D),
3622 setarg(2, A, removed),
3623 term_variables(term(C, D), E),
3624 ( arg(5, A, F),
3625 ( var(F)
3626 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
3627 G),
3628 G=[_|H],
3629 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
3630 H),
3631 ( H=[I|_]
3632 -> setarg(5, I, _)
3633 ; true
3634 )
3635 ; F=[_, _|H],
3636 setarg(2, F, H),
3637 ( H=[I|_]
3638 -> setarg(5, I, F)
3639 ; true
3640 )
3641 )
3642 ),
3643 'detach_known/1_1_$special_=\\=/2___2'(E, A),
3644 cleanup___0__10__0__11(B)
3645 ; cleanup___0__10__0__11(B)
3646 ).
3647cleanup___0__10 :-
3648 cleanup___0__11.
3649cleanup___0__11 :-
3650 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
3651 A),
3652 !,
3653 cleanup___0__11__0__12(A).
3654cleanup___0__11__0__12([]) :-
3655 cleanup___0__12.
3656cleanup___0__11__0__12([A|B]) :-
3657 ( A=suspension(_, active, _, _, _)
3658 -> A=suspension(_, _, _, _, C),
3659 setarg(2, A, removed),
3660 term_variables(C, D),
3661 ( arg(4, A, E),
3662 ( var(E)
3663 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
3664 F),
3665 F=[_|G],
3666 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
3667 G),
3668 ( G=[H|_]
3669 -> setarg(4, H, _)
3670 ; true
3671 )
3672 ; E=[_, _|G],
3673 setarg(2, E, G),
3674 ( G=[H|_]
3675 -> setarg(4, H, E)
3676 ; true
3677 )
3678 )
3679 ),
3680 'detach_known/1_1_$special_\\+/1___1'(D, A),
3681 cleanup___0__11__0__12(B)
3682 ; cleanup___0__11__0__12(B)
3683 ).
3684cleanup___0__11 :-
3685 cleanup___0__12.
3686cleanup___0__12 :-
3687 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
3688 A),
3689 !,
3690 cleanup___0__12__0__13(A).
3691cleanup___0__12__0__13([]) :-
3692 cleanup___0__13.
3693cleanup___0__12__0__13([A|B]) :-
3694 ( A=suspension(_, active, _, _, _, _, _)
3695 -> A=suspension(_, _, _, _, C, D, E),
3696 setarg(2, A, removed),
3697 term_variables(term(C, D, E), F),
3698 ( arg(4, A, G),
3699 ( var(G)
3700 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
3701 H),
3702 H=[_|I],
3703 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
3704 I),
3705 ( I=[J|_]
3706 -> setarg(4, J, _)
3707 ; true
3708 )
3709 ; G=[_, _|I],
3710 setarg(2, G, I),
3711 ( I=[J|_]
3712 -> setarg(4, J, G)
3713 ; true
3714 )
3715 )
3716 ),
3717 'detach_known/1_1_$special_functor/3___3'(F, A),
3718 cleanup___0__12__0__13(B)
3719 ; cleanup___0__12__0__13(B)
3720 ).
3721cleanup___0__12 :-
3722 cleanup___0__13.
3723cleanup___0__13 :-
3724 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
3725 A),
3726 !,
3727 cleanup___0__13__0__14(A).
3728cleanup___0__13__0__14([]) :-
3729 cleanup___0__14.
3730cleanup___0__13__0__14([A|B]) :-
3731 ( A=suspension(_, active, _, _, _, _, _)
3732 -> A=suspension(_, _, _, _, _, C, D),
3733 setarg(2, A, removed),
3734 term_variables(term(C, D), E),
3735 ( arg(5, A, F),
3736 ( var(F)
3737 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
3738 G),
3739 G=[_|H],
3740 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
3741 H),
3742 ( H=[I|_]
3743 -> setarg(5, I, _)
3744 ; true
3745 )
3746 ; F=[_, _|H],
3747 setarg(2, F, H),
3748 ( H=[I|_]
3749 -> setarg(5, I, F)
3750 ; true
3751 )
3752 )
3753 ),
3754 'detach_known/1_1_$special_\\=/2___2'(E, A),
3755 cleanup___0__13__0__14(B)
3756 ; cleanup___0__13__0__14(B)
3757 ).
3758cleanup___0__13 :-
3759 cleanup___0__14.
3760cleanup___0__14 :-
3761 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
3762 A),
3763 !,
3764 cleanup___0__14__0__15(A).
3765cleanup___0__14__0__15([]) :-
3766 cleanup___0__15.
3767cleanup___0__14__0__15([A|B]) :-
3768 ( A=suspension(_, active, _, _, _, _)
3769 -> A=suspension(_, _, _, _, C, D),
3770 setarg(2, A, removed),
3771 term_variables(term(C, D), E),
3772 ( arg(4, A, F),
3773 ( var(F)
3774 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
3775 G),
3776 G=[_|H],
3777 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
3778 H),
3779 ( H=[I|_]
3780 -> setarg(4, I, _)
3781 ; true
3782 )
3783 ; F=[_, _|H],
3784 setarg(2, F, H),
3785 ( H=[I|_]
3786 -> setarg(4, I, F)
3787 ; true
3788 )
3789 )
3790 ),
3791 'detach_known/1_1_$special_=/2___2'(E, A),
3792 cleanup___0__14__0__15(B)
3793 ; cleanup___0__14__0__15(B)
3794 ).
3795cleanup___0__14 :-
3796 cleanup___0__15.
3797cleanup___0__15 :-
3798 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
3799 A),
3800 !,
3801 cleanup___0__15__0__17(A).
3802cleanup___0__15__0__17([]) :-
3803 cleanup___0__16.
3804cleanup___0__15__0__17([A|B]) :-
3805 ( A=suspension(_, active, _, _, _, _, _)
3806 -> A=suspension(_, _, _, _, _, C, D),
3807 setarg(2, A, removed),
3808 term_variables(term(C, D), E),
3809 ( arg(5, A, F),
3810 ( var(F)
3811 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
3812 G),
3813 G=[_|H],
3814 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
3815 H),
3816 ( H=[I|_]
3817 -> setarg(5, I, _)
3818 ; true
3819 )
3820 ; F=[_, _|H],
3821 setarg(2, F, H),
3822 ( H=[I|_]
3823 -> setarg(5, I, F)
3824 ; true
3825 )
3826 )
3827 ),
3828 'detach_known/1_1_$special_\\==/2___2'(E, A),
3829 cleanup___0__15__0__17(B)
3830 ; cleanup___0__15__0__17(B)
3831 ).
3832cleanup___0__15 :-
3833 cleanup___0__16.
3834cleanup___0__16 :-
3835 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
3836 A),
3837 !,
3838 cleanup___0__16__0__18(A).
3839cleanup___0__16__0__18([]) :-
3840 cleanup___0__17.
3841cleanup___0__16__0__18([A|B]) :-
3842 ( A=suspension(_, active, _, _, _, _, _)
3843 -> A=suspension(_, _, _, _, _, C, D),
3844 setarg(2, A, removed),
3845 term_variables(term(C, D), E),
3846 ( arg(5, A, F),
3847 ( var(F)
3848 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
3849 G),
3850 G=[_|H],
3851 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
3852 H),
3853 ( H=[I|_]
3854 -> setarg(5, I, _)
3855 ; true
3856 )
3857 ; F=[_, _|H],
3858 setarg(2, F, H),
3859 ( H=[I|_]
3860 -> setarg(5, I, F)
3861 ; true
3862 )
3863 )
3864 ),
3865 'detach_known/1_1_$special_==/2___2'(E, A),
3866 cleanup___0__16__0__18(B)
3867 ; cleanup___0__16__0__18(B)
3868 ).
3869cleanup___0__16 :-
3870 cleanup___0__17.
3871cleanup___0__17 :-
3872 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
3873 A),
3874 !,
3875 cleanup___0__17__0__23(A).
3876cleanup___0__17__0__23([]) :-
3877 cleanup___0__18.
3878cleanup___0__17__0__23([A|B]) :-
3879 ( A=suspension(_, active, _, _, _, _, _)
3880 -> A=suspension(_, _, _, _, _, C, D),
3881 setarg(2, A, removed),
3882 term_variables(term(C, D), E),
3883 ( arg(5, A, F),
3884 ( var(F)
3885 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
3886 G),
3887 G=[_|H],
3888 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
3889 H),
3890 ( H=[I|_]
3891 -> setarg(5, I, _)
3892 ; true
3893 )
3894 ; F=[_, _|H],
3895 setarg(2, F, H),
3896 ( H=[I|_]
3897 -> setarg(5, I, F)
3898 ; true
3899 )
3900 )
3901 ),
3902 'detach_known/1_1_$special_=</2___2'(E, A),
3903 cleanup___0__17__0__23(B)
3904 ; cleanup___0__17__0__23(B)
3905 ).
3906cleanup___0__17 :-
3907 cleanup___0__18.
3908cleanup___0__18 :-
3909 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
3910 A),
3911 !,
3912 cleanup___0__18__0__24(A).
3913cleanup___0__18__0__24([]) :-
3914 cleanup___0__19.
3915cleanup___0__18__0__24([A|B]) :-
3916 ( A=suspension(_, active, _, _, _, _, _)
3917 -> A=suspension(_, _, _, _, _, C, D),
3918 setarg(2, A, removed),
3919 term_variables(term(C, D), E),
3920 ( arg(5, A, F),
3921 ( var(F)
3922 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
3923 G),
3924 G=[_|H],
3925 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
3926 H),
3927 ( H=[I|_]
3928 -> setarg(5, I, _)
3929 ; true
3930 )
3931 ; F=[_, _|H],
3932 setarg(2, F, H),
3933 ( H=[I|_]
3934 -> setarg(5, I, F)
3935 ; true
3936 )
3937 )
3938 ),
3939 'detach_known/1_1_$special_=:=/2___2'(E, A),
3940 cleanup___0__18__0__24(B)
3941 ; cleanup___0__18__0__24(B)
3942 ).
3943cleanup___0__18 :-
3944 cleanup___0__19.
3945cleanup___0__19 :-
3946 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
3947 A),
3948 !,
3949 cleanup___0__19__0__25(A).
3950cleanup___0__19__0__25([]) :-
3951 cleanup___0__20.
3952cleanup___0__19__0__25([A|B]) :-
3953 ( A=suspension(_, active, _)
3954 -> setarg(2, A, removed),
3955 arg(3, A, C),
3956 ( var(C)
3957 -> nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
3958 D),
3959 D=[_|E],
3960 b_setval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
3961 E),
3962 ( E=[F|_]
3963 -> setarg(3, F, _)
3964 ; true
3965 )
3966 ; C=[_, _|E],
3967 setarg(2, C, E),
3968 ( E=[F|_]
3969 -> setarg(3, F, C)
3970 ; true
3971 )
3972 ),
3973 cleanup___0__19__0__25(B)
3974 ; cleanup___0__19__0__25(B)
3975 ).
3976cleanup___0__19 :-
3977 cleanup___0__20.
3978cleanup___0__20 :-
3979 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
3980 A),
3981 !,
3982 cleanup___0__20__0__26(A).
3983cleanup___0__20__0__26([]) :-
3984 cleanup___0__21.
3985cleanup___0__20__0__26([A|B]) :-
3986 ( A=suspension(_, active, _, _, _)
3987 -> A=suspension(_, _, _, _, C),
3988 setarg(2, A, removed),
3989 term_variables(C, D),
3990 ( arg(4, A, E),
3991 ( var(E)
3992 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
3993 F),
3994 F=[_|G],
3995 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
3996 G),
3997 ( G=[H|_]
3998 -> setarg(4, H, _)
3999 ; true
4000 )
4001 ; E=[_, _|G],
4002 setarg(2, E, G),
4003 ( G=[H|_]
4004 -> setarg(4, H, E)
4005 ; true
4006 )
4007 )
4008 ),
4009 'detach_known/1_1_$default___1'(D, A),
4010 cleanup___0__20__0__26(B)
4011 ; cleanup___0__20__0__26(B)
4012 ).
4013cleanup___0__20 :-
4014 cleanup___0__21.
4015cleanup___0__21 :-
4016 nb_getval('$chr_store_global_list_guard_entailment____variables___1',
4017 A),
4018 !,
4019 cleanup___0__21__0__27(A).
4020cleanup___0__21__0__27([]) :-
4021 cleanup___0__22.
4022cleanup___0__21__0__27([A|B]) :-
4023 ( A=suspension(_, active, _, _)
4024 -> A=suspension(_, _, _, C),
4025 setarg(2, A, removed),
4026 term_variables(C, D),
4027 ( arg(3, A, E),
4028 ( var(E)
4029 -> nb_getval('$chr_store_global_list_guard_entailment____variables___1',
4030 F),
4031 F=[_|G],
4032 b_setval('$chr_store_global_list_guard_entailment____variables___1',
4033 G),
4034 ( G=[H|_]
4035 -> setarg(3, H, _)
4036 ; true
4037 )
4038 ; E=[_, _|G],
4039 setarg(2, E, G),
4040 ( G=[H|_]
4041 -> setarg(3, H, E)
4042 ; true
4043 )
4044 )
4045 ),
4046 detach_variables___1(D, A),
4047 cleanup___0__21__0__27(B)
4048 ; cleanup___0__21__0__27(B)
4049 ).
4050cleanup___0__21 :-
4051 cleanup___0__22.
4052cleanup___0__22.
4053variables(A) :-
4054 variables___1__0(A, _).
4055variables___1__0(A, B) :-
4056 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
4057 C),
4058 member(D, C),
4059 D=suspension(_, active, _, _, E, F, G),
4060 ground(G),
4061 ground(F),
4062 var(E),
4063 !,
4064 D=suspension(_, _, _, _, H, I, J),
4065 setarg(2, D, removed),
4066 term_variables(term(H, I, J), K),
4067 arg(4, D, L),
4068 ( var(L)
4069 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
4070 M),
4071 M=[_|N],
4072 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
4073 N),
4074 ( N=[O|_]
4075 -> setarg(4, O, _)
4076 ; true
4077 )
4078 ; L=[_, _|N],
4079 setarg(2, L, N),
4080 ( N=[O|_]
4081 -> setarg(4, O, L)
4082 ; true
4083 )
4084 ),
4085 'detach_known/1_1_$special_functor/3___3'(K, D),
4086 ( var(B)
4087 -> true
4088 ; B=suspension(_, _, _, P),
4089 setarg(2, B, removed),
4090 term_variables(P, Q),
4091 arg(3, B, R),
4092 ( var(R)
4093 -> nb_getval('$chr_store_global_list_guard_entailment____variables___1',
4094 S),
4095 S=[_|T],
4096 b_setval('$chr_store_global_list_guard_entailment____variables___1',
4097 T),
4098 ( T=[U|_]
4099 -> setarg(3, U, _)
4100 ; true
4101 )
4102 ; R=[_, _|T],
4103 setarg(2, R, T),
4104 ( T=[U|_]
4105 -> setarg(3, U, R)
4106 ; true
4107 )
4108 ),
4109 detach_variables___1(Q, B)
4110 ),
4111 functor(E, F, G),
4112 E=..[_|V],
4113 append(V, A, W),
4114 variables(W).
4115variables___1__0(A, B) :-
4116 ( var(B)
4117 -> B=suspension(C, active, _, A),
4118 term_variables(A, D),
4119 'chr none_locked'(D),
4120 'chr gen_id'(C),
4121 nb_getval('$chr_store_global_list_guard_entailment____variables___1',
4122 E),
4123 F=[B|E],
4124 b_setval('$chr_store_global_list_guard_entailment____variables___1',
4125 F),
4126 ( E=[G|_]
4127 -> setarg(3, G, F)
4128 ; true
4129 ),
4130 attach_variables___1(D, B)
4131 ; setarg(2, B, active)
4132 ).
4133'test/1_1_$default'(_) :-
4134 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4135 A),
4136 member(B, A),
4137 B=suspension(_, active, _),
4138 !.
4139'test/1_1_$default'(A) :-
4140 nonvar(A),
4141 ( ( ( ( ( A=nonvar(B),
4142 ( 'chr newvia_1'(B, C)
4143 -> get_attr(C, guard_entailment, D),
4144 D=v(_, _, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
4145 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
4146 E)
4147 ),
4148 member(F, E),
4149 F=suspension(_, active, _, _, G),
4150 G==B,
4151 !
4152 ; A=var(H),
4153 ( 'chr newvia_1'(H, I)
4154 -> get_attr(I, guard_entailment, J),
4155 J=v(_, _, _, _, _, K, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
4156 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
4157 K)
4158 ),
4159 member(L, K),
4160 L=suspension(_, active, _, _, M),
4161 M==H,
4162 !
4163 )
4164 ; A=atom(N),
4165 ( 'chr newvia_1'(N, O)
4166 -> get_attr(O, guard_entailment, P),
4167 P=v(_, _, _, _, _, _, Q, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
4168 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
4169 Q)
4170 ),
4171 member(R, Q),
4172 R=suspension(_, active, _, _, _, S),
4173 S==N,
4174 !
4175 )
4176 ; A=atomic(T),
4177 ( 'chr newvia_1'(T, U)
4178 -> get_attr(U, guard_entailment, V),
4179 V=v(_, _, _, _, _, _, _, W, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
4180 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
4181 W)
4182 ),
4183 member(X, W),
4184 X=suspension(_, active, _, _, _, Y),
4185 Y==T,
4186 !
4187 )
4188 ; A=compound(Z),
4189 ( 'chr newvia_1'(Z, A1)
4190 -> get_attr(A1, guard_entailment, B1),
4191 B1=v(_, _, _, _, _, _, _, _, C1, _, _, _, _, _, _, _, _, _, _, _, _, _)
4192 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
4193 C1)
4194 ),
4195 member(D1, C1),
4196 D1=suspension(_, active, _, _, _, E1),
4197 E1==Z,
4198 !
4199 )
4200 ; A=(F1\=G1),
4201 ( 'chr newvia_2'(F1, G1, H1)
4202 -> get_attr(H1, guard_entailment, I1),
4203 I1=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, J1, _, _, _, _, _)
4204 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
4205 J1)
4206 ),
4207 member(K1, J1),
4208 K1=suspension(_, active, _, _, _, L1, M1),
4209 L1==F1,
4210 M1==G1,
4211 !
4212 ).
4213'test/1_1_$default'(A) :-
4214 ( 'chr newvia_1'(A, B)
4215 -> get_attr(B, guard_entailment, C),
4216 C=v(_, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
4217 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
4218 D)
4219 ),
4220 member(E, D),
4221 E=suspension(_, active, _, _, F),
4222 F==A,
4223 !.
4224'test/1_1_$default'(A) :-
4225 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4226 B),
4227 member(C, B),
4228 C=suspension(_, active, _, _, D, E),
4229 !,
4230 C=suspension(_, _, _, _, F, G),
4231 setarg(2, C, removed),
4232 term_variables(term(F, G), H),
4233 arg(4, C, I),
4234 ( var(I)
4235 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4236 J),
4237 J=[_|K],
4238 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4239 K),
4240 ( K=[L|_]
4241 -> setarg(4, L, _)
4242 ; true
4243 )
4244 ; I=[_, _|K],
4245 setarg(2, I, K),
4246 ( K=[L|_]
4247 -> setarg(4, L, I)
4248 ; true
4249 )
4250 ),
4251 'detach_known/1_1_$special_;/2___2'(H, C),
4252 \+ try(D, A),
4253 !,
4254 negate_b(D, M),
4255 known(M),
4256 \+ try(E, A).
4257'test/1_1_$default'(_) :-
4258 fail.
4259'test/1_1_$special_,/2'(_, _) :-
4260 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4261 A),
4262 member(B, A),
4263 B=suspension(_, active, _),
4264 !.
4265'test/1_1_$special_,/2'(A, B) :-
4266 test(A),
4267 known(A),
4268 test(B).
4269'test/1_1_$special_\\+/1'(_) :-
4270 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4271 A),
4272 member(B, A),
4273 B=suspension(_, active, _),
4274 !.
4275'test/1_1_$special_\\+/1'(A) :-
4276 ( 'chr newvia_1'(A, B)
4277 -> get_attr(B, guard_entailment, C),
4278 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
4279 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
4280 D)
4281 ),
4282 member(E, D),
4283 E=suspension(_, active, _, _, F),
4284 F==A,
4285 !.
4286'test/1_1_$special_\\+/1'(A) :-
4287 nonvar(A),
4288 ( ( ( ( ( ( ( A=functor(B, C, D),
4289 nonvar(B),
4290 ( 'chr lock'(B),
4291 'chr lock'(C),
4292 'chr lock'(D),
4293 functor(B, C, D),
4294 'chr unlock'(B),
4295 'chr unlock'(C),
4296 'chr unlock'(D),
4297 !,
4298 fail
4299 ; !
4300 )
4301 ; A=ground(E),
4302 ground(E),
4303 !,
4304 fail
4305 )
4306 ; A=number(F),
4307 number(F),
4308 !,
4309 fail
4310 )
4311 ; A=float(G),
4312 float(G),
4313 !,
4314 fail
4315 )
4316 ; A=integer(H),
4317 integer(H),
4318 !,
4319 fail
4320 )
4321 ; A=number(I),
4322 nonvar(I),
4323 !
4324 )
4325 ; A=float(J),
4326 nonvar(J),
4327 !
4328 )
4329 ; A=integer(K),
4330 nonvar(K),
4331 !
4332 ).
4333'test/1_1_$special_\\+/1'(A) :-
4334 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4335 B),
4336 member(C, B),
4337 C=suspension(_, active, _, _, D, E),
4338 !,
4339 C=suspension(_, _, _, _, F, G),
4340 setarg(2, C, removed),
4341 term_variables(term(F, G), H),
4342 arg(4, C, I),
4343 ( var(I)
4344 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4345 J),
4346 J=[_|K],
4347 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4348 K),
4349 ( K=[L|_]
4350 -> setarg(4, L, _)
4351 ; true
4352 )
4353 ; I=[_, _|K],
4354 setarg(2, I, K),
4355 ( K=[L|_]
4356 -> setarg(4, L, I)
4357 ; true
4358 )
4359 ),
4360 'detach_known/1_1_$special_;/2___2'(H, C),
4361 \+ try(D, \+A),
4362 !,
4363 negate_b(D, M),
4364 known(M),
4365 \+ try(E, \+A).
4366'test/1_1_$special_\\+/1'(_) :-
4367 fail.
4368'test/1_1_$special_integer/1'(_) :-
4369 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4370 A),
4371 member(B, A),
4372 B=suspension(_, active, _),
4373 !.
4374'test/1_1_$special_integer/1'(A) :-
4375 ( 'chr newvia_1'(A, B)
4376 -> get_attr(B, guard_entailment, C),
4377 C=v(_, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _)
4378 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
4379 D)
4380 ),
4381 member(E, D),
4382 E=suspension(_, active, _, _, _, F),
4383 F==A,
4384 !.
4385'test/1_1_$special_integer/1'(A) :-
4386 integer(A),
4387 !.
4388'test/1_1_$special_integer/1'(A) :-
4389 nonvar(A),
4390 !,
4391 fail.
4392'test/1_1_$special_integer/1'(A) :-
4393 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4394 B),
4395 member(C, B),
4396 C=suspension(_, active, _, _, D, E),
4397 !,
4398 C=suspension(_, _, _, _, F, G),
4399 setarg(2, C, removed),
4400 term_variables(term(F, G), H),
4401 arg(4, C, I),
4402 ( var(I)
4403 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4404 J),
4405 J=[_|K],
4406 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4407 K),
4408 ( K=[L|_]
4409 -> setarg(4, L, _)
4410 ; true
4411 )
4412 ; I=[_, _|K],
4413 setarg(2, I, K),
4414 ( K=[L|_]
4415 -> setarg(4, L, I)
4416 ; true
4417 )
4418 ),
4419 'detach_known/1_1_$special_;/2___2'(H, C),
4420 \+ try(D, integer(A)),
4421 !,
4422 negate_b(D, M),
4423 known(M),
4424 \+ try(E, integer(A)).
4425'test/1_1_$special_integer/1'(_) :-
4426 fail.
4427'test/1_1_$special_float/1'(_) :-
4428 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4429 A),
4430 member(B, A),
4431 B=suspension(_, active, _),
4432 !.
4433'test/1_1_$special_float/1'(A) :-
4434 ( 'chr newvia_1'(A, B)
4435 -> get_attr(B, guard_entailment, C),
4436 C=v(_, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _)
4437 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
4438 D)
4439 ),
4440 member(E, D),
4441 E=suspension(_, active, _, _, _, F),
4442 F==A,
4443 !.
4444'test/1_1_$special_float/1'(A) :-
4445 float(A),
4446 !.
4447'test/1_1_$special_float/1'(A) :-
4448 nonvar(A),
4449 !,
4450 fail.
4451'test/1_1_$special_float/1'(A) :-
4452 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4453 B),
4454 member(C, B),
4455 C=suspension(_, active, _, _, D, E),
4456 !,
4457 C=suspension(_, _, _, _, F, G),
4458 setarg(2, C, removed),
4459 term_variables(term(F, G), H),
4460 arg(4, C, I),
4461 ( var(I)
4462 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4463 J),
4464 J=[_|K],
4465 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4466 K),
4467 ( K=[L|_]
4468 -> setarg(4, L, _)
4469 ; true
4470 )
4471 ; I=[_, _|K],
4472 setarg(2, I, K),
4473 ( K=[L|_]
4474 -> setarg(4, L, I)
4475 ; true
4476 )
4477 ),
4478 'detach_known/1_1_$special_;/2___2'(H, C),
4479 \+ try(D, float(A)),
4480 !,
4481 negate_b(D, M),
4482 known(M),
4483 \+ try(E, float(A)).
4484'test/1_1_$special_float/1'(_) :-
4485 fail.
4486'test/1_1_$special_number/1'(_) :-
4487 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4488 A),
4489 member(B, A),
4490 B=suspension(_, active, _),
4491 !.
4492'test/1_1_$special_number/1'(A) :-
4493 ( 'chr newvia_1'(A, B)
4494 -> get_attr(B, guard_entailment, C),
4495 C=v(_, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _)
4496 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
4497 D)
4498 ),
4499 member(E, D),
4500 E=suspension(_, active, _, _, _, F),
4501 F==A,
4502 !.
4503'test/1_1_$special_number/1'(A) :-
4504 number(A),
4505 !.
4506'test/1_1_$special_number/1'(A) :-
4507 nonvar(A),
4508 !,
4509 fail.
4510'test/1_1_$special_number/1'(A) :-
4511 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4512 B),
4513 member(C, B),
4514 C=suspension(_, active, _, _, D, E),
4515 !,
4516 C=suspension(_, _, _, _, F, G),
4517 setarg(2, C, removed),
4518 term_variables(term(F, G), H),
4519 arg(4, C, I),
4520 ( var(I)
4521 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4522 J),
4523 J=[_|K],
4524 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4525 K),
4526 ( K=[L|_]
4527 -> setarg(4, L, _)
4528 ; true
4529 )
4530 ; I=[_, _|K],
4531 setarg(2, I, K),
4532 ( K=[L|_]
4533 -> setarg(4, L, I)
4534 ; true
4535 )
4536 ),
4537 'detach_known/1_1_$special_;/2___2'(H, C),
4538 \+ try(D, number(A)),
4539 !,
4540 negate_b(D, M),
4541 known(M),
4542 \+ try(E, number(A)).
4543'test/1_1_$special_number/1'(_) :-
4544 fail.
4545'test/1_1_$special_ground/1'(_) :-
4546 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4547 A),
4548 member(B, A),
4549 B=suspension(_, active, _),
4550 !.
4551'test/1_1_$special_ground/1'(A) :-
4552 ( 'chr newvia_1'(A, B)
4553 -> get_attr(B, guard_entailment, C),
4554 C=v(_, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _)
4555 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
4556 D)
4557 ),
4558 member(E, D),
4559 E=suspension(_, active, _, _, _, F),
4560 F==A,
4561 !.
4562'test/1_1_$special_ground/1'(A) :-
4563 ground(A),
4564 !.
4565'test/1_1_$special_ground/1'(A) :-
4566 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4567 B),
4568 member(C, B),
4569 C=suspension(_, active, _, _, D, E),
4570 !,
4571 C=suspension(_, _, _, _, F, G),
4572 setarg(2, C, removed),
4573 term_variables(term(F, G), H),
4574 arg(4, C, I),
4575 ( var(I)
4576 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4577 J),
4578 J=[_|K],
4579 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4580 K),
4581 ( K=[L|_]
4582 -> setarg(4, L, _)
4583 ; true
4584 )
4585 ; I=[_, _|K],
4586 setarg(2, I, K),
4587 ( K=[L|_]
4588 -> setarg(4, L, I)
4589 ; true
4590 )
4591 ),
4592 'detach_known/1_1_$special_;/2___2'(H, C),
4593 \+ try(D, ground(A)),
4594 !,
4595 negate_b(D, M),
4596 known(M),
4597 \+ try(E, ground(A)).
4598'test/1_1_$special_ground/1'(_) :-
4599 fail.
4600'test/1_1_$special_=:=/2'(_, _) :-
4601 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4602 A),
4603 member(B, A),
4604 B=suspension(_, active, _),
4605 !.
4606'test/1_1_$special_=:=/2'(A, B) :-
4607 ( 'chr newvia_2'(A, B, C)
4608 -> get_attr(C, guard_entailment, D),
4609 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E)
4610 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
4611 E)
4612 ),
4613 member(F, E),
4614 F=suspension(_, active, _, _, _, G, H),
4615 G==A,
4616 H==B,
4617 !.
4618'test/1_1_$special_=:=/2'(A, B) :-
4619 A==B,
4620 !.
4621'test/1_1_$special_=:=/2'(A, B) :-
4622 ground(B),
4623 ground(A),
4624 ( A=:=B,
4625 !
4626 ; !,
4627 fail
4628 ).
4629'test/1_1_$special_=:=/2'(A, B) :-
4630 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4631 C),
4632 member(D, C),
4633 D=suspension(_, active, _, _, E, F),
4634 !,
4635 D=suspension(_, _, _, _, G, H),
4636 setarg(2, D, removed),
4637 term_variables(term(G, H), I),
4638 arg(4, D, J),
4639 ( var(J)
4640 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4641 K),
4642 K=[_|L],
4643 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4644 L),
4645 ( L=[M|_]
4646 -> setarg(4, M, _)
4647 ; true
4648 )
4649 ; J=[_, _|L],
4650 setarg(2, J, L),
4651 ( L=[M|_]
4652 -> setarg(4, M, J)
4653 ; true
4654 )
4655 ),
4656 'detach_known/1_1_$special_;/2___2'(I, D),
4657 \+ try(E, A=:=B),
4658 !,
4659 negate_b(E, N),
4660 known(N),
4661 \+ try(F, A=:=B).
4662'test/1_1_$special_=:=/2'(_, _) :-
4663 fail.
4664'test/1_1_$special_==/2'(_, _) :-
4665 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4666 A),
4667 member(B, A),
4668 B=suspension(_, active, _),
4669 !.
4670'test/1_1_$special_==/2'(A, B) :-
4671 ( 'chr newvia_2'(A, B, C)
4672 -> get_attr(C, guard_entailment, D),
4673 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _)
4674 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
4675 E)
4676 ),
4677 member(F, E),
4678 F=suspension(_, active, _, _, _, G, H),
4679 G==A,
4680 H==B,
4681 !.
4682'test/1_1_$special_==/2'(A, B) :-
4683 A==B,
4684 !.
4685'test/1_1_$special_==/2'(A, B) :-
4686 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4687 C),
4688 member(D, C),
4689 D=suspension(_, active, _, _, E, F),
4690 !,
4691 D=suspension(_, _, _, _, G, H),
4692 setarg(2, D, removed),
4693 term_variables(term(G, H), I),
4694 arg(4, D, J),
4695 ( var(J)
4696 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4697 K),
4698 K=[_|L],
4699 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4700 L),
4701 ( L=[M|_]
4702 -> setarg(4, M, _)
4703 ; true
4704 )
4705 ; J=[_, _|L],
4706 setarg(2, J, L),
4707 ( L=[M|_]
4708 -> setarg(4, M, J)
4709 ; true
4710 )
4711 ),
4712 'detach_known/1_1_$special_;/2___2'(I, D),
4713 \+ try(E, A==B),
4714 !,
4715 negate_b(E, N),
4716 known(N),
4717 \+ try(F, A==B).
4718'test/1_1_$special_==/2'(_, _) :-
4719 fail.
4720'test/1_1_$special_true/0' :-
4721 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4722 A),
4723 member(B, A),
4724 B=suspension(_, active, _),
4725 !.
4726'test/1_1_$special_true/0'.
4727'test/1_1_$special_functor/3'(_, _, _) :-
4728 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4729 A),
4730 member(B, A),
4731 B=suspension(_, active, _),
4732 !.
4733'test/1_1_$special_functor/3'(A, B, C) :-
4734 ( 'chr newvia'([A, B, C], D)
4735 -> get_attr(D, guard_entailment, E),
4736 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _)
4737 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
4738 F)
4739 ),
4740 member(G, F),
4741 G=suspension(_, active, _, _, H, I, J),
4742 H==A,
4743 I==B,
4744 J==C,
4745 !.
4746'test/1_1_$special_functor/3'(A, B, C) :-
4747 ground(C),
4748 ground(B),
4749 var(A),
4750 nb_getval('$chr_store_global_list_guard_entailment____variables___1',
4751 D),
4752 member(E, D),
4753 E=suspension(_, active, _, F),
4754 'chr lock'(A),
4755 'chr lock'(F),
4756 \+ memberchk_eq(A, F),
4757 'chr unlock'(A),
4758 'chr unlock'(F),
4759 !,
4760 functor(A, B, C).
4761'test/1_1_$special_functor/3'(A, B, C) :-
4762 nonvar(A),
4763 ( 'chr lock'(A),
4764 'chr lock'(B),
4765 'chr lock'(C),
4766 functor(A, B, C),
4767 'chr unlock'(A),
4768 'chr unlock'(B),
4769 'chr unlock'(C),
4770 !
4771 ; !,
4772 fail
4773 ).
4774'test/1_1_$special_functor/3'(A, B, C) :-
4775 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4776 D),
4777 member(E, D),
4778 E=suspension(_, active, _, _, F, G),
4779 !,
4780 E=suspension(_, _, _, _, H, I),
4781 setarg(2, E, removed),
4782 term_variables(term(H, I), J),
4783 arg(4, E, K),
4784 ( var(K)
4785 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4786 L),
4787 L=[_|M],
4788 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4789 M),
4790 ( M=[N|_]
4791 -> setarg(4, N, _)
4792 ; true
4793 )
4794 ; K=[_, _|M],
4795 setarg(2, K, M),
4796 ( M=[N|_]
4797 -> setarg(4, N, K)
4798 ; true
4799 )
4800 ),
4801 'detach_known/1_1_$special_;/2___2'(J, E),
4802 \+ try(F, functor(A, B, C)),
4803 !,
4804 negate_b(F, O),
4805 known(O),
4806 \+ try(G, functor(A, B, C)).
4807'test/1_1_$special_functor/3'(_, _, _) :-
4808 fail.
4809'test/1_1_$special_=/2'(_, _) :-
4810 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4811 A),
4812 member(B, A),
4813 B=suspension(_, active, _),
4814 !.
4815'test/1_1_$special_=/2'(A, B) :-
4816 ( 'chr newvia_2'(A, B, C)
4817 -> get_attr(C, guard_entailment, D),
4818 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _)
4819 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
4820 E)
4821 ),
4822 member(F, E),
4823 F=suspension(_, active, _, _, G, H),
4824 G==A,
4825 H==B,
4826 !.
4827'test/1_1_$special_=/2'(A, B) :-
4828 ground(B),
4829 ground(A),
4830 !,
4831 A=B.
4832'test/1_1_$special_=/2'(A, B) :-
4833 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4834 C),
4835 member(D, C),
4836 D=suspension(_, active, _, _, E, F),
4837 !,
4838 D=suspension(_, _, _, _, G, H),
4839 setarg(2, D, removed),
4840 term_variables(term(G, H), I),
4841 arg(4, D, J),
4842 ( var(J)
4843 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4844 K),
4845 K=[_|L],
4846 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4847 L),
4848 ( L=[M|_]
4849 -> setarg(4, M, _)
4850 ; true
4851 )
4852 ; J=[_, _|L],
4853 setarg(2, J, L),
4854 ( L=[M|_]
4855 -> setarg(4, M, J)
4856 ; true
4857 )
4858 ),
4859 'detach_known/1_1_$special_;/2___2'(I, D),
4860 \+ try(E, A=B),
4861 !,
4862 negate_b(E, N),
4863 known(N),
4864 \+ try(F, A=B).
4865'test/1_1_$special_=/2'(_, _) :-
4866 fail.
4867'test/1_1_$special_;/2'(_, _) :-
4868 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4869 A),
4870 member(B, A),
4871 B=suspension(_, active, _),
4872 !.
4873'test/1_1_$special_;/2'(A, B) :-
4874 ( 'chr newvia_2'(A, B, C)
4875 -> get_attr(C, guard_entailment, D),
4876 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
4877 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4878 E)
4879 ),
4880 member(F, E),
4881 F=suspension(_, active, _, _, G, H),
4882 G==A,
4883 H==B,
4884 !.
4885'test/1_1_$special_;/2'(A, B) :-
4886 A==fail,
4887 !,
4888 test(B).
4889'test/1_1_$special_;/2'(A, B) :-
4890 B==fail,
4891 !,
4892 test(A).
4893'test/1_1_$special_;/2'(A, B) :-
4894 negate_b(A, C),
4895 negate_b(B, D),
4896 ( known(D),
4897 test(A)
4898 ; known(C),
4899 test(B)
4900 ).
4901'test/1_1_$special_is/2'(_, _) :-
4902 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4903 A),
4904 member(B, A),
4905 B=suspension(_, active, _),
4906 !.
4907'test/1_1_$special_is/2'(A, B) :-
4908 'test/1_1_$special_=:=/2'(A, B).
4909'test/1_1_$special_</2'(_, _) :-
4910 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4911 A),
4912 member(B, A),
4913 B=suspension(_, active, _),
4914 !.
4915'test/1_1_$special_</2'(A, B) :-
4916 'test/1_1_$special_,/2'(A=<B, A=\=B).
4917'test/1_1_$special_>=/2'(_, _) :-
4918 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4919 A),
4920 member(B, A),
4921 B=suspension(_, active, _),
4922 !.
4923'test/1_1_$special_>=/2'(A, B) :-
4924 'test/1_1_$special_=</2'(B, A).
4925'test/1_1_$special_>/2'(_, _) :-
4926 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4927 A),
4928 member(B, A),
4929 B=suspension(_, active, _),
4930 !.
4931'test/1_1_$special_>/2'(A, B) :-
4932 'test/1_1_$special_</2'(B, A).
4933'test/1_1_$special_=\\=/2'(_, _) :-
4934 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4935 A),
4936 member(B, A),
4937 B=suspension(_, active, _),
4938 !.
4939'test/1_1_$special_=\\=/2'(A, B) :-
4940 ( 'chr newvia_2'(A, B, C)
4941 -> get_attr(C, guard_entailment, D),
4942 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _, _)
4943 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
4944 E)
4945 ),
4946 member(F, E),
4947 F=suspension(_, active, _, _, _, G, H),
4948 G==A,
4949 H==B,
4950 !.
4951'test/1_1_$special_=\\=/2'(A, B) :-
4952 number(B),
4953 ( 'chr newvia_1'(A, C)
4954 -> get_attr(C, guard_entailment, D),
4955 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _)
4956 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
4957 E)
4958 ),
4959 member(F, E),
4960 F=suspension(_, active, _, _, _, G, H),
4961 ( G==A,
4962 number(H),
4963 B>H,
4964 !
4965 ; H==A,
4966 number(G),
4967 B<G,
4968 !
4969 ).
4970'test/1_1_$special_=\\=/2'(A, B) :-
4971 ground(B),
4972 ground(A),
4973 ( A=\=B,
4974 !
4975 ; !,
4976 fail
4977 ).
4978'test/1_1_$special_=\\=/2'(A, B) :-
4979 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4980 C),
4981 member(D, C),
4982 D=suspension(_, active, _, _, E, F),
4983 !,
4984 D=suspension(_, _, _, _, G, H),
4985 setarg(2, D, removed),
4986 term_variables(term(G, H), I),
4987 arg(4, D, J),
4988 ( var(J)
4989 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4990 K),
4991 K=[_|L],
4992 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4993 L),
4994 ( L=[M|_]
4995 -> setarg(4, M, _)
4996 ; true
4997 )
4998 ; J=[_, _|L],
4999 setarg(2, J, L),
5000 ( L=[M|_]
5001 -> setarg(4, M, J)
5002 ; true
5003 )
5004 ),
5005 'detach_known/1_1_$special_;/2___2'(I, D),
5006 \+ try(E, A=\=B),
5007 !,
5008 negate_b(E, N),
5009 known(N),
5010 \+ try(F, A=\=B).
5011'test/1_1_$special_=\\=/2'(_, _) :-
5012 fail.
5013'test/1_1_$special_=</2'(_, _) :-
5014 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
5015 A),
5016 member(B, A),
5017 B=suspension(_, active, _),
5018 !.
5019'test/1_1_$special_=</2'(A, B) :-
5020 ( 'chr newvia_2'(A, B, C)
5021 -> get_attr(C, guard_entailment, D),
5022 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _)
5023 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
5024 E)
5025 ),
5026 member(F, E),
5027 F=suspension(_, active, _, _, _, G, H),
5028 G==A,
5029 H==B,
5030 !.
5031'test/1_1_$special_=</2'(A, B) :-
5032 ( 'chr newvia_2'(A, B, C)
5033 -> get_attr(C, guard_entailment, D),
5034 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E)
5035 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
5036 E)
5037 ),
5038 member(F, E),
5039 F=suspension(_, active, _, _, _, G, H),
5040 G==A,
5041 H==B,
5042 !.
5043'test/1_1_$special_=</2'(A, B) :-
5044 number(B),
5045 ( 'chr newvia_1'(A, C)
5046 -> get_attr(C, guard_entailment, D),
5047 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E)
5048 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
5049 E)
5050 ),
5051 member(F, E),
5052 F=suspension(_, active, _, _, _, G, H),
5053 G==A,
5054 number(H),
5055 H=<B,
5056 !.
5057'test/1_1_$special_=</2'(A, B) :-
5058 number(A),
5059 ( 'chr newvia_1'(B, C)
5060 -> get_attr(C, guard_entailment, D),
5061 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E)
5062 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
5063 E)
5064 ),
5065 member(F, E),
5066 F=suspension(_, active, _, _, _, G, H),
5067 G==B,
5068 number(H),
5069 A=<H,
5070 !.
5071'test/1_1_$special_=</2'(A, B) :-
5072 number(B),
5073 ( 'chr newvia_1'(A, C)
5074 -> get_attr(C, guard_entailment, D),
5075 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _)
5076 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
5077 E)
5078 ),
5079 member(F, E),
5080 F=suspension(_, active, _, _, _, G, H),
5081 G==A,
5082 number(H),
5083 H=<B,
5084 !.
5085'test/1_1_$special_=</2'(A, B) :-
5086 number(A),
5087 ( 'chr newvia_1'(B, C)
5088 -> get_attr(C, guard_entailment, D),
5089 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _)
5090 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
5091 E)
5092 ),
5093 member(F, E),
5094 F=suspension(_, active, _, _, _, G, H),
5095 H==B,
5096 number(G),
5097 A=<G,
5098 !.
5099'test/1_1_$special_=</2'(A, B) :-
5100 A==B,
5101 !.
5102'test/1_1_$special_=</2'(A, B) :-
5103 ground(B),
5104 ground(A),
5105 ( A=<B,
5106 !
5107 ; !,
5108 fail
5109 ).
5110'test/1_1_$special_=</2'(A, B) :-
5111 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5112 C),
5113 member(D, C),
5114 D=suspension(_, active, _, _, E, F),
5115 !,
5116 D=suspension(_, _, _, _, G, H),
5117 setarg(2, D, removed),
5118 term_variables(term(G, H), I),
5119 arg(4, D, J),
5120 ( var(J)
5121 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5122 K),
5123 K=[_|L],
5124 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5125 L),
5126 ( L=[M|_]
5127 -> setarg(4, M, _)
5128 ; true
5129 )
5130 ; J=[_, _|L],
5131 setarg(2, J, L),
5132 ( L=[M|_]
5133 -> setarg(4, M, J)
5134 ; true
5135 )
5136 ),
5137 'detach_known/1_1_$special_;/2___2'(I, D),
5138 \+ try(E, A=<B),
5139 !,
5140 negate_b(E, N),
5141 known(N),
5142 \+ try(F, A=<B).
5143'test/1_1_$special_=</2'(_, _) :-
5144 fail.
5145'test/1_1_$special_\\==/2'(_, _) :-
5146 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
5147 A),
5148 member(B, A),
5149 B=suspension(_, active, _),
5150 !.
5151'test/1_1_$special_\\==/2'(A, B) :-
5152 ( 'chr newvia_2'(A, B, C)
5153 -> get_attr(C, guard_entailment, D),
5154 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _)
5155 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
5156 E)
5157 ),
5158 member(F, E),
5159 F=suspension(_, active, _, _, _, G, H),
5160 G==A,
5161 H==B,
5162 !.
5163'test/1_1_$special_\\==/2'(A, B) :-
5164 nonvar(B),
5165 'chr lock'(B),
5166 functor(B, C, D),
5167 'chr unlock'(B),
5168 !,
5169 B=..[_|E],
5170 length(F, D),
5171 G=..[C|F],
5172 add_args_nmatch(F, E, H),
5173 I=(\+functor(A, C, D);functor(A, C, D), A=G, H),
5174 test(I).
5175'test/1_1_$special_\\==/2'(A, B) :-
5176 nonvar(A),
5177 !,
5178 'test/1_1_$special_\\==/2'(B, A).
5179'test/1_1_$special_\\==/2'(A, B) :-
5180 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5181 C),
5182 member(D, C),
5183 D=suspension(_, active, _, _, E, F),
5184 !,
5185 D=suspension(_, _, _, _, G, H),
5186 setarg(2, D, removed),
5187 term_variables(term(G, H), I),
5188 arg(4, D, J),
5189 ( var(J)
5190 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5191 K),
5192 K=[_|L],
5193 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5194 L),
5195 ( L=[M|_]
5196 -> setarg(4, M, _)
5197 ; true
5198 )
5199 ; J=[_, _|L],
5200 setarg(2, J, L),
5201 ( L=[M|_]
5202 -> setarg(4, M, J)
5203 ; true
5204 )
5205 ),
5206 'detach_known/1_1_$special_;/2___2'(I, D),
5207 \+ try(E, A\==B),
5208 !,
5209 negate_b(E, N),
5210 known(N),
5211 \+ try(F, A\==B).
5212'test/1_1_$special_\\==/2'(_, _) :-
5213 fail.
5214'known/1_1_$default'(A) :-
5215 'known/1_1_$default___1__0'(A, _).
5216'known/1_1_$default___1__0'(A, B) :-
5217 ( 'chr newvia_1'(A, C)
5218 -> get_attr(C, guard_entailment, D),
5219 D=v(_, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5220 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5221 E)
5222 ),
5223 member(F, E),
5224 F=suspension(_, active, _, _, G),
5225 G==A,
5226 !,
5227 ( var(B)
5228 -> true
5229 ; B=suspension(_, H, _, _, I),
5230 setarg(2, B, removed),
5231 ( H==not_stored_yet
5232 -> J=[]
5233 ; term_variables(I, J),
5234 arg(4, B, K),
5235 ( var(K)
5236 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5237 L),
5238 L=[_|M],
5239 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5240 M),
5241 ( M=[N|_]
5242 -> setarg(4, N, _)
5243 ; true
5244 )
5245 ; K=[_, _|M],
5246 setarg(2, K, M),
5247 ( M=[N|_]
5248 -> setarg(4, N, K)
5249 ; true
5250 )
5251 ),
5252 'detach_known/1_1_$default___1'(J, B)
5253 )
5254 ).
5255'known/1_1_$default___1__0'(_, A) :-
5256 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
5257 B),
5258 member(C, B),
5259 C=suspension(_, active, _),
5260 !,
5261 ( var(A)
5262 -> true
5263 ; A=suspension(_, D, _, _, E),
5264 setarg(2, A, removed),
5265 ( D==not_stored_yet
5266 -> F=[]
5267 ; term_variables(E, F),
5268 arg(4, A, G),
5269 ( var(G)
5270 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5271 H),
5272 H=[_|I],
5273 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5274 I),
5275 ( I=[J|_]
5276 -> setarg(4, J, _)
5277 ; true
5278 )
5279 ; G=[_, _|I],
5280 setarg(2, G, I),
5281 ( I=[J|_]
5282 -> setarg(4, J, G)
5283 ; true
5284 )
5285 ),
5286 'detach_known/1_1_$default___1'(F, A)
5287 )
5288 ).
5289'known/1_1_$default___1__0'(A, B) :-
5290 ( 'chr newvia_1'(A, C)
5291 -> get_attr(C, guard_entailment, D),
5292 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
5293 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
5294 E)
5295 ),
5296 member(F, E),
5297 F=suspension(_, active, _, _, G),
5298 G==A,
5299 !,
5300 F=suspension(_, _, _, _, H),
5301 setarg(2, F, removed),
5302 term_variables(H, I),
5303 arg(4, F, J),
5304 ( var(J)
5305 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
5306 K),
5307 K=[_|L],
5308 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
5309 L),
5310 ( L=[M|_]
5311 -> setarg(4, M, _)
5312 ; true
5313 )
5314 ; J=[_, _|L],
5315 setarg(2, J, L),
5316 ( L=[M|_]
5317 -> setarg(4, M, J)
5318 ; true
5319 )
5320 ),
5321 'detach_known/1_1_$special_\\+/1___1'(I, F),
5322 ( var(B)
5323 -> true
5324 ; B=suspension(_, N, _, _, O),
5325 setarg(2, B, removed),
5326 ( N==not_stored_yet
5327 -> P=[]
5328 ; term_variables(O, P),
5329 arg(4, B, Q),
5330 ( var(Q)
5331 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5332 R),
5333 R=[_|S],
5334 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5335 S),
5336 ( S=[T|_]
5337 -> setarg(4, T, _)
5338 ; true
5339 )
5340 ; Q=[_, _|S],
5341 setarg(2, Q, S),
5342 ( S=[T|_]
5343 -> setarg(4, T, Q)
5344 ; true
5345 )
5346 ),
5347 'detach_known/1_1_$default___1'(P, B)
5348 )
5349 ),
5350 'known/1_1_$special_fail/0'.
5351'known/1_1_$default___1__0'(A, B) :-
5352 ( 'chr newvia_1'(A, C)
5353 -> get_attr(C, guard_entailment, D),
5354 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5355 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5356 E)
5357 ),
5358 !,
5359 ( var(B)
5360 -> B=suspension(F, not_stored_yet, 0, _, A),
5361 'chr gen_id'(F)
5362 ; true
5363 ),
5364 'known/1_1_$default___1__0__0__6'(E, A, B).
5365'known/1_1_$default___1__0__0__6'([], A, B) :-
5366 'known/1_1_$default___1__1'(A, B).
5367'known/1_1_$default___1__0__0__6'([A|B], C, D) :-
5368 ( A=suspension(_, active, _, _, E, F),
5369 nonvar(E),
5370 E=(\+G),
5371 G==C
5372 -> A=suspension(_, _, _, _, H, I),
5373 setarg(2, A, removed),
5374 term_variables(term(H, I), J),
5375 ( arg(4, A, K),
5376 ( var(K)
5377 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5378 L),
5379 L=[_|M],
5380 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5381 M),
5382 ( M=[N|_]
5383 -> setarg(4, N, _)
5384 ; true
5385 )
5386 ; K=[_, _|M],
5387 setarg(2, K, M),
5388 ( M=[N|_]
5389 -> setarg(4, N, K)
5390 ; true
5391 )
5392 )
5393 ),
5394 'detach_known/1_1_$special_;/2___2'(J, A),
5395 arg(2, D, O),
5396 setarg(2, D, active),
5397 ( arg(3, D, P),
5398 Q is P+1,
5399 setarg(3, D, Q)
5400 ),
5401 ( O==not_stored_yet
5402 -> D=suspension(_, _, _, _, R),
5403 term_variables(R, S),
5404 'chr none_locked'(S),
5405 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5406 T),
5407 U=[D|T],
5408 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5409 U),
5410 ( T=[V|_]
5411 -> setarg(4, V, U)
5412 ; true
5413 ),
5414 'attach_known/1_1_$default___1'(S, D)
5415 ; true
5416 ),
5417 known(F),
5418 ( D=suspension(_, active, Q, _, _)
5419 -> setarg(2, D, inactive),
5420 'known/1_1_$default___1__0__0__6'(B, C, D)
5421 ; true
5422 )
5423 ; 'known/1_1_$default___1__0__0__6'(B, C, D)
5424 ).
5425'known/1_1_$default___1__0'(A, B) :-
5426 ( var(B)
5427 -> B=suspension(C, not_stored_yet, 0, _, A),
5428 'chr gen_id'(C)
5429 ; true
5430 ),
5431 'known/1_1_$default___1__1'(A, B).
5432'known/1_1_$default___1__1'(A, B) :-
5433 ( 'chr newvia_1'(A, C)
5434 -> get_attr(C, guard_entailment, D),
5435 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5436 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5437 E)
5438 ),
5439 !,
5440 'known/1_1_$default___1__1__0__7'(E, A, B).
5441'known/1_1_$default___1__1__0__7'([], A, B) :-
5442 'known/1_1_$default___1__2'(A, B).
5443'known/1_1_$default___1__1__0__7'([A|B], C, D) :-
5444 ( A=suspension(_, active, _, _, E, F),
5445 nonvar(E),
5446 E=(G, _),
5447 nonvar(G),
5448 G=(\+H),
5449 H==C
5450 -> A=suspension(_, _, _, _, I, J),
5451 setarg(2, A, removed),
5452 term_variables(term(I, J), K),
5453 ( arg(4, A, L),
5454 ( var(L)
5455 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5456 M),
5457 M=[_|N],
5458 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5459 N),
5460 ( N=[O|_]
5461 -> setarg(4, O, _)
5462 ; true
5463 )
5464 ; L=[_, _|N],
5465 setarg(2, L, N),
5466 ( N=[O|_]
5467 -> setarg(4, O, L)
5468 ; true
5469 )
5470 )
5471 ),
5472 'detach_known/1_1_$special_;/2___2'(K, A),
5473 arg(2, D, P),
5474 setarg(2, D, active),
5475 ( arg(3, D, Q),
5476 R is Q+1,
5477 setarg(3, D, R)
5478 ),
5479 ( P==not_stored_yet
5480 -> D=suspension(_, _, _, _, S),
5481 term_variables(S, T),
5482 'chr none_locked'(T),
5483 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5484 U),
5485 V=[D|U],
5486 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5487 V),
5488 ( U=[W|_]
5489 -> setarg(4, W, V)
5490 ; true
5491 ),
5492 'attach_known/1_1_$default___1'(T, D)
5493 ; true
5494 ),
5495 known(F),
5496 ( D=suspension(_, active, R, _, _)
5497 -> setarg(2, D, inactive),
5498 'known/1_1_$default___1__1__0__7'(B, C, D)
5499 ; true
5500 )
5501 ; 'known/1_1_$default___1__1__0__7'(B, C, D)
5502 ).
5503'known/1_1_$default___1__1'(A, B) :-
5504 'known/1_1_$default___1__2'(A, B).
5505'known/1_1_$default___1__2'(_, A) :-
5506 arg(2, A, B),
5507 setarg(2, A, active),
5508 arg(3, A, C),
5509 D is C+1,
5510 setarg(3, A, D),
5511 ( B==not_stored_yet
5512 -> A=suspension(_, _, _, _, E),
5513 term_variables(E, F),
5514 'chr none_locked'(F),
5515 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5516 G),
5517 H=[A|G],
5518 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5519 H),
5520 ( G=[I|_]
5521 -> setarg(4, I, H)
5522 ; true
5523 ),
5524 'attach_known/1_1_$default___1'(F, A)
5525 ; true
5526 ).
5527'known/1_1_$special_;/2'(A, B) :-
5528 'known/1_1_$special_;/2___2__0'(A, B, _).
5529'known/1_1_$special_;/2___2__0'(A, B, C) :-
5530 ( 'chr newvia_2'(A, B, D)
5531 -> get_attr(D, guard_entailment, E),
5532 E=v(_, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5533 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5534 F)
5535 ),
5536 member(G, F),
5537 G=suspension(_, active, _, _, H, I),
5538 H==A,
5539 I==B,
5540 !,
5541 ( var(C)
5542 -> true
5543 ; C=suspension(_, J, _, _, K, L),
5544 setarg(2, C, removed),
5545 ( J==not_stored_yet
5546 -> M=[]
5547 ; term_variables(term(K, L), M),
5548 arg(4, C, N),
5549 ( var(N)
5550 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5551 O),
5552 O=[_|P],
5553 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5554 P),
5555 ( P=[Q|_]
5556 -> setarg(4, Q, _)
5557 ; true
5558 )
5559 ; N=[_, _|P],
5560 setarg(2, N, P),
5561 ( P=[Q|_]
5562 -> setarg(4, Q, N)
5563 ; true
5564 )
5565 ),
5566 'detach_known/1_1_$special_;/2___2'(M, C)
5567 )
5568 ).
5569'known/1_1_$special_;/2___2__0'(_, _, A) :-
5570 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
5571 B),
5572 member(C, B),
5573 C=suspension(_, active, _),
5574 !,
5575 ( var(A)
5576 -> true
5577 ; A=suspension(_, D, _, _, E, F),
5578 setarg(2, A, removed),
5579 ( D==not_stored_yet
5580 -> G=[]
5581 ; term_variables(term(E, F), G),
5582 arg(4, A, H),
5583 ( var(H)
5584 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5585 I),
5586 I=[_|J],
5587 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5588 J),
5589 ( J=[K|_]
5590 -> setarg(4, K, _)
5591 ; true
5592 )
5593 ; H=[_, _|J],
5594 setarg(2, H, J),
5595 ( J=[K|_]
5596 -> setarg(4, K, H)
5597 ; true
5598 )
5599 ),
5600 'detach_known/1_1_$special_;/2___2'(G, A)
5601 )
5602 ).
5603'known/1_1_$special_;/2___2__0'(A, B, C) :-
5604 ( 'chr newvia_2'(A, B, D)
5605 -> get_attr(D, guard_entailment, E),
5606 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _, _)
5607 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
5608 F)
5609 ),
5610 member(G, F),
5611 G=suspension(_, active, _, _, H),
5612 nonvar(H),
5613 H=(I;J),
5614 I==A,
5615 J==B,
5616 !,
5617 G=suspension(_, _, _, _, K),
5618 setarg(2, G, removed),
5619 term_variables(K, L),
5620 arg(4, G, M),
5621 ( var(M)
5622 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
5623 N),
5624 N=[_|O],
5625 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
5626 O),
5627 ( O=[P|_]
5628 -> setarg(4, P, _)
5629 ; true
5630 )
5631 ; M=[_, _|O],
5632 setarg(2, M, O),
5633 ( O=[P|_]
5634 -> setarg(4, P, M)
5635 ; true
5636 )
5637 ),
5638 'detach_known/1_1_$special_\\+/1___1'(L, G),
5639 ( var(C)
5640 -> true
5641 ; C=suspension(_, Q, _, _, R, S),
5642 setarg(2, C, removed),
5643 ( Q==not_stored_yet
5644 -> T=[]
5645 ; term_variables(term(R, S), T),
5646 arg(4, C, U),
5647 ( var(U)
5648 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5649 V),
5650 V=[_|W],
5651 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5652 W),
5653 ( W=[X|_]
5654 -> setarg(4, X, _)
5655 ; true
5656 )
5657 ; U=[_, _|W],
5658 setarg(2, U, W),
5659 ( W=[X|_]
5660 -> setarg(4, X, U)
5661 ; true
5662 )
5663 ),
5664 'detach_known/1_1_$special_;/2___2'(T, C)
5665 )
5666 ),
5667 'known/1_1_$special_fail/0'.
5668'known/1_1_$special_;/2___2__0'(A, B, C) :-
5669 nonvar(A),
5670 A=(\+D),
5671 nonvar(D),
5672 D=(E;F),
5673 ( 'chr newvia_2'(E, F, G)
5674 -> get_attr(G, guard_entailment, H),
5675 H=v(_, _, _, I, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5676 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5677 I)
5678 ),
5679 member(J, I),
5680 J=suspension(_, active, _, _, K, L),
5681 K==E,
5682 L==F,
5683 !,
5684 ( var(C)
5685 -> true
5686 ; C=suspension(_, M, _, _, N, O),
5687 setarg(2, C, removed),
5688 ( M==not_stored_yet
5689 -> P=[]
5690 ; term_variables(term(N, O), P),
5691 arg(4, C, Q),
5692 ( var(Q)
5693 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5694 R),
5695 R=[_|S],
5696 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5697 S),
5698 ( S=[T|_]
5699 -> setarg(4, T, _)
5700 ; true
5701 )
5702 ; Q=[_, _|S],
5703 setarg(2, Q, S),
5704 ( S=[T|_]
5705 -> setarg(4, T, Q)
5706 ; true
5707 )
5708 ),
5709 'detach_known/1_1_$special_;/2___2'(P, C)
5710 )
5711 ),
5712 known(B).
5713'known/1_1_$special_;/2___2__0'(A, B, C) :-
5714 ( 'chr newvia_2'(A, B, D)
5715 -> get_attr(D, guard_entailment, E),
5716 E=v(_, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5717 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5718 F)
5719 ),
5720 !,
5721 ( var(C)
5722 -> C=suspension(G, not_stored_yet, 0, _, A, B),
5723 'chr gen_id'(G)
5724 ; true
5725 ),
5726 'known/1_1_$special_;/2___2__0__0__7'(F, A, B, C).
5727'known/1_1_$special_;/2___2__0__0__7'([], A, B, C) :-
5728 'known/1_1_$special_;/2___2__1'(A, B, C).
5729'known/1_1_$special_;/2___2__0__0__7'([A|B], C, D, E) :-
5730 ( A=suspension(_, active, _, _, F, G),
5731 nonvar(F),
5732 F=(\+H),
5733 nonvar(H),
5734 H=(I;J),
5735 I==C,
5736 J==D
5737 -> A=suspension(_, _, _, _, K, L),
5738 setarg(2, A, removed),
5739 term_variables(term(K, L), M),
5740 ( arg(4, A, N),
5741 ( var(N)
5742 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5743 O),
5744 O=[_|P],
5745 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5746 P),
5747 ( P=[Q|_]
5748 -> setarg(4, Q, _)
5749 ; true
5750 )
5751 ; N=[_, _|P],
5752 setarg(2, N, P),
5753 ( P=[Q|_]
5754 -> setarg(4, Q, N)
5755 ; true
5756 )
5757 )
5758 ),
5759 'detach_known/1_1_$special_;/2___2'(M, A),
5760 arg(2, E, R),
5761 setarg(2, E, active),
5762 ( arg(3, E, S),
5763 T is S+1,
5764 setarg(3, E, T)
5765 ),
5766 ( R==not_stored_yet
5767 -> E=suspension(_, _, _, _, U, V),
5768 term_variables(term(U, V), W),
5769 'chr none_locked'(W),
5770 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5771 X),
5772 Y=[E|X],
5773 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5774 Y),
5775 ( X=[Z|_]
5776 -> setarg(4, Z, Y)
5777 ; true
5778 ),
5779 'attach_known/1_1_$special_;/2___2'(W, E)
5780 ; true
5781 ),
5782 known(G),
5783 ( E=suspension(_, active, T, _, _, _)
5784 -> setarg(2, E, inactive),
5785 'known/1_1_$special_;/2___2__0__0__7'(B,
5786 C,
5787 D,
5788 E)
5789 ; true
5790 )
5791 ; 'known/1_1_$special_;/2___2__0__0__7'(B, C, D, E)
5792 ).
5793'known/1_1_$special_;/2___2__0'(A, B, C) :-
5794 ( var(C)
5795 -> C=suspension(D, not_stored_yet, 0, _, A, B),
5796 'chr gen_id'(D)
5797 ; true
5798 ),
5799 'known/1_1_$special_;/2___2__1'(A, B, C).
5800'known/1_1_$special_;/2___2__1'(A, B, C) :-
5801 nonvar(A),
5802 ( A=(\+D),
5803 ( nonvar(D),
5804 ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( D=nonvar(E),
5805 ( 'chr newvia_1'(E,
5806 F)
5807 -> get_attr(F,
5808 guard_entailment,
5809 G),
5810 G=v(_, _, _, _, H, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5811 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
5812 H)
5813 ),
5814 member(I,
5815 H),
5816 I=suspension(_, active, _, _, J),
5817 J==E,
5818 !,
5819 ( var(C)
5820 -> true
5821 ; C=suspension(_, K, _, _, L, M),
5822 setarg(2,
5823 C,
5824 removed),
5825 ( K==not_stored_yet
5826 -> N=[]
5827 ; term_variables(term(L,
5828 M),
5829 N),
5830 arg(4,
5831 C,
5832 O),
5833 ( var(O)
5834 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5835 P),
5836 P=[_|Q],
5837 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5838 Q),
5839 ( Q=[R|_]
5840 -> setarg(4,
5841 R,
5842 _)
5843 ; true
5844 )
5845 ; O=[_, _|Q],
5846 setarg(2,
5847 O,
5848 Q),
5849 ( Q=[R|_]
5850 -> setarg(4,
5851 R,
5852 O)
5853 ; true
5854 )
5855 ),
5856 'detach_known/1_1_$special_;/2___2'(N,
5857 C)
5858 )
5859 ),
5860 known(B)
5861 ; D=var(S),
5862 ( 'chr newvia_1'(S,
5863 T)
5864 -> get_attr(T,
5865 guard_entailment,
5866 U),
5867 U=v(_, _, _, _, _, V, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5868 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
5869 V)
5870 ),
5871 member(W,
5872 V),
5873 W=suspension(_, active, _, _, X),
5874 X==S,
5875 !,
5876 ( var(C)
5877 -> true
5878 ; C=suspension(_, Y, _, _, Z, A1),
5879 setarg(2,
5880 C,
5881 removed),
5882 ( Y==not_stored_yet
5883 -> B1=[]
5884 ; term_variables(term(Z,
5885 A1),
5886 B1),
5887 arg(4,
5888 C,
5889 C1),
5890 ( var(C1)
5891 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5892 D1),
5893 D1=[_|E1],
5894 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5895 E1),
5896 ( E1=[F1|_]
5897 -> setarg(4,
5898 F1,
5899 _)
5900 ; true
5901 )
5902 ; C1=[_, _|E1],
5903 setarg(2,
5904 C1,
5905 E1),
5906 ( E1=[F1|_]
5907 -> setarg(4,
5908 F1,
5909 C1)
5910 ; true
5911 )
5912 ),
5913 'detach_known/1_1_$special_;/2___2'(B1,
5914 C)
5915 )
5916 ),
5917 known(B)
5918 )
5919 ; D=atom(G1),
5920 ( 'chr newvia_1'(G1,
5921 H1)
5922 -> get_attr(H1,
5923 guard_entailment,
5924 I1),
5925 I1=v(_, _, _, _, _, _, J1, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5926 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
5927 J1)
5928 ),
5929 member(K1,
5930 J1),
5931 K1=suspension(_, active, _, _, _, L1),
5932 L1==G1,
5933 !,
5934 ( var(C)
5935 -> true
5936 ; C=suspension(_, M1, _, _, N1, O1),
5937 setarg(2,
5938 C,
5939 removed),
5940 ( M1==not_stored_yet
5941 -> P1=[]
5942 ; term_variables(term(N1,
5943 O1),
5944 P1),
5945 arg(4,
5946 C,
5947 Q1),
5948 ( var(Q1)
5949 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5950 R1),
5951 R1=[_|S1],
5952 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5953 S1),
5954 ( S1=[T1|_]
5955 -> setarg(4,
5956 T1,
5957 _)
5958 ; true
5959 )
5960 ; Q1=[_, _|S1],
5961 setarg(2,
5962 Q1,
5963 S1),
5964 ( S1=[T1|_]
5965 -> setarg(4,
5966 T1,
5967 Q1)
5968 ; true
5969 )
5970 ),
5971 'detach_known/1_1_$special_;/2___2'(P1,
5972 C)
5973 )
5974 ),
5975 known(B)
5976 )
5977 ; D=atomic(U1),
5978 ( 'chr newvia_1'(U1,
5979 V1)
5980 -> get_attr(V1,
5981 guard_entailment,
5982 W1),
5983 W1=v(_, _, _, _, _, _, _, X1, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5984 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
5985 X1)
5986 ),
5987 member(Y1,
5988 X1),
5989 Y1=suspension(_, active, _, _, _, Z1),
5990 Z1==U1,
5991 !,
5992 ( var(C)
5993 -> true
5994 ; C=suspension(_, A2, _, _, B2, C2),
5995 setarg(2,
5996 C,
5997 removed),
5998 ( A2==not_stored_yet
5999 -> D2=[]
6000 ; term_variables(term(B2,
6001 C2),
6002 D2),
6003 arg(4,
6004 C,
6005 E2),
6006 ( var(E2)
6007 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6008 F2),
6009 F2=[_|G2],
6010 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6011 G2),
6012 ( G2=[H2|_]
6013 -> setarg(4,
6014 H2,
6015 _)
6016 ; true
6017 )
6018 ; E2=[_, _|G2],
6019 setarg(2,
6020 E2,
6021 G2),
6022 ( G2=[H2|_]
6023 -> setarg(4,
6024 H2,
6025 E2)
6026 ; true
6027 )
6028 ),
6029 'detach_known/1_1_$special_;/2___2'(D2,
6030 C)
6031 )
6032 ),
6033 known(B)
6034 )
6035 ; D=compound(I2),
6036 ( 'chr newvia_1'(I2,
6037 J2)
6038 -> get_attr(J2,
6039 guard_entailment,
6040 K2),
6041 K2=v(_, _, _, _, _, _, _, _, L2, _, _, _, _, _, _, _, _, _, _, _, _, _)
6042 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
6043 L2)
6044 ),
6045 member(M2,
6046 L2),
6047 M2=suspension(_, active, _, _, _, N2),
6048 N2==I2,
6049 !,
6050 ( var(C)
6051 -> true
6052 ; C=suspension(_, O2, _, _, P2, Q2),
6053 setarg(2,
6054 C,
6055 removed),
6056 ( O2==not_stored_yet
6057 -> R2=[]
6058 ; term_variables(term(P2,
6059 Q2),
6060 R2),
6061 arg(4,
6062 C,
6063 S2),
6064 ( var(S2)
6065 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6066 T2),
6067 T2=[_|U2],
6068 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6069 U2),
6070 ( U2=[V2|_]
6071 -> setarg(4,
6072 V2,
6073 _)
6074 ; true
6075 )
6076 ; S2=[_, _|U2],
6077 setarg(2,
6078 S2,
6079 U2),
6080 ( U2=[V2|_]
6081 -> setarg(4,
6082 V2,
6083 S2)
6084 ; true
6085 )
6086 ),
6087 'detach_known/1_1_$special_;/2___2'(R2,
6088 C)
6089 )
6090 ),
6091 known(B)
6092 )
6093 ; D=ground(W2),
6094 ( 'chr newvia_1'(W2,
6095 X2)
6096 -> get_attr(X2,
6097 guard_entailment,
6098 Y2),
6099 Y2=v(_, _, _, _, _, _, _, _, _, Z2, _, _, _, _, _, _, _, _, _, _, _, _)
6100 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
6101 Z2)
6102 ),
6103 member(A3,
6104 Z2),
6105 A3=suspension(_, active, _, _, _, B3),
6106 B3==W2,
6107 !,
6108 ( var(C)
6109 -> true
6110 ; C=suspension(_, C3, _, _, D3, E3),
6111 setarg(2,
6112 C,
6113 removed),
6114 ( C3==not_stored_yet
6115 -> F3=[]
6116 ; term_variables(term(D3,
6117 E3),
6118 F3),
6119 arg(4,
6120 C,
6121 G3),
6122 ( var(G3)
6123 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6124 H3),
6125 H3=[_|I3],
6126 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6127 I3),
6128 ( I3=[J3|_]
6129 -> setarg(4,
6130 J3,
6131 _)
6132 ; true
6133 )
6134 ; G3=[_, _|I3],
6135 setarg(2,
6136 G3,
6137 I3),
6138 ( I3=[J3|_]
6139 -> setarg(4,
6140 J3,
6141 G3)
6142 ; true
6143 )
6144 ),
6145 'detach_known/1_1_$special_;/2___2'(F3,
6146 C)
6147 )
6148 ),
6149 known(B)
6150 )
6151 ; D=integer(K3),
6152 ( 'chr newvia_1'(K3,
6153 L3)
6154 -> get_attr(L3,
6155 guard_entailment,
6156 M3),
6157 M3=v(_, _, _, _, _, _, _, _, _, _, N3, _, _, _, _, _, _, _, _, _, _, _)
6158 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
6159 N3)
6160 ),
6161 member(O3,
6162 N3),
6163 O3=suspension(_, active, _, _, _, P3),
6164 P3==K3,
6165 !,
6166 ( var(C)
6167 -> true
6168 ; C=suspension(_, Q3, _, _, R3, S3),
6169 setarg(2,
6170 C,
6171 removed),
6172 ( Q3==not_stored_yet
6173 -> T3=[]
6174 ; term_variables(term(R3,
6175 S3),
6176 T3),
6177 arg(4,
6178 C,
6179 U3),
6180 ( var(U3)
6181 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6182 V3),
6183 V3=[_|W3],
6184 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6185 W3),
6186 ( W3=[X3|_]
6187 -> setarg(4,
6188 X3,
6189 _)
6190 ; true
6191 )
6192 ; U3=[_, _|W3],
6193 setarg(2,
6194 U3,
6195 W3),
6196 ( W3=[X3|_]
6197 -> setarg(4,
6198 X3,
6199 U3)
6200 ; true
6201 )
6202 ),
6203 'detach_known/1_1_$special_;/2___2'(T3,
6204 C)
6205 )
6206 ),
6207 known(B)
6208 )
6209 ; D=float(Y3),
6210 ( 'chr newvia_1'(Y3,
6211 Z3)
6212 -> get_attr(Z3,
6213 guard_entailment,
6214 A4),
6215 A4=v(_, _, _, _, _, _, _, _, _, _, _, B4, _, _, _, _, _, _, _, _, _, _)
6216 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
6217 B4)
6218 ),
6219 member(C4,
6220 B4),
6221 C4=suspension(_, active, _, _, _, D4),
6222 D4==Y3,
6223 !,
6224 ( var(C)
6225 -> true
6226 ; C=suspension(_, E4, _, _, F4, G4),
6227 setarg(2,
6228 C,
6229 removed),
6230 ( E4==not_stored_yet
6231 -> H4=[]
6232 ; term_variables(term(F4,
6233 G4),
6234 H4),
6235 arg(4,
6236 C,
6237 I4),
6238 ( var(I4)
6239 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6240 J4),
6241 J4=[_|K4],
6242 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6243 K4),
6244 ( K4=[L4|_]
6245 -> setarg(4,
6246 L4,
6247 _)
6248 ; true
6249 )
6250 ; I4=[_, _|K4],
6251 setarg(2,
6252 I4,
6253 K4),
6254 ( K4=[L4|_]
6255 -> setarg(4,
6256 L4,
6257 I4)
6258 ; true
6259 )
6260 ),
6261 'detach_known/1_1_$special_;/2___2'(H4,
6262 C)
6263 )
6264 ),
6265 known(B)
6266 )
6267 ; D=number(M4),
6268 ( 'chr newvia_1'(M4,
6269 N4)
6270 -> get_attr(N4,
6271 guard_entailment,
6272 O4),
6273 O4=v(_, _, _, _, _, _, _, _, _, _, _, _, P4, _, _, _, _, _, _, _, _, _)
6274 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
6275 P4)
6276 ),
6277 member(Q4,
6278 P4),
6279 Q4=suspension(_, active, _, _, _, R4),
6280 R4==M4,
6281 !,
6282 ( var(C)
6283 -> true
6284 ; C=suspension(_, S4, _, _, T4, U4),
6285 setarg(2,
6286 C,
6287 removed),
6288 ( S4==not_stored_yet
6289 -> V4=[]
6290 ; term_variables(term(T4,
6291 U4),
6292 V4),
6293 arg(4,
6294 C,
6295 W4),
6296 ( var(W4)
6297 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6298 X4),
6299 X4=[_|Y4],
6300 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6301 Y4),
6302 ( Y4=[Z4|_]
6303 -> setarg(4,
6304 Z4,
6305 _)
6306 ; true
6307 )
6308 ; W4=[_, _|Y4],
6309 setarg(2,
6310 W4,
6311 Y4),
6312 ( Y4=[Z4|_]
6313 -> setarg(4,
6314 Z4,
6315 W4)
6316 ; true
6317 )
6318 ),
6319 'detach_known/1_1_$special_;/2___2'(V4,
6320 C)
6321 )
6322 ),
6323 known(B)
6324 )
6325 ; D=(A5=\=B5),
6326 ( 'chr newvia_2'(A5,
6327 B5,
6328 C5)
6329 -> get_attr(C5,
6330 guard_entailment,
6331 D5),
6332 D5=v(_, _, _, _, _, _, _, _, _, _, _, _, _, E5, _, _, _, _, _, _, _, _)
6333 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
6334 E5)
6335 ),
6336 member(F5, E5),
6337 F5=suspension(_, active, _, _, _, G5, H5),
6338 G5==A5,
6339 H5==B5,
6340 !,
6341 ( var(C)
6342 -> true
6343 ; C=suspension(_, I5, _, _, J5, K5),
6344 setarg(2, C, removed),
6345 ( I5==not_stored_yet
6346 -> L5=[]
6347 ; term_variables(term(J5,
6348 K5),
6349 L5),
6350 arg(4,
6351 C,
6352 M5),
6353 ( var(M5)
6354 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6355 N5),
6356 N5=[_|O5],
6357 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6358 O5),
6359 ( O5=[P5|_]
6360 -> setarg(4,
6361 P5,
6362 _)
6363 ; true
6364 )
6365 ; M5=[_, _|O5],
6366 setarg(2,
6367 M5,
6368 O5),
6369 ( O5=[P5|_]
6370 -> setarg(4,
6371 P5,
6372 M5)
6373 ; true
6374 )
6375 ),
6376 'detach_known/1_1_$special_;/2___2'(L5,
6377 C)
6378 )
6379 ),
6380 known(B)
6381 )
6382 ; D=(\+Q5),
6383 ( 'chr newvia_1'(Q5,
6384 R5)
6385 -> get_attr(R5,
6386 guard_entailment,
6387 S5),
6388 S5=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, T5, _, _, _, _, _, _, _)
6389 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
6390 T5)
6391 ),
6392 member(U5, T5),
6393 U5=suspension(_, active, _, _, V5),
6394 V5==Q5,
6395 !,
6396 ( var(C)
6397 -> true
6398 ; C=suspension(_, W5, _, _, X5, Y5),
6399 setarg(2, C, removed),
6400 ( W5==not_stored_yet
6401 -> Z5=[]
6402 ; term_variables(term(X5,
6403 Y5),
6404 Z5),
6405 arg(4, C, A6),
6406 ( var(A6)
6407 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6408 B6),
6409 B6=[_|C6],
6410 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6411 C6),
6412 ( C6=[D6|_]
6413 -> setarg(4,
6414 D6,
6415 _)
6416 ; true
6417 )
6418 ; A6=[_, _|C6],
6419 setarg(2,
6420 A6,
6421 C6),
6422 ( C6=[D6|_]
6423 -> setarg(4,
6424 D6,
6425 A6)
6426 ; true
6427 )
6428 ),
6429 'detach_known/1_1_$special_;/2___2'(Z5,
6430 C)
6431 )
6432 ),
6433 known(B)
6434 )
6435 ; D=functor(E6, F6, G6),
6436 ( 'chr newvia'([ E6,
6437 F6,
6438 G6
6439 ],
6440 H6)
6441 -> get_attr(H6,
6442 guard_entailment,
6443 I6),
6444 I6=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, J6, _, _, _, _, _, _)
6445 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
6446 J6)
6447 ),
6448 member(K6, J6),
6449 K6=suspension(_, active, _, _, L6, M6, N6),
6450 L6==E6,
6451 M6==F6,
6452 N6==G6,
6453 !,
6454 ( var(C)
6455 -> true
6456 ; C=suspension(_, O6, _, _, P6, Q6),
6457 setarg(2, C, removed),
6458 ( O6==not_stored_yet
6459 -> R6=[]
6460 ; term_variables(term(P6,
6461 Q6),
6462 R6),
6463 arg(4, C, S6),
6464 ( var(S6)
6465 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6466 T6),
6467 T6=[_|U6],
6468 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6469 U6),
6470 ( U6=[V6|_]
6471 -> setarg(4,
6472 V6,
6473 _)
6474 ; true
6475 )
6476 ; S6=[_, _|U6],
6477 setarg(2,
6478 S6,
6479 U6),
6480 ( U6=[V6|_]
6481 -> setarg(4,
6482 V6,
6483 S6)
6484 ; true
6485 )
6486 ),
6487 'detach_known/1_1_$special_;/2___2'(R6,
6488 C)
6489 )
6490 ),
6491 known(B)
6492 )
6493 ; D=(W6\=X6),
6494 ( 'chr newvia_2'(W6,
6495 X6,
6496 Y6)
6497 -> get_attr(Y6,
6498 guard_entailment,
6499 Z6),
6500 Z6=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, A7, _, _, _, _, _)
6501 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
6502 A7)
6503 ),
6504 member(B7, A7),
6505 B7=suspension(_, active, _, _, _, C7, D7),
6506 C7==W6,
6507 D7==X6,
6508 !,
6509 ( var(C)
6510 -> true
6511 ; C=suspension(_, E7, _, _, F7, G7),
6512 setarg(2, C, removed),
6513 ( E7==not_stored_yet
6514 -> H7=[]
6515 ; term_variables(term(F7,
6516 G7),
6517 H7),
6518 arg(4, C, I7),
6519 ( var(I7)
6520 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6521 J7),
6522 J7=[_|K7],
6523 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6524 K7),
6525 ( K7=[L7|_]
6526 -> setarg(4,
6527 L7,
6528 _)
6529 ; true
6530 )
6531 ; I7=[_, _|K7],
6532 setarg(2, I7, K7),
6533 ( K7=[L7|_]
6534 -> setarg(4,
6535 L7,
6536 I7)
6537 ; true
6538 )
6539 ),
6540 'detach_known/1_1_$special_;/2___2'(H7,
6541 C)
6542 )
6543 ),
6544 known(B)
6545 )
6546 ; D=(M7=N7),
6547 ( 'chr newvia_2'(M7,
6548 N7,
6549 O7)
6550 -> get_attr(O7,
6551 guard_entailment,
6552 P7),
6553 P7=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, Q7, _, _, _, _)
6554 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
6555 Q7)
6556 ),
6557 member(R7, Q7),
6558 R7=suspension(_, active, _, _, S7, T7),
6559 S7==M7,
6560 T7==N7,
6561 !,
6562 ( var(C)
6563 -> true
6564 ; C=suspension(_, U7, _, _, V7, W7),
6565 setarg(2, C, removed),
6566 ( U7==not_stored_yet
6567 -> X7=[]
6568 ; term_variables(term(V7,
6569 W7),
6570 X7),
6571 arg(4, C, Y7),
6572 ( var(Y7)
6573 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6574 Z7),
6575 Z7=[_|A8],
6576 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6577 A8),
6578 ( A8=[B8|_]
6579 -> setarg(4, B8, _)
6580 ; true
6581 )
6582 ; Y7=[_, _|A8],
6583 setarg(2, Y7, A8),
6584 ( A8=[B8|_]
6585 -> setarg(4, B8, Y7)
6586 ; true
6587 )
6588 ),
6589 'detach_known/1_1_$special_;/2___2'(X7,
6590 C)
6591 )
6592 ),
6593 known(B)
6594 )
6595 ; D=(C8\==D8),
6596 ( 'chr newvia_2'(C8, D8, E8)
6597 -> get_attr(E8, guard_entailment, F8),
6598 F8=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, G8, _, _, _)
6599 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
6600 G8)
6601 ),
6602 member(H8, G8),
6603 H8=suspension(_, active, _, _, _, I8, J8),
6604 I8==C8,
6605 J8==D8,
6606 !,
6607 ( var(C)
6608 -> true
6609 ; C=suspension(_, K8, _, _, L8, M8),
6610 setarg(2, C, removed),
6611 ( K8==not_stored_yet
6612 -> N8=[]
6613 ; term_variables(term(L8, M8),
6614 N8),
6615 arg(4, C, O8),
6616 ( var(O8)
6617 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6618 P8),
6619 P8=[_|Q8],
6620 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6621 Q8),
6622 ( Q8=[R8|_]
6623 -> setarg(4, R8, _)
6624 ; true
6625 )
6626 ; O8=[_, _|Q8],
6627 setarg(2, O8, Q8),
6628 ( Q8=[R8|_]
6629 -> setarg(4, R8, O8)
6630 ; true
6631 )
6632 ),
6633 'detach_known/1_1_$special_;/2___2'(N8,
6634 C)
6635 )
6636 ),
6637 known(B)
6638 )
6639 ; D=(S8==T8),
6640 ( 'chr newvia_2'(S8, T8, U8)
6641 -> get_attr(U8, guard_entailment, V8),
6642 V8=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, W8, _, _)
6643 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
6644 W8)
6645 ),
6646 member(X8, W8),
6647 X8=suspension(_, active, _, _, _, Y8, Z8),
6648 Y8==S8,
6649 Z8==T8,
6650 !,
6651 ( var(C)
6652 -> true
6653 ; C=suspension(_, A9, _, _, B9, C9),
6654 setarg(2, C, removed),
6655 ( A9==not_stored_yet
6656 -> D9=[]
6657 ; term_variables(term(B9, C9),
6658 D9),
6659 arg(4, C, E9),
6660 ( var(E9)
6661 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6662 F9),
6663 F9=[_|G9],
6664 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6665 G9),
6666 ( G9=[H9|_]
6667 -> setarg(4, H9, _)
6668 ; true
6669 )
6670 ; E9=[_, _|G9],
6671 setarg(2, E9, G9),
6672 ( G9=[H9|_]
6673 -> setarg(4, H9, E9)
6674 ; true
6675 )
6676 ),
6677 'detach_known/1_1_$special_;/2___2'(D9,
6678 C)
6679 )
6680 ),
6681 known(B)
6682 )
6683 ; D=(I9=<J9),
6684 ( 'chr newvia_2'(I9, J9, K9)
6685 -> get_attr(K9, guard_entailment, L9),
6686 L9=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, M9, _)
6687 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
6688 M9)
6689 ),
6690 member(N9, M9),
6691 N9=suspension(_, active, _, _, _, O9, P9),
6692 O9==I9,
6693 P9==J9,
6694 !,
6695 ( var(C)
6696 -> true
6697 ; C=suspension(_, Q9, _, _, R9, S9),
6698 setarg(2, C, removed),
6699 ( Q9==not_stored_yet
6700 -> T9=[]
6701 ; term_variables(term(R9, S9),
6702 T9),
6703 arg(4, C, U9),
6704 ( var(U9)
6705 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6706 V9),
6707 V9=[_|W9],
6708 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6709 W9),
6710 ( W9=[X9|_]
6711 -> setarg(4, X9, _)
6712 ; true
6713 )
6714 ; U9=[_, _|W9],
6715 setarg(2, U9, W9),
6716 ( W9=[X9|_]
6717 -> setarg(4, X9, U9)
6718 ; true
6719 )
6720 ),
6721 'detach_known/1_1_$special_;/2___2'(T9,
6722 C)
6723 )
6724 ),
6725 known(B)
6726 )
6727 ; D=(Y9=:=Z9),
6728 ( 'chr newvia_2'(Y9, Z9, A10)
6729 -> get_attr(A10, guard_entailment, B10),
6730 B10=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, C10)
6731 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
6732 C10)
6733 ),
6734 member(D10, C10),
6735 D10=suspension(_, active, _, _, _, E10, F10),
6736 E10==Y9,
6737 F10==Z9,
6738 !,
6739 ( var(C)
6740 -> true
6741 ; C=suspension(_, G10, _, _, H10, I10),
6742 setarg(2, C, removed),
6743 ( G10==not_stored_yet
6744 -> J10=[]
6745 ; term_variables(term(H10, I10), J10),
6746 arg(4, C, K10),
6747 ( var(K10)
6748 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6749 L10),
6750 L10=[_|M10],
6751 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6752 M10),
6753 ( M10=[N10|_]
6754 -> setarg(4, N10, _)
6755 ; true
6756 )
6757 ; K10=[_, _|M10],
6758 setarg(2, K10, M10),
6759 ( M10=[N10|_]
6760 -> setarg(4, N10, K10)
6761 ; true
6762 )
6763 ),
6764 'detach_known/1_1_$special_;/2___2'(J10, C)
6765 )
6766 ),
6767 known(B)
6768 )
6769 ; ( 'chr newvia_1'(D, O10)
6770 -> get_attr(O10, guard_entailment, P10),
6771 P10=v(_, _, Q10, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
6772 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
6773 Q10)
6774 ),
6775 member(R10, Q10),
6776 R10=suspension(_, active, _, _, S10),
6777 S10==D,
6778 !,
6779 ( var(C)
6780 -> true
6781 ; C=suspension(_, T10, _, _, U10, V10),
6782 setarg(2, C, removed),
6783 ( T10==not_stored_yet
6784 -> W10=[]
6785 ; term_variables(term(U10, V10), W10),
6786 arg(4, C, X10),
6787 ( var(X10)
6788 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6789 Y10),
6790 Y10=[_|Z10],
6791 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6792 Z10),
6793 ( Z10=[A11|_]
6794 -> setarg(4, A11, _)
6795 ; true
6796 )
6797 ; X10=[_, _|Z10],
6798 setarg(2, X10, Z10),
6799 ( Z10=[A11|_]
6800 -> setarg(4, A11, X10)
6801 ; true
6802 )
6803 ),
6804 'detach_known/1_1_$special_;/2___2'(W10, C)
6805 )
6806 ),
6807 known(B)
6808 )
6809 ; A=(B11, _),
6810 nonvar(B11),
6811 B11=(\+C11),
6812 nonvar(C11),
6813 C11=(D11;E11),
6814 ( 'chr newvia_2'(D11, E11, F11)
6815 -> get_attr(F11, guard_entailment, G11),
6816 G11=v(_, _, _, H11, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
6817 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6818 H11)
6819 ),
6820 member(I11, H11),
6821 I11=suspension(_, active, _, _, J11, K11),
6822 J11==D11,
6823 K11==E11,
6824 !,
6825 ( var(C)
6826 -> true
6827 ; C=suspension(_, L11, _, _, M11, N11),
6828 setarg(2, C, removed),
6829 ( L11==not_stored_yet
6830 -> O11=[]
6831 ; term_variables(term(M11, N11), O11),
6832 arg(4, C, P11),
6833 ( var(P11)
6834 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6835 Q11),
6836 Q11=[_|R11],
6837 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6838 R11),
6839 ( R11=[S11|_]
6840 -> setarg(4, S11, _)
6841 ; true
6842 )
6843 ; P11=[_, _|R11],
6844 setarg(2, P11, R11),
6845 ( R11=[S11|_]
6846 -> setarg(4, S11, P11)
6847 ; true
6848 )
6849 ),
6850 'detach_known/1_1_$special_;/2___2'(O11, C)
6851 )
6852 ),
6853 known(B)
6854 ).
6855'known/1_1_$special_;/2___2__1'(A, B, C) :-
6856 ( 'chr newvia_2'(A, B, D)
6857 -> get_attr(D, guard_entailment, E),
6858 E=v(_, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
6859 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6860 F)
6861 ),
6862 !,
6863 'known/1_1_$special_;/2___2__1__0__34'(F, A, B, C).
6864'known/1_1_$special_;/2___2__1__0__34'([], A, B, C) :-
6865 'known/1_1_$special_;/2___2__2'(A, B, C).
6866'known/1_1_$special_;/2___2__1__0__34'([A|B], C, D, E) :-
6867 ( A=suspension(_, active, _, _, F, G),
6868 nonvar(F),
6869 F=(H, _),
6870 nonvar(H),
6871 H=(\+I),
6872 nonvar(I),
6873 I=(J;K),
6874 J==C,
6875 K==D
6876 -> A=suspension(_, _, _, _, L, M),
6877 setarg(2, A, removed),
6878 term_variables(term(L, M), N),
6879 ( arg(4, A, O),
6880 ( var(O)
6881 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6882 P),
6883 P=[_|Q],
6884 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6885 Q),
6886 ( Q=[R|_]
6887 -> setarg(4, R, _)
6888 ; true
6889 )
6890 ; O=[_, _|Q],
6891 setarg(2, O, Q),
6892 ( Q=[R|_]
6893 -> setarg(4, R, O)
6894 ; true
6895 )
6896 )
6897 ),
6898 'detach_known/1_1_$special_;/2___2'(N, A),
6899 arg(2, E, S),
6900 setarg(2, E, active),
6901 ( arg(3, E, T),
6902 U is T+1,
6903 setarg(3, E, U)
6904 ),
6905 ( S==not_stored_yet
6906 -> E=suspension(_, _, _, _, V, W),
6907 term_variables(term(V, W), X),
6908 'chr none_locked'(X),
6909 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6910 Y),
6911 Z=[E|Y],
6912 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6913 Z),
6914 ( Y=[A1|_]
6915 -> setarg(4, A1, Z)
6916 ; true
6917 ),
6918 'attach_known/1_1_$special_;/2___2'(X, E)
6919 ; true
6920 ),
6921 known(G),
6922 ( E=suspension(_, active, U, _, _, _)
6923 -> setarg(2, E, inactive),
6924 'known/1_1_$special_;/2___2__1__0__34'(B,
6925 C,
6926 D,
6927 E)
6928 ; true
6929 )
6930 ; 'known/1_1_$special_;/2___2__1__0__34'(B, C, D, E)
6931 ).
6932'known/1_1_$special_;/2___2__1'(A, B, C) :-
6933 'known/1_1_$special_;/2___2__2'(A, B, C).
6934'known/1_1_$special_;/2___2__2'(A, B, C) :-
6935 nonvar(A),
6936 A=(D, _),
6937 nonvar(D),
6938 D=(\+E),
6939 ( nonvar(E),
6940 ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( E=nonvar(F),
6941 ( 'chr newvia_1'(F,
6942 G)
6943 -> get_attr(G,
6944 guard_entailment,
6945 H),
6946 H=v(_, _, _, _, I, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
6947 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
6948 I)
6949 ),
6950 member(J,
6951 I),
6952 J=suspension(_, active, _, _, K),
6953 K==F,
6954 !,
6955 ( var(C)
6956 -> true
6957 ; C=suspension(_, L, _, _, M, N),
6958 setarg(2,
6959 C,
6960 removed),
6961 ( L==not_stored_yet
6962 -> O=[]
6963 ; term_variables(term(M,
6964 N),
6965 O),
6966 arg(4,
6967 C,
6968 P),
6969 ( var(P)
6970 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6971 Q),
6972 Q=[_|R],
6973 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6974 R),
6975 ( R=[S|_]
6976 -> setarg(4,
6977 S,
6978 _)
6979 ; true
6980 )
6981 ; P=[_, _|R],
6982 setarg(2,
6983 P,
6984 R),
6985 ( R=[S|_]
6986 -> setarg(4,
6987 S,
6988 P)
6989 ; true
6990 )
6991 ),
6992 'detach_known/1_1_$special_;/2___2'(O,
6993 C)
6994 )
6995 ),
6996 known(B)
6997 ; E=var(T),
6998 ( 'chr newvia_1'(T,
6999 U)
7000 -> get_attr(U,
7001 guard_entailment,
7002 V),
7003 V=v(_, _, _, _, _, W, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
7004 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
7005 W)
7006 ),
7007 member(X,
7008 W),
7009 X=suspension(_, active, _, _, Y),
7010 Y==T,
7011 !,
7012 ( var(C)
7013 -> true
7014 ; C=suspension(_, Z, _, _, A1, B1),
7015 setarg(2,
7016 C,
7017 removed),
7018 ( Z==not_stored_yet
7019 -> C1=[]
7020 ; term_variables(term(A1,
7021 B1),
7022 C1),
7023 arg(4,
7024 C,
7025 D1),
7026 ( var(D1)
7027 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7028 E1),
7029 E1=[_|F1],
7030 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7031 F1),
7032 ( F1=[G1|_]
7033 -> setarg(4,
7034 G1,
7035 _)
7036 ; true
7037 )
7038 ; D1=[_, _|F1],
7039 setarg(2,
7040 D1,
7041 F1),
7042 ( F1=[G1|_]
7043 -> setarg(4,
7044 G1,
7045 D1)
7046 ; true
7047 )
7048 ),
7049 'detach_known/1_1_$special_;/2___2'(C1,
7050 C)
7051 )
7052 ),
7053 known(B)
7054 )
7055 ; E=atom(H1),
7056 ( 'chr newvia_1'(H1,
7057 I1)
7058 -> get_attr(I1,
7059 guard_entailment,
7060 J1),
7061 J1=v(_, _, _, _, _, _, K1, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
7062 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
7063 K1)
7064 ),
7065 member(L1,
7066 K1),
7067 L1=suspension(_, active, _, _, _, M1),
7068 M1==H1,
7069 !,
7070 ( var(C)
7071 -> true
7072 ; C=suspension(_, N1, _, _, O1, P1),
7073 setarg(2,
7074 C,
7075 removed),
7076 ( N1==not_stored_yet
7077 -> Q1=[]
7078 ; term_variables(term(O1,
7079 P1),
7080 Q1),
7081 arg(4,
7082 C,
7083 R1),
7084 ( var(R1)
7085 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7086 S1),
7087 S1=[_|T1],
7088 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7089 T1),
7090 ( T1=[U1|_]
7091 -> setarg(4,
7092 U1,
7093 _)
7094 ; true
7095 )
7096 ; R1=[_, _|T1],
7097 setarg(2,
7098 R1,
7099 T1),
7100 ( T1=[U1|_]
7101 -> setarg(4,
7102 U1,
7103 R1)
7104 ; true
7105 )
7106 ),
7107 'detach_known/1_1_$special_;/2___2'(Q1,
7108 C)
7109 )
7110 ),
7111 known(B)
7112 )
7113 ; E=atomic(V1),
7114 ( 'chr newvia_1'(V1,
7115 W1)
7116 -> get_attr(W1,
7117 guard_entailment,
7118 X1),
7119 X1=v(_, _, _, _, _, _, _, Y1, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
7120 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
7121 Y1)
7122 ),
7123 member(Z1,
7124 Y1),
7125 Z1=suspension(_, active, _, _, _, A2),
7126 A2==V1,
7127 !,
7128 ( var(C)
7129 -> true
7130 ; C=suspension(_, B2, _, _, C2, D2),
7131 setarg(2,
7132 C,
7133 removed),
7134 ( B2==not_stored_yet
7135 -> E2=[]
7136 ; term_variables(term(C2,
7137 D2),
7138 E2),
7139 arg(4,
7140 C,
7141 F2),
7142 ( var(F2)
7143 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7144 G2),
7145 G2=[_|H2],
7146 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7147 H2),
7148 ( H2=[I2|_]
7149 -> setarg(4,
7150 I2,
7151 _)
7152 ; true
7153 )
7154 ; F2=[_, _|H2],
7155 setarg(2,
7156 F2,
7157 H2),
7158 ( H2=[I2|_]
7159 -> setarg(4,
7160 I2,
7161 F2)
7162 ; true
7163 )
7164 ),
7165 'detach_known/1_1_$special_;/2___2'(E2,
7166 C)
7167 )
7168 ),
7169 known(B)
7170 )
7171 ; E=compound(J2),
7172 ( 'chr newvia_1'(J2,
7173 K2)
7174 -> get_attr(K2,
7175 guard_entailment,
7176 L2),
7177 L2=v(_, _, _, _, _, _, _, _, M2, _, _, _, _, _, _, _, _, _, _, _, _, _)
7178 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
7179 M2)
7180 ),
7181 member(N2,
7182 M2),
7183 N2=suspension(_, active, _, _, _, O2),
7184 O2==J2,
7185 !,
7186 ( var(C)
7187 -> true
7188 ; C=suspension(_, P2, _, _, Q2, R2),
7189 setarg(2,
7190 C,
7191 removed),
7192 ( P2==not_stored_yet
7193 -> S2=[]
7194 ; term_variables(term(Q2,
7195 R2),
7196 S2),
7197 arg(4,
7198 C,
7199 T2),
7200 ( var(T2)
7201 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7202 U2),
7203 U2=[_|V2],
7204 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7205 V2),
7206 ( V2=[W2|_]
7207 -> setarg(4,
7208 W2,
7209 _)
7210 ; true
7211 )
7212 ; T2=[_, _|V2],
7213 setarg(2,
7214 T2,
7215 V2),
7216 ( V2=[W2|_]
7217 -> setarg(4,
7218 W2,
7219 T2)
7220 ; true
7221 )
7222 ),
7223 'detach_known/1_1_$special_;/2___2'(S2,
7224 C)
7225 )
7226 ),
7227 known(B)
7228 )
7229 ; E=ground(X2),
7230 ( 'chr newvia_1'(X2,
7231 Y2)
7232 -> get_attr(Y2,
7233 guard_entailment,
7234 Z2),
7235 Z2=v(_, _, _, _, _, _, _, _, _, A3, _, _, _, _, _, _, _, _, _, _, _, _)
7236 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
7237 A3)
7238 ),
7239 member(B3,
7240 A3),
7241 B3=suspension(_, active, _, _, _, C3),
7242 C3==X2,
7243 !,
7244 ( var(C)
7245 -> true
7246 ; C=suspension(_, D3, _, _, E3, F3),
7247 setarg(2,
7248 C,
7249 removed),
7250 ( D3==not_stored_yet
7251 -> G3=[]
7252 ; term_variables(term(E3,
7253 F3),
7254 G3),
7255 arg(4,
7256 C,
7257 H3),
7258 ( var(H3)
7259 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7260 I3),
7261 I3=[_|J3],
7262 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7263 J3),
7264 ( J3=[K3|_]
7265 -> setarg(4,
7266 K3,
7267 _)
7268 ; true
7269 )
7270 ; H3=[_, _|J3],
7271 setarg(2,
7272 H3,
7273 J3),
7274 ( J3=[K3|_]
7275 -> setarg(4,
7276 K3,
7277 H3)
7278 ; true
7279 )
7280 ),
7281 'detach_known/1_1_$special_;/2___2'(G3,
7282 C)
7283 )
7284 ),
7285 known(B)
7286 )
7287 ; E=integer(L3),
7288 ( 'chr newvia_1'(L3,
7289 M3)
7290 -> get_attr(M3,
7291 guard_entailment,
7292 N3),
7293 N3=v(_, _, _, _, _, _, _, _, _, _, O3, _, _, _, _, _, _, _, _, _, _, _)
7294 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
7295 O3)
7296 ),
7297 member(P3,
7298 O3),
7299 P3=suspension(_, active, _, _, _, Q3),
7300 Q3==L3,
7301 !,
7302 ( var(C)
7303 -> true
7304 ; C=suspension(_, R3, _, _, S3, T3),
7305 setarg(2,
7306 C,
7307 removed),
7308 ( R3==not_stored_yet
7309 -> U3=[]
7310 ; term_variables(term(S3,
7311 T3),
7312 U3),
7313 arg(4,
7314 C,
7315 V3),
7316 ( var(V3)
7317 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7318 W3),
7319 W3=[_|X3],
7320 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7321 X3),
7322 ( X3=[Y3|_]
7323 -> setarg(4,
7324 Y3,
7325 _)
7326 ; true
7327 )
7328 ; V3=[_, _|X3],
7329 setarg(2,
7330 V3,
7331 X3),
7332 ( X3=[Y3|_]
7333 -> setarg(4,
7334 Y3,
7335 V3)
7336 ; true
7337 )
7338 ),
7339 'detach_known/1_1_$special_;/2___2'(U3,
7340 C)
7341 )
7342 ),
7343 known(B)
7344 )
7345 ; E=float(Z3),
7346 ( 'chr newvia_1'(Z3,
7347 A4)
7348 -> get_attr(A4,
7349 guard_entailment,
7350 B4),
7351 B4=v(_, _, _, _, _, _, _, _, _, _, _, C4, _, _, _, _, _, _, _, _, _, _)
7352 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
7353 C4)
7354 ),
7355 member(D4,
7356 C4),
7357 D4=suspension(_, active, _, _, _, E4),
7358 E4==Z3,
7359 !,
7360 ( var(C)
7361 -> true
7362 ; C=suspension(_, F4, _, _, G4, H4),
7363 setarg(2,
7364 C,
7365 removed),
7366 ( F4==not_stored_yet
7367 -> I4=[]
7368 ; term_variables(term(G4,
7369 H4),
7370 I4),
7371 arg(4,
7372 C,
7373 J4),
7374 ( var(J4)
7375 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7376 K4),
7377 K4=[_|L4],
7378 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7379 L4),
7380 ( L4=[M4|_]
7381 -> setarg(4,
7382 M4,
7383 _)
7384 ; true
7385 )
7386 ; J4=[_, _|L4],
7387 setarg(2,
7388 J4,
7389 L4),
7390 ( L4=[M4|_]
7391 -> setarg(4,
7392 M4,
7393 J4)
7394 ; true
7395 )
7396 ),
7397 'detach_known/1_1_$special_;/2___2'(I4,
7398 C)
7399 )
7400 ),
7401 known(B)
7402 )
7403 ; E=number(N4),
7404 ( 'chr newvia_1'(N4,
7405 O4)
7406 -> get_attr(O4,
7407 guard_entailment,
7408 P4),
7409 P4=v(_, _, _, _, _, _, _, _, _, _, _, _, Q4, _, _, _, _, _, _, _, _, _)
7410 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
7411 Q4)
7412 ),
7413 member(R4, Q4),
7414 R4=suspension(_, active, _, _, _, S4),
7415 S4==N4,
7416 !,
7417 ( var(C)
7418 -> true
7419 ; C=suspension(_, T4, _, _, U4, V4),
7420 setarg(2, C, removed),
7421 ( T4==not_stored_yet
7422 -> W4=[]
7423 ; term_variables(term(U4,
7424 V4),
7425 W4),
7426 arg(4,
7427 C,
7428 X4),
7429 ( var(X4)
7430 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7431 Y4),
7432 Y4=[_|Z4],
7433 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7434 Z4),
7435 ( Z4=[A5|_]
7436 -> setarg(4,
7437 A5,
7438 _)
7439 ; true
7440 )
7441 ; X4=[_, _|Z4],
7442 setarg(2,
7443 X4,
7444 Z4),
7445 ( Z4=[A5|_]
7446 -> setarg(4,
7447 A5,
7448 X4)
7449 ; true
7450 )
7451 ),
7452 'detach_known/1_1_$special_;/2___2'(W4,
7453 C)
7454 )
7455 ),
7456 known(B)
7457 )
7458 ; E=(B5=\=C5),
7459 ( 'chr newvia_2'(B5,
7460 C5,
7461 D5)
7462 -> get_attr(D5,
7463 guard_entailment,
7464 E5),
7465 E5=v(_, _, _, _, _, _, _, _, _, _, _, _, _, F5, _, _, _, _, _, _, _, _)
7466 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
7467 F5)
7468 ),
7469 member(G5, F5),
7470 G5=suspension(_, active, _, _, _, H5, I5),
7471 H5==B5,
7472 I5==C5,
7473 !,
7474 ( var(C)
7475 -> true
7476 ; C=suspension(_, J5, _, _, K5, L5),
7477 setarg(2, C, removed),
7478 ( J5==not_stored_yet
7479 -> M5=[]
7480 ; term_variables(term(K5,
7481 L5),
7482 M5),
7483 arg(4, C, N5),
7484 ( var(N5)
7485 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7486 O5),
7487 O5=[_|P5],
7488 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7489 P5),
7490 ( P5=[Q5|_]
7491 -> setarg(4,
7492 Q5,
7493 _)
7494 ; true
7495 )
7496 ; N5=[_, _|P5],
7497 setarg(2,
7498 N5,
7499 P5),
7500 ( P5=[Q5|_]
7501 -> setarg(4,
7502 Q5,
7503 N5)
7504 ; true
7505 )
7506 ),
7507 'detach_known/1_1_$special_;/2___2'(M5,
7508 C)
7509 )
7510 ),
7511 known(B)
7512 )
7513 ; E=(\+R5),
7514 ( 'chr newvia_1'(R5, S5)
7515 -> get_attr(S5,
7516 guard_entailment,
7517 T5),
7518 T5=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, U5, _, _, _, _, _, _, _)
7519 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
7520 U5)
7521 ),
7522 member(V5, U5),
7523 V5=suspension(_, active, _, _, W5),
7524 W5==R5,
7525 !,
7526 ( var(C)
7527 -> true
7528 ; C=suspension(_, X5, _, _, Y5, Z5),
7529 setarg(2, C, removed),
7530 ( X5==not_stored_yet
7531 -> A6=[]
7532 ; term_variables(term(Y5,
7533 Z5),
7534 A6),
7535 arg(4, C, B6),
7536 ( var(B6)
7537 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7538 C6),
7539 C6=[_|D6],
7540 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7541 D6),
7542 ( D6=[E6|_]
7543 -> setarg(4,
7544 E6,
7545 _)
7546 ; true
7547 )
7548 ; B6=[_, _|D6],
7549 setarg(2,
7550 B6,
7551 D6),
7552 ( D6=[E6|_]
7553 -> setarg(4,
7554 E6,
7555 B6)
7556 ; true
7557 )
7558 ),
7559 'detach_known/1_1_$special_;/2___2'(A6,
7560 C)
7561 )
7562 ),
7563 known(B)
7564 )
7565 ; E=functor(F6, G6, H6),
7566 ( 'chr newvia'([ F6,
7567 G6,
7568 H6
7569 ],
7570 I6)
7571 -> get_attr(I6,
7572 guard_entailment,
7573 J6),
7574 J6=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, K6, _, _, _, _, _, _)
7575 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
7576 K6)
7577 ),
7578 member(L6, K6),
7579 L6=suspension(_, active, _, _, M6, N6, O6),
7580 M6==F6,
7581 N6==G6,
7582 O6==H6,
7583 !,
7584 ( var(C)
7585 -> true
7586 ; C=suspension(_, P6, _, _, Q6, R6),
7587 setarg(2, C, removed),
7588 ( P6==not_stored_yet
7589 -> S6=[]
7590 ; term_variables(term(Q6,
7591 R6),
7592 S6),
7593 arg(4, C, T6),
7594 ( var(T6)
7595 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7596 U6),
7597 U6=[_|V6],
7598 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7599 V6),
7600 ( V6=[W6|_]
7601 -> setarg(4,
7602 W6,
7603 _)
7604 ; true
7605 )
7606 ; T6=[_, _|V6],
7607 setarg(2, T6, V6),
7608 ( V6=[W6|_]
7609 -> setarg(4,
7610 W6,
7611 T6)
7612 ; true
7613 )
7614 ),
7615 'detach_known/1_1_$special_;/2___2'(S6,
7616 C)
7617 )
7618 ),
7619 known(B)
7620 )
7621 ; E=(X6\=Y6),
7622 ( 'chr newvia_2'(X6,
7623 Y6,
7624 Z6)
7625 -> get_attr(Z6,
7626 guard_entailment,
7627 A7),
7628 A7=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, B7, _, _, _, _, _)
7629 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
7630 B7)
7631 ),
7632 member(C7, B7),
7633 C7=suspension(_, active, _, _, _, D7, E7),
7634 D7==X6,
7635 E7==Y6,
7636 !,
7637 ( var(C)
7638 -> true
7639 ; C=suspension(_, F7, _, _, G7, H7),
7640 setarg(2, C, removed),
7641 ( F7==not_stored_yet
7642 -> I7=[]
7643 ; term_variables(term(G7,
7644 H7),
7645 I7),
7646 arg(4, C, J7),
7647 ( var(J7)
7648 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7649 K7),
7650 K7=[_|L7],
7651 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7652 L7),
7653 ( L7=[M7|_]
7654 -> setarg(4, M7, _)
7655 ; true
7656 )
7657 ; J7=[_, _|L7],
7658 setarg(2, J7, L7),
7659 ( L7=[M7|_]
7660 -> setarg(4, M7, J7)
7661 ; true
7662 )
7663 ),
7664 'detach_known/1_1_$special_;/2___2'(I7,
7665 C)
7666 )
7667 ),
7668 known(B)
7669 )
7670 ; E=(N7=O7),
7671 ( 'chr newvia_2'(N7, O7, P7)
7672 -> get_attr(P7, guard_entailment, Q7),
7673 Q7=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, R7, _, _, _, _)
7674 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
7675 R7)
7676 ),
7677 member(S7, R7),
7678 S7=suspension(_, active, _, _, T7, U7),
7679 T7==N7,
7680 U7==O7,
7681 !,
7682 ( var(C)
7683 -> true
7684 ; C=suspension(_, V7, _, _, W7, X7),
7685 setarg(2, C, removed),
7686 ( V7==not_stored_yet
7687 -> Y7=[]
7688 ; term_variables(term(W7, X7),
7689 Y7),
7690 arg(4, C, Z7),
7691 ( var(Z7)
7692 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7693 A8),
7694 A8=[_|B8],
7695 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7696 B8),
7697 ( B8=[C8|_]
7698 -> setarg(4, C8, _)
7699 ; true
7700 )
7701 ; Z7=[_, _|B8],
7702 setarg(2, Z7, B8),
7703 ( B8=[C8|_]
7704 -> setarg(4, C8, Z7)
7705 ; true
7706 )
7707 ),
7708 'detach_known/1_1_$special_;/2___2'(Y7,
7709 C)
7710 )
7711 ),
7712 known(B)
7713 )
7714 ; E=(D8\==E8),
7715 ( 'chr newvia_2'(D8, E8, F8)
7716 -> get_attr(F8, guard_entailment, G8),
7717 G8=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, H8, _, _, _)
7718 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
7719 H8)
7720 ),
7721 member(I8, H8),
7722 I8=suspension(_, active, _, _, _, J8, K8),
7723 J8==D8,
7724 K8==E8,
7725 !,
7726 ( var(C)
7727 -> true
7728 ; C=suspension(_, L8, _, _, M8, N8),
7729 setarg(2, C, removed),
7730 ( L8==not_stored_yet
7731 -> O8=[]
7732 ; term_variables(term(M8, N8),
7733 O8),
7734 arg(4, C, P8),
7735 ( var(P8)
7736 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7737 Q8),
7738 Q8=[_|R8],
7739 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7740 R8),
7741 ( R8=[S8|_]
7742 -> setarg(4, S8, _)
7743 ; true
7744 )
7745 ; P8=[_, _|R8],
7746 setarg(2, P8, R8),
7747 ( R8=[S8|_]
7748 -> setarg(4, S8, P8)
7749 ; true
7750 )
7751 ),
7752 'detach_known/1_1_$special_;/2___2'(O8,
7753 C)
7754 )
7755 ),
7756 known(B)
7757 )
7758 ; E=(T8==U8),
7759 ( 'chr newvia_2'(T8, U8, V8)
7760 -> get_attr(V8, guard_entailment, W8),
7761 W8=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, X8, _, _)
7762 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
7763 X8)
7764 ),
7765 member(Y8, X8),
7766 Y8=suspension(_, active, _, _, _, Z8, A9),
7767 Z8==T8,
7768 A9==U8,
7769 !,
7770 ( var(C)
7771 -> true
7772 ; C=suspension(_, B9, _, _, C9, D9),
7773 setarg(2, C, removed),
7774 ( B9==not_stored_yet
7775 -> E9=[]
7776 ; term_variables(term(C9, D9),
7777 E9),
7778 arg(4, C, F9),
7779 ( var(F9)
7780 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7781 G9),
7782 G9=[_|H9],
7783 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7784 H9),
7785 ( H9=[I9|_]
7786 -> setarg(4, I9, _)
7787 ; true
7788 )
7789 ; F9=[_, _|H9],
7790 setarg(2, F9, H9),
7791 ( H9=[I9|_]
7792 -> setarg(4, I9, F9)
7793 ; true
7794 )
7795 ),
7796 'detach_known/1_1_$special_;/2___2'(E9,
7797 C)
7798 )
7799 ),
7800 known(B)
7801 )
7802 ; E=(J9=<K9),
7803 ( 'chr newvia_2'(J9, K9, L9)
7804 -> get_attr(L9, guard_entailment, M9),
7805 M9=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, N9, _)
7806 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
7807 N9)
7808 ),
7809 member(O9, N9),
7810 O9=suspension(_, active, _, _, _, P9, Q9),
7811 P9==J9,
7812 Q9==K9,
7813 !,
7814 ( var(C)
7815 -> true
7816 ; C=suspension(_, R9, _, _, S9, T9),
7817 setarg(2, C, removed),
7818 ( R9==not_stored_yet
7819 -> U9=[]
7820 ; term_variables(term(S9, T9), U9),
7821 arg(4, C, V9),
7822 ( var(V9)
7823 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7824 W9),
7825 W9=[_|X9],
7826 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7827 X9),
7828 ( X9=[Y9|_]
7829 -> setarg(4, Y9, _)
7830 ; true
7831 )
7832 ; V9=[_, _|X9],
7833 setarg(2, V9, X9),
7834 ( X9=[Y9|_]
7835 -> setarg(4, Y9, V9)
7836 ; true
7837 )
7838 ),
7839 'detach_known/1_1_$special_;/2___2'(U9, C)
7840 )
7841 ),
7842 known(B)
7843 )
7844 ; E=(Z9=:=A10),
7845 ( 'chr newvia_2'(Z9, A10, B10)
7846 -> get_attr(B10, guard_entailment, C10),
7847 C10=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D10)
7848 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
7849 D10)
7850 ),
7851 member(E10, D10),
7852 E10=suspension(_, active, _, _, _, F10, G10),
7853 F10==Z9,
7854 G10==A10,
7855 !,
7856 ( var(C)
7857 -> true
7858 ; C=suspension(_, H10, _, _, I10, J10),
7859 setarg(2, C, removed),
7860 ( H10==not_stored_yet
7861 -> K10=[]
7862 ; term_variables(term(I10, J10), K10),
7863 arg(4, C, L10),
7864 ( var(L10)
7865 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7866 M10),
7867 M10=[_|N10],
7868 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7869 N10),
7870 ( N10=[O10|_]
7871 -> setarg(4, O10, _)
7872 ; true
7873 )
7874 ; L10=[_, _|N10],
7875 setarg(2, L10, N10),
7876 ( N10=[O10|_]
7877 -> setarg(4, O10, L10)
7878 ; true
7879 )
7880 ),
7881 'detach_known/1_1_$special_;/2___2'(K10, C)
7882 )
7883 ),
7884 known(B)
7885 )
7886 ; ( 'chr newvia_1'(E, P10)
7887 -> get_attr(P10, guard_entailment, Q10),
7888 Q10=v(_, _, R10, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
7889 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
7890 R10)
7891 ),
7892 member(S10, R10),
7893 S10=suspension(_, active, _, _, T10),
7894 T10==E,
7895 !,
7896 ( var(C)
7897 -> true
7898 ; C=suspension(_, U10, _, _, V10, W10),
7899 setarg(2, C, removed),
7900 ( U10==not_stored_yet
7901 -> X10=[]
7902 ; term_variables(term(V10, W10), X10),
7903 arg(4, C, Y10),
7904 ( var(Y10)
7905 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7906 Z10),
7907 Z10=[_|A11],
7908 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7909 A11),
7910 ( A11=[B11|_]
7911 -> setarg(4, B11, _)
7912 ; true
7913 )
7914 ; Y10=[_, _|A11],
7915 setarg(2, Y10, A11),
7916 ( A11=[B11|_]
7917 -> setarg(4, B11, Y10)
7918 ; true
7919 )
7920 ),
7921 'detach_known/1_1_$special_;/2___2'(X10, C)
7922 )
7923 ),
7924 known(B)
7925 ).
7926'known/1_1_$special_;/2___2__2'(A, B, C) :-
7927 ( 'chr newvia_1'(A, D)
7928 -> get_attr(D, guard_entailment, E),
7929 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _, _)
7930 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
7931 F)
7932 ),
7933 member(G, F),
7934 G=suspension(_, active, _, _, H),
7935 H==A,
7936 !,
7937 ( var(C)
7938 -> true
7939 ; C=suspension(_, I, _, _, J, K),
7940 setarg(2, C, removed),
7941 ( I==not_stored_yet
7942 -> L=[]
7943 ; term_variables(term(J, K), L),
7944 arg(4, C, M),
7945 ( var(M)
7946 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7947 N),
7948 N=[_|O],
7949 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7950 O),
7951 ( O=[P|_]
7952 -> setarg(4, P, _)
7953 ; true
7954 )
7955 ; M=[_, _|O],
7956 setarg(2, M, O),
7957 ( O=[P|_]
7958 -> setarg(4, P, M)
7959 ; true
7960 )
7961 ),
7962 'detach_known/1_1_$special_;/2___2'(L, C)
7963 )
7964 ),
7965 known(B).
7966'known/1_1_$special_;/2___2__2'(A, B, C) :-
7967 nonvar(A),
7968 A=(D, _),
7969 ( 'chr newvia_1'(D, E)
7970 -> get_attr(E, guard_entailment, F),
7971 F=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, G, _, _, _, _, _, _, _)
7972 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
7973 G)
7974 ),
7975 member(H, G),
7976 H=suspension(_, active, _, _, I),
7977 I==D,
7978 !,
7979 ( var(C)
7980 -> true
7981 ; C=suspension(_, J, _, _, K, L),
7982 setarg(2, C, removed),
7983 ( J==not_stored_yet
7984 -> M=[]
7985 ; term_variables(term(K, L), M),
7986 arg(4, C, N),
7987 ( var(N)
7988 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7989 O),
7990 O=[_|P],
7991 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7992 P),
7993 ( P=[Q|_]
7994 -> setarg(4, Q, _)
7995 ; true
7996 )
7997 ; N=[_, _|P],
7998 setarg(2, N, P),
7999 ( P=[Q|_]
8000 -> setarg(4, Q, N)
8001 ; true
8002 )
8003 ),
8004 'detach_known/1_1_$special_;/2___2'(M, C)
8005 )
8006 ),
8007 known(B).
8008'known/1_1_$special_;/2___2__2'(A, B, C) :-
8009 A==fail,
8010 !,
8011 ( var(C)
8012 -> true
8013 ; C=suspension(_, D, _, _, E, F),
8014 setarg(2, C, removed),
8015 ( D==not_stored_yet
8016 -> G=[]
8017 ; term_variables(term(E, F), G),
8018 arg(4, C, H),
8019 ( var(H)
8020 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8021 I),
8022 I=[_|J],
8023 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8024 J),
8025 ( J=[K|_]
8026 -> setarg(4, K, _)
8027 ; true
8028 )
8029 ; H=[_, _|J],
8030 setarg(2, H, J),
8031 ( J=[K|_]
8032 -> setarg(4, K, H)
8033 ; true
8034 )
8035 ),
8036 'detach_known/1_1_$special_;/2___2'(G, C)
8037 )
8038 ),
8039 known(B).
8040'known/1_1_$special_;/2___2__2'(A, B, C) :-
8041 B==fail,
8042 !,
8043 ( var(C)
8044 -> true
8045 ; C=suspension(_, D, _, _, E, F),
8046 setarg(2, C, removed),
8047 ( D==not_stored_yet
8048 -> G=[]
8049 ; term_variables(term(E, F), G),
8050 arg(4, C, H),
8051 ( var(H)
8052 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8053 I),
8054 I=[_|J],
8055 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8056 J),
8057 ( J=[K|_]
8058 -> setarg(4, K, _)
8059 ; true
8060 )
8061 ; H=[_, _|J],
8062 setarg(2, H, J),
8063 ( J=[K|_]
8064 -> setarg(4, K, H)
8065 ; true
8066 )
8067 ),
8068 'detach_known/1_1_$special_;/2___2'(G, C)
8069 )
8070 ),
8071 known(A).
8072'known/1_1_$special_;/2___2__2'(A, _, B) :-
8073 A==true,
8074 !,
8075 ( var(B)
8076 -> true
8077 ; B=suspension(_, C, _, _, D, E),
8078 setarg(2, B, removed),
8079 ( C==not_stored_yet
8080 -> F=[]
8081 ; term_variables(term(D, E), F),
8082 arg(4, B, G),
8083 ( var(G)
8084 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8085 H),
8086 H=[_|I],
8087 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8088 I),
8089 ( I=[J|_]
8090 -> setarg(4, J, _)
8091 ; true
8092 )
8093 ; G=[_, _|I],
8094 setarg(2, G, I),
8095 ( I=[J|_]
8096 -> setarg(4, J, G)
8097 ; true
8098 )
8099 ),
8100 'detach_known/1_1_$special_;/2___2'(F, B)
8101 )
8102 ).
8103'known/1_1_$special_;/2___2__2'(_, A, B) :-
8104 A==true,
8105 !,
8106 ( var(B)
8107 -> true
8108 ; B=suspension(_, C, _, _, D, E),
8109 setarg(2, B, removed),
8110 ( C==not_stored_yet
8111 -> F=[]
8112 ; term_variables(term(D, E), F),
8113 arg(4, B, G),
8114 ( var(G)
8115 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8116 H),
8117 H=[_|I],
8118 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8119 I),
8120 ( I=[J|_]
8121 -> setarg(4, J, _)
8122 ; true
8123 )
8124 ; G=[_, _|I],
8125 setarg(2, G, I),
8126 ( I=[J|_]
8127 -> setarg(4, J, G)
8128 ; true
8129 )
8130 ),
8131 'detach_known/1_1_$special_;/2___2'(F, B)
8132 )
8133 ).
8134'known/1_1_$special_;/2___2__2'(A, B, C) :-
8135 nonvar(A),
8136 A=(\+D),
8137 nonvar(D),
8138 D=functor(E, F, G),
8139 ( ( ( 'chr newvia_1'(E, H)
8140 -> get_attr(H, guard_entailment, I),
8141 I=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, J, _, _, _, _, _, _)
8142 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
8143 J)
8144 ),
8145 member(K, J),
8146 K=suspension(_, active, _, _, L, _, _),
8147 L==E,
8148 !,
8149 ( var(C)
8150 -> true
8151 ; C=suspension(_, M, _, _, N, O),
8152 setarg(2, C, removed),
8153 ( M==not_stored_yet
8154 -> P=[]
8155 ; term_variables(term(N, O), P),
8156 arg(4, C, Q),
8157 ( var(Q)
8158 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8159 R),
8160 R=[_|S],
8161 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8162 S),
8163 ( S=[T|_]
8164 -> setarg(4, T, _)
8165 ; true
8166 )
8167 ; Q=[_, _|S],
8168 setarg(2, Q, S),
8169 ( S=[T|_]
8170 -> setarg(4, T, Q)
8171 ; true
8172 )
8173 ),
8174 'detach_known/1_1_$special_;/2___2'(P, C)
8175 )
8176 )
8177 ; nonvar(E),
8178 'chr lock'(E),
8179 'chr lock'(F),
8180 'chr lock'(G),
8181 functor(E, F, G),
8182 'chr unlock'(E),
8183 'chr unlock'(F),
8184 'chr unlock'(G),
8185 !,
8186 ( var(C)
8187 -> true
8188 ; C=suspension(_, U, _, _, V, W),
8189 setarg(2, C, removed),
8190 ( U==not_stored_yet
8191 -> X=[]
8192 ; term_variables(term(V, W), X),
8193 arg(4, C, Y),
8194 ( var(Y)
8195 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8196 Z),
8197 Z=[_|A1],
8198 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8199 A1),
8200 ( A1=[B1|_]
8201 -> setarg(4, B1, _)
8202 ; true
8203 )
8204 ; Y=[_, _|A1],
8205 setarg(2, Y, A1),
8206 ( A1=[B1|_]
8207 -> setarg(4, B1, Y)
8208 ; true
8209 )
8210 ),
8211 'detach_known/1_1_$special_;/2___2'(X, C)
8212 )
8213 ),
8214 known(B)
8215 )
8216 ; nonvar(E),
8217 'chr lock'(E),
8218 'chr lock'(F),
8219 'chr lock'(G),
8220 \+ functor(E, F, G),
8221 'chr unlock'(E),
8222 'chr unlock'(F),
8223 'chr unlock'(G),
8224 !,
8225 ( var(C)
8226 -> true
8227 ; C=suspension(_, C1, _, _, D1, E1),
8228 setarg(2, C, removed),
8229 ( C1==not_stored_yet
8230 -> F1=[]
8231 ; term_variables(term(D1, E1), F1),
8232 arg(4, C, G1),
8233 ( var(G1)
8234 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8235 H1),
8236 H1=[_|I1],
8237 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8238 I1),
8239 ( I1=[J1|_]
8240 -> setarg(4, J1, _)
8241 ; true
8242 )
8243 ; G1=[_, _|I1],
8244 setarg(2, G1, I1),
8245 ( I1=[J1|_]
8246 -> setarg(4, J1, G1)
8247 ; true
8248 )
8249 ),
8250 'detach_known/1_1_$special_;/2___2'(F1, C)
8251 )
8252 )
8253 ).
8254'known/1_1_$special_;/2___2__2'(_, _, A) :-
8255 arg(2, A, B),
8256 setarg(2, A, active),
8257 arg(3, A, C),
8258 D is C+1,
8259 setarg(3, A, D),
8260 ( B==not_stored_yet
8261 -> A=suspension(_, _, _, _, E, F),
8262 term_variables(term(E, F), G),
8263 'chr none_locked'(G),
8264 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8265 H),
8266 I=[A|H],
8267 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8268 I),
8269 ( H=[J|_]
8270 -> setarg(4, J, I)
8271 ; true
8272 ),
8273 'attach_known/1_1_$special_;/2___2'(G, A)
8274 ; true
8275 ).
8276'known/1_1_$special_nonvar/1'(A) :-
8277 'known/1_1_$special_nonvar/1___1__0'(A, _).
8278'known/1_1_$special_nonvar/1___1__0'(A, B) :-
8279 ( 'chr newvia_1'(A, C)
8280 -> get_attr(C, guard_entailment, D),
8281 D=v(_, _, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
8282 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8283 E)
8284 ),
8285 member(F, E),
8286 F=suspension(_, active, _, _, G),
8287 G==A,
8288 !,
8289 ( var(B)
8290 -> true
8291 ; B=suspension(_, H, _, _, I),
8292 setarg(2, B, removed),
8293 ( H==not_stored_yet
8294 -> J=[]
8295 ; term_variables(I, J),
8296 arg(4, B, K),
8297 ( var(K)
8298 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8299 L),
8300 L=[_|M],
8301 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8302 M),
8303 ( M=[N|_]
8304 -> setarg(4, N, _)
8305 ; true
8306 )
8307 ; K=[_, _|M],
8308 setarg(2, K, M),
8309 ( M=[N|_]
8310 -> setarg(4, N, K)
8311 ; true
8312 )
8313 ),
8314 'detach_known/1_1_$special_nonvar/1___1'(J, B)
8315 )
8316 ).
8317'known/1_1_$special_nonvar/1___1__0'(_, A) :-
8318 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
8319 B),
8320 member(C, B),
8321 C=suspension(_, active, _),
8322 !,
8323 ( var(A)
8324 -> true
8325 ; A=suspension(_, D, _, _, E),
8326 setarg(2, A, removed),
8327 ( D==not_stored_yet
8328 -> F=[]
8329 ; term_variables(E, F),
8330 arg(4, A, G),
8331 ( var(G)
8332 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8333 H),
8334 H=[_|I],
8335 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8336 I),
8337 ( I=[J|_]
8338 -> setarg(4, J, _)
8339 ; true
8340 )
8341 ; G=[_, _|I],
8342 setarg(2, G, I),
8343 ( I=[J|_]
8344 -> setarg(4, J, G)
8345 ; true
8346 )
8347 ),
8348 'detach_known/1_1_$special_nonvar/1___1'(F, A)
8349 )
8350 ).
8351'known/1_1_$special_nonvar/1___1__0'(A, B) :-
8352 ( 'chr newvia_1'(A, C)
8353 -> get_attr(C, guard_entailment, D),
8354 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
8355 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
8356 E)
8357 ),
8358 member(F, E),
8359 F=suspension(_, active, _, _, G),
8360 nonvar(G),
8361 G=nonvar(H),
8362 H==A,
8363 !,
8364 F=suspension(_, _, _, _, I),
8365 setarg(2, F, removed),
8366 term_variables(I, J),
8367 arg(4, F, K),
8368 ( var(K)
8369 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
8370 L),
8371 L=[_|M],
8372 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
8373 M),
8374 ( M=[N|_]
8375 -> setarg(4, N, _)
8376 ; true
8377 )
8378 ; K=[_, _|M],
8379 setarg(2, K, M),
8380 ( M=[N|_]
8381 -> setarg(4, N, K)
8382 ; true
8383 )
8384 ),
8385 'detach_known/1_1_$special_\\+/1___1'(J, F),
8386 ( var(B)
8387 -> true
8388 ; B=suspension(_, O, _, _, P),
8389 setarg(2, B, removed),
8390 ( O==not_stored_yet
8391 -> Q=[]
8392 ; term_variables(P, Q),
8393 arg(4, B, R),
8394 ( var(R)
8395 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8396 S),
8397 S=[_|T],
8398 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8399 T),
8400 ( T=[U|_]
8401 -> setarg(4, U, _)
8402 ; true
8403 )
8404 ; R=[_, _|T],
8405 setarg(2, R, T),
8406 ( T=[U|_]
8407 -> setarg(4, U, R)
8408 ; true
8409 )
8410 ),
8411 'detach_known/1_1_$special_nonvar/1___1'(Q, B)
8412 )
8413 ),
8414 'known/1_1_$special_fail/0'.
8415'known/1_1_$special_nonvar/1___1__0'(A, B) :-
8416 ( 'chr newvia_1'(A, C)
8417 -> get_attr(C, guard_entailment, D),
8418 D=v(_, _, _, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
8419 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8420 E)
8421 ),
8422 member(F, E),
8423 F=suspension(_, active, _, _, G),
8424 G==A,
8425 !,
8426 F=suspension(_, _, _, _, H),
8427 setarg(2, F, removed),
8428 term_variables(H, I),
8429 arg(4, F, J),
8430 ( var(J)
8431 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8432 K),
8433 K=[_|L],
8434 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8435 L),
8436 ( L=[M|_]
8437 -> setarg(4, M, _)
8438 ; true
8439 )
8440 ; J=[_, _|L],
8441 setarg(2, J, L),
8442 ( L=[M|_]
8443 -> setarg(4, M, J)
8444 ; true
8445 )
8446 ),
8447 'detach_known/1_1_$special_var/1___1'(I, F),
8448 ( var(B)
8449 -> true
8450 ; B=suspension(_, N, _, _, O),
8451 setarg(2, B, removed),
8452 ( N==not_stored_yet
8453 -> P=[]
8454 ; term_variables(O, P),
8455 arg(4, B, Q),
8456 ( var(Q)
8457 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8458 R),
8459 R=[_|S],
8460 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8461 S),
8462 ( S=[T|_]
8463 -> setarg(4, T, _)
8464 ; true
8465 )
8466 ; Q=[_, _|S],
8467 setarg(2, Q, S),
8468 ( S=[T|_]
8469 -> setarg(4, T, Q)
8470 ; true
8471 )
8472 ),
8473 'detach_known/1_1_$special_nonvar/1___1'(P, B)
8474 )
8475 ),
8476 'known/1_1_$special_fail/0'.
8477'known/1_1_$special_nonvar/1___1__0'(A, B) :-
8478 ( 'chr newvia_1'(A, C)
8479 -> get_attr(C, guard_entailment, D),
8480 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
8481 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8482 E)
8483 ),
8484 !,
8485 ( var(B)
8486 -> B=suspension(F, not_stored_yet, 0, _, A),
8487 'chr gen_id'(F)
8488 ; true
8489 ),
8490 'known/1_1_$special_nonvar/1___1__0__0__7'(E, A, B).
8491'known/1_1_$special_nonvar/1___1__0__0__7'([], A, B) :-
8492 'known/1_1_$special_nonvar/1___1__1'(A, B).
8493'known/1_1_$special_nonvar/1___1__0__0__7'([A|B], C, D) :-
8494 ( A=suspension(_, active, _, _, E, F),
8495 nonvar(E),
8496 E=(\+G),
8497 nonvar(G),
8498 G=nonvar(H),
8499 H==C
8500 -> A=suspension(_, _, _, _, I, J),
8501 setarg(2, A, removed),
8502 term_variables(term(I, J), K),
8503 ( arg(4, A, L),
8504 ( var(L)
8505 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8506 M),
8507 M=[_|N],
8508 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8509 N),
8510 ( N=[O|_]
8511 -> setarg(4, O, _)
8512 ; true
8513 )
8514 ; L=[_, _|N],
8515 setarg(2, L, N),
8516 ( N=[O|_]
8517 -> setarg(4, O, L)
8518 ; true
8519 )
8520 )
8521 ),
8522 'detach_known/1_1_$special_;/2___2'(K, A),
8523 arg(2, D, P),
8524 setarg(2, D, active),
8525 ( arg(3, D, Q),
8526 R is Q+1,
8527 setarg(3, D, R)
8528 ),
8529 ( P==not_stored_yet
8530 -> D=suspension(_, _, _, _, S),
8531 term_variables(S, T),
8532 'chr none_locked'(T),
8533 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8534 U),
8535 V=[D|U],
8536 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8537 V),
8538 ( U=[W|_]
8539 -> setarg(4, W, V)
8540 ; true
8541 ),
8542 'attach_known/1_1_$special_nonvar/1___1'(T, D)
8543 ; true
8544 ),
8545 known(F),
8546 ( D=suspension(_, active, R, _, _)
8547 -> setarg(2, D, inactive),
8548 'known/1_1_$special_nonvar/1___1__0__0__7'(B, C, D)
8549 ; true
8550 )
8551 ; 'known/1_1_$special_nonvar/1___1__0__0__7'(B, C, D)
8552 ).
8553'known/1_1_$special_nonvar/1___1__0'(A, B) :-
8554 ( var(B)
8555 -> B=suspension(C, not_stored_yet, 0, _, A),
8556 'chr gen_id'(C)
8557 ; true
8558 ),
8559 'known/1_1_$special_nonvar/1___1__1'(A, B).
8560'known/1_1_$special_nonvar/1___1__1'(A, B) :-
8561 ( 'chr newvia_1'(A, C)
8562 -> get_attr(C, guard_entailment, D),
8563 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
8564 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8565 E)
8566 ),
8567 !,
8568 'known/1_1_$special_nonvar/1___1__1__0__8'(E, A, B).
8569'known/1_1_$special_nonvar/1___1__1__0__8'([], A, B) :-
8570 'known/1_1_$special_nonvar/1___1__2'(A, B).
8571'known/1_1_$special_nonvar/1___1__1__0__8'([A|B], C, D) :-
8572 ( A=suspension(_, active, _, _, E, F),
8573 nonvar(E),
8574 E=(G, _),
8575 nonvar(G),
8576 G=(\+H),
8577 nonvar(H),
8578 H=nonvar(I),
8579 I==C
8580 -> A=suspension(_, _, _, _, J, K),
8581 setarg(2, A, removed),
8582 term_variables(term(J, K), L),
8583 ( arg(4, A, M),
8584 ( var(M)
8585 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8586 N),
8587 N=[_|O],
8588 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8589 O),
8590 ( O=[P|_]
8591 -> setarg(4, P, _)
8592 ; true
8593 )
8594 ; M=[_, _|O],
8595 setarg(2, M, O),
8596 ( O=[P|_]
8597 -> setarg(4, P, M)
8598 ; true
8599 )
8600 )
8601 ),
8602 'detach_known/1_1_$special_;/2___2'(L, A),
8603 arg(2, D, Q),
8604 setarg(2, D, active),
8605 ( arg(3, D, R),
8606 S is R+1,
8607 setarg(3, D, S)
8608 ),
8609 ( Q==not_stored_yet
8610 -> D=suspension(_, _, _, _, T),
8611 term_variables(T, U),
8612 'chr none_locked'(U),
8613 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8614 V),
8615 W=[D|V],
8616 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8617 W),
8618 ( V=[X|_]
8619 -> setarg(4, X, W)
8620 ; true
8621 ),
8622 'attach_known/1_1_$special_nonvar/1___1'(U, D)
8623 ; true
8624 ),
8625 known(F),
8626 ( D=suspension(_, active, S, _, _)
8627 -> setarg(2, D, inactive),
8628 'known/1_1_$special_nonvar/1___1__1__0__8'(B, C, D)
8629 ; true
8630 )
8631 ; 'known/1_1_$special_nonvar/1___1__1__0__8'(B, C, D)
8632 ).
8633'known/1_1_$special_nonvar/1___1__1'(A, B) :-
8634 'known/1_1_$special_nonvar/1___1__2'(A, B).
8635'known/1_1_$special_nonvar/1___1__2'(_, A) :-
8636 arg(2, A, B),
8637 setarg(2, A, active),
8638 arg(3, A, C),
8639 D is C+1,
8640 setarg(3, A, D),
8641 ( B==not_stored_yet
8642 -> A=suspension(_, _, _, _, E),
8643 term_variables(E, F),
8644 'chr none_locked'(F),
8645 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8646 G),
8647 H=[A|G],
8648 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8649 H),
8650 ( G=[I|_]
8651 -> setarg(4, I, H)
8652 ; true
8653 ),
8654 'attach_known/1_1_$special_nonvar/1___1'(F, A)
8655 ; true
8656 ).
8657'known/1_1_$special_var/1'(A) :-
8658 'known/1_1_$special_var/1___1__0'(A, _).
8659'known/1_1_$special_var/1___1__0'(A, B) :-
8660 ( 'chr newvia_1'(A, C)
8661 -> get_attr(C, guard_entailment, D),
8662 D=v(_, _, _, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
8663 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8664 E)
8665 ),
8666 member(F, E),
8667 F=suspension(_, active, _, _, G),
8668 G==A,
8669 !,
8670 ( var(B)
8671 -> true
8672 ; B=suspension(_, H, _, _, I),
8673 setarg(2, B, removed),
8674 ( H==not_stored_yet
8675 -> J=[]
8676 ; term_variables(I, J),
8677 arg(4, B, K),
8678 ( var(K)
8679 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8680 L),
8681 L=[_|M],
8682 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8683 M),
8684 ( M=[N|_]
8685 -> setarg(4, N, _)
8686 ; true
8687 )
8688 ; K=[_, _|M],
8689 setarg(2, K, M),
8690 ( M=[N|_]
8691 -> setarg(4, N, K)
8692 ; true
8693 )
8694 ),
8695 'detach_known/1_1_$special_var/1___1'(J, B)
8696 )
8697 ).
8698'known/1_1_$special_var/1___1__0'(_, A) :-
8699 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
8700 B),
8701 member(C, B),
8702 C=suspension(_, active, _),
8703 !,
8704 ( var(A)
8705 -> true
8706 ; A=suspension(_, D, _, _, E),
8707 setarg(2, A, removed),
8708 ( D==not_stored_yet
8709 -> F=[]
8710 ; term_variables(E, F),
8711 arg(4, A, G),
8712 ( var(G)
8713 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8714 H),
8715 H=[_|I],
8716 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8717 I),
8718 ( I=[J|_]
8719 -> setarg(4, J, _)
8720 ; true
8721 )
8722 ; G=[_, _|I],
8723 setarg(2, G, I),
8724 ( I=[J|_]
8725 -> setarg(4, J, G)
8726 ; true
8727 )
8728 ),
8729 'detach_known/1_1_$special_var/1___1'(F, A)
8730 )
8731 ).
8732'known/1_1_$special_var/1___1__0'(A, B) :-
8733 ( 'chr newvia_1'(A, C)
8734 -> get_attr(C, guard_entailment, D),
8735 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
8736 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
8737 E)
8738 ),
8739 member(F, E),
8740 F=suspension(_, active, _, _, G),
8741 nonvar(G),
8742 G=var(H),
8743 H==A,
8744 !,
8745 F=suspension(_, _, _, _, I),
8746 setarg(2, F, removed),
8747 term_variables(I, J),
8748 arg(4, F, K),
8749 ( var(K)
8750 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
8751 L),
8752 L=[_|M],
8753 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
8754 M),
8755 ( M=[N|_]
8756 -> setarg(4, N, _)
8757 ; true
8758 )
8759 ; K=[_, _|M],
8760 setarg(2, K, M),
8761 ( M=[N|_]
8762 -> setarg(4, N, K)
8763 ; true
8764 )
8765 ),
8766 'detach_known/1_1_$special_\\+/1___1'(J, F),
8767 ( var(B)
8768 -> true
8769 ; B=suspension(_, O, _, _, P),
8770 setarg(2, B, removed),
8771 ( O==not_stored_yet
8772 -> Q=[]
8773 ; term_variables(P, Q),
8774 arg(4, B, R),
8775 ( var(R)
8776 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8777 S),
8778 S=[_|T],
8779 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8780 T),
8781 ( T=[U|_]
8782 -> setarg(4, U, _)
8783 ; true
8784 )
8785 ; R=[_, _|T],
8786 setarg(2, R, T),
8787 ( T=[U|_]
8788 -> setarg(4, U, R)
8789 ; true
8790 )
8791 ),
8792 'detach_known/1_1_$special_var/1___1'(Q, B)
8793 )
8794 ),
8795 'known/1_1_$special_fail/0'.
8796'known/1_1_$special_var/1___1__0'(A, B) :-
8797 ( 'chr newvia_1'(A, C)
8798 -> get_attr(C, guard_entailment, D),
8799 D=v(_, _, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
8800 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8801 E)
8802 ),
8803 member(F, E),
8804 F=suspension(_, active, _, _, G),
8805 G==A,
8806 !,
8807 F=suspension(_, _, _, _, H),
8808 setarg(2, F, removed),
8809 term_variables(H, I),
8810 arg(4, F, J),
8811 ( var(J)
8812 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8813 K),
8814 K=[_|L],
8815 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8816 L),
8817 ( L=[M|_]
8818 -> setarg(4, M, _)
8819 ; true
8820 )
8821 ; J=[_, _|L],
8822 setarg(2, J, L),
8823 ( L=[M|_]
8824 -> setarg(4, M, J)
8825 ; true
8826 )
8827 ),
8828 'detach_known/1_1_$special_nonvar/1___1'(I, F),
8829 ( var(B)
8830 -> true
8831 ; B=suspension(_, N, _, _, O),
8832 setarg(2, B, removed),
8833 ( N==not_stored_yet
8834 -> P=[]
8835 ; term_variables(O, P),
8836 arg(4, B, Q),
8837 ( var(Q)
8838 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8839 R),
8840 R=[_|S],
8841 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8842 S),
8843 ( S=[T|_]
8844 -> setarg(4, T, _)
8845 ; true
8846 )
8847 ; Q=[_, _|S],
8848 setarg(2, Q, S),
8849 ( S=[T|_]
8850 -> setarg(4, T, Q)
8851 ; true
8852 )
8853 ),
8854 'detach_known/1_1_$special_var/1___1'(P, B)
8855 )
8856 ),
8857 'known/1_1_$special_fail/0'.
8858'known/1_1_$special_var/1___1__0'(A, B) :-
8859 ( 'chr newvia_1'(A, C)
8860 -> get_attr(C, guard_entailment, D),
8861 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
8862 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8863 E)
8864 ),
8865 !,
8866 ( var(B)
8867 -> B=suspension(F, not_stored_yet, 0, _, A),
8868 'chr gen_id'(F)
8869 ; true
8870 ),
8871 'known/1_1_$special_var/1___1__0__0__7'(E, A, B).
8872'known/1_1_$special_var/1___1__0__0__7'([], A, B) :-
8873 'known/1_1_$special_var/1___1__1'(A, B).
8874'known/1_1_$special_var/1___1__0__0__7'([A|B], C, D) :-
8875 ( A=suspension(_, active, _, _, E, F),
8876 nonvar(E),
8877 E=(\+G),
8878 nonvar(G),
8879 G=var(H),
8880 H==C
8881 -> A=suspension(_, _, _, _, I, J),
8882 setarg(2, A, removed),
8883 term_variables(term(I, J), K),
8884 ( arg(4, A, L),
8885 ( var(L)
8886 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8887 M),
8888 M=[_|N],
8889 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8890 N),
8891 ( N=[O|_]
8892 -> setarg(4, O, _)
8893 ; true
8894 )
8895 ; L=[_, _|N],
8896 setarg(2, L, N),
8897 ( N=[O|_]
8898 -> setarg(4, O, L)
8899 ; true
8900 )
8901 )
8902 ),
8903 'detach_known/1_1_$special_;/2___2'(K, A),
8904 arg(2, D, P),
8905 setarg(2, D, active),
8906 ( arg(3, D, Q),
8907 R is Q+1,
8908 setarg(3, D, R)
8909 ),
8910 ( P==not_stored_yet
8911 -> D=suspension(_, _, _, _, S),
8912 term_variables(S, T),
8913 'chr none_locked'(T),
8914 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8915 U),
8916 V=[D|U],
8917 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8918 V),
8919 ( U=[W|_]
8920 -> setarg(4, W, V)
8921 ; true
8922 ),
8923 'attach_known/1_1_$special_var/1___1'(T, D)
8924 ; true
8925 ),
8926 known(F),
8927 ( D=suspension(_, active, R, _, _)
8928 -> setarg(2, D, inactive),
8929 'known/1_1_$special_var/1___1__0__0__7'(B, C, D)
8930 ; true
8931 )
8932 ; 'known/1_1_$special_var/1___1__0__0__7'(B, C, D)
8933 ).
8934'known/1_1_$special_var/1___1__0'(A, B) :-
8935 ( var(B)
8936 -> B=suspension(C, not_stored_yet, 0, _, A),
8937 'chr gen_id'(C)
8938 ; true
8939 ),
8940 'known/1_1_$special_var/1___1__1'(A, B).
8941'known/1_1_$special_var/1___1__1'(A, B) :-
8942 ( 'chr newvia_1'(A, C)
8943 -> get_attr(C, guard_entailment, D),
8944 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
8945 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8946 E)
8947 ),
8948 !,
8949 'known/1_1_$special_var/1___1__1__0__8'(E, A, B).
8950'known/1_1_$special_var/1___1__1__0__8'([], A, B) :-
8951 'known/1_1_$special_var/1___1__2'(A, B).
8952'known/1_1_$special_var/1___1__1__0__8'([A|B], C, D) :-
8953 ( A=suspension(_, active, _, _, E, F),
8954 nonvar(E),
8955 E=(G, _),
8956 nonvar(G),
8957 G=(\+H),
8958 nonvar(H),
8959 H=var(I),
8960 I==C
8961 -> A=suspension(_, _, _, _, J, K),
8962 setarg(2, A, removed),
8963 term_variables(term(J, K), L),
8964 ( arg(4, A, M),
8965 ( var(M)
8966 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8967 N),
8968 N=[_|O],
8969 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8970 O),
8971 ( O=[P|_]
8972 -> setarg(4, P, _)
8973 ; true
8974 )
8975 ; M=[_, _|O],
8976 setarg(2, M, O),
8977 ( O=[P|_]
8978 -> setarg(4, P, M)
8979 ; true
8980 )
8981 )
8982 ),
8983 'detach_known/1_1_$special_;/2___2'(L, A),
8984 arg(2, D, Q),
8985 setarg(2, D, active),
8986 ( arg(3, D, R),
8987 S is R+1,
8988 setarg(3, D, S)
8989 ),
8990 ( Q==not_stored_yet
8991 -> D=suspension(_, _, _, _, T),
8992 term_variables(T, U),
8993 'chr none_locked'(U),
8994 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8995 V),
8996 W=[D|V],
8997 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8998 W),
8999 ( V=[X|_]
9000 -> setarg(4, X, W)
9001 ; true
9002 ),
9003 'attach_known/1_1_$special_var/1___1'(U, D)
9004 ; true
9005 ),
9006 known(F),
9007 ( D=suspension(_, active, S, _, _)
9008 -> setarg(2, D, inactive),
9009 'known/1_1_$special_var/1___1__1__0__8'(B, C, D)
9010 ; true
9011 )
9012 ; 'known/1_1_$special_var/1___1__1__0__8'(B, C, D)
9013 ).
9014'known/1_1_$special_var/1___1__1'(A, B) :-
9015 'known/1_1_$special_var/1___1__2'(A, B).
9016'known/1_1_$special_var/1___1__2'(_, A) :-
9017 arg(2, A, B),
9018 setarg(2, A, active),
9019 arg(3, A, C),
9020 D is C+1,
9021 setarg(3, A, D),
9022 ( B==not_stored_yet
9023 -> A=suspension(_, _, _, _, E),
9024 term_variables(E, F),
9025 'chr none_locked'(F),
9026 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
9027 G),
9028 H=[A|G],
9029 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
9030 H),
9031 ( G=[I|_]
9032 -> setarg(4, I, H)
9033 ; true
9034 ),
9035 'attach_known/1_1_$special_var/1___1'(F, A)
9036 ; true
9037 ).
9038'known/1_1_$special_atom/1'(A) :-
9039 'known/1_1_$special_atom/1___1__0'(A, _).
9040'known/1_1_$special_atom/1___1__0'(A, B) :-
9041 ( 'chr newvia_1'(A, C)
9042 -> get_attr(C, guard_entailment, D),
9043 D=v(_, _, _, _, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9044 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9045 E)
9046 ),
9047 member(F, E),
9048 F=suspension(_, active, _, _, _, G),
9049 G==A,
9050 !,
9051 ( var(B)
9052 -> true
9053 ; B=suspension(_, H, _, _, _, I),
9054 setarg(2, B, removed),
9055 ( H==not_stored_yet
9056 -> J=[]
9057 ; term_variables(I, J),
9058 arg(5, B, K),
9059 ( var(K)
9060 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9061 L),
9062 L=[_|M],
9063 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9064 M),
9065 ( M=[N|_]
9066 -> setarg(5, N, _)
9067 ; true
9068 )
9069 ; K=[_, _|M],
9070 setarg(2, K, M),
9071 ( M=[N|_]
9072 -> setarg(5, N, K)
9073 ; true
9074 )
9075 ),
9076 'detach_known/1_1_$special_atom/1___1'(J, B)
9077 )
9078 ).
9079'known/1_1_$special_atom/1___1__0'(_, A) :-
9080 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
9081 B),
9082 member(C, B),
9083 C=suspension(_, active, _),
9084 !,
9085 ( var(A)
9086 -> true
9087 ; A=suspension(_, D, _, _, _, E),
9088 setarg(2, A, removed),
9089 ( D==not_stored_yet
9090 -> F=[]
9091 ; term_variables(E, F),
9092 arg(5, A, G),
9093 ( var(G)
9094 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9095 H),
9096 H=[_|I],
9097 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9098 I),
9099 ( I=[J|_]
9100 -> setarg(5, J, _)
9101 ; true
9102 )
9103 ; G=[_, _|I],
9104 setarg(2, G, I),
9105 ( I=[J|_]
9106 -> setarg(5, J, G)
9107 ; true
9108 )
9109 ),
9110 'detach_known/1_1_$special_atom/1___1'(F, A)
9111 )
9112 ).
9113'known/1_1_$special_atom/1___1__0'(A, B) :-
9114 ( 'chr newvia_1'(A, C)
9115 -> get_attr(C, guard_entailment, D),
9116 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
9117 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9118 E)
9119 ),
9120 member(F, E),
9121 F=suspension(_, active, _, _, G),
9122 nonvar(G),
9123 G=atom(H),
9124 H==A,
9125 !,
9126 F=suspension(_, _, _, _, I),
9127 setarg(2, F, removed),
9128 term_variables(I, J),
9129 arg(4, F, K),
9130 ( var(K)
9131 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9132 L),
9133 L=[_|M],
9134 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9135 M),
9136 ( M=[N|_]
9137 -> setarg(4, N, _)
9138 ; true
9139 )
9140 ; K=[_, _|M],
9141 setarg(2, K, M),
9142 ( M=[N|_]
9143 -> setarg(4, N, K)
9144 ; true
9145 )
9146 ),
9147 'detach_known/1_1_$special_\\+/1___1'(J, F),
9148 ( var(B)
9149 -> true
9150 ; B=suspension(_, O, _, _, _, P),
9151 setarg(2, B, removed),
9152 ( O==not_stored_yet
9153 -> Q=[]
9154 ; term_variables(P, Q),
9155 arg(5, B, R),
9156 ( var(R)
9157 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9158 S),
9159 S=[_|T],
9160 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9161 T),
9162 ( T=[U|_]
9163 -> setarg(5, U, _)
9164 ; true
9165 )
9166 ; R=[_, _|T],
9167 setarg(2, R, T),
9168 ( T=[U|_]
9169 -> setarg(5, U, R)
9170 ; true
9171 )
9172 ),
9173 'detach_known/1_1_$special_atom/1___1'(Q, B)
9174 )
9175 ),
9176 'known/1_1_$special_fail/0'.
9177'known/1_1_$special_atom/1___1__0'(A, B) :-
9178 ( var(B)
9179 -> B=suspension(C, not_stored_yet, t, 0, _, A),
9180 'chr gen_id'(C)
9181 ; true
9182 ),
9183 ( '$novel_production'(B, 239),
9184 !,
9185 '$extend_history'(B, 239),
9186 arg(2, B, D),
9187 setarg(2, B, active),
9188 arg(4, B, E),
9189 F is E+1,
9190 setarg(4, B, F),
9191 ( D==not_stored_yet
9192 -> B=suspension(_, _, _, _, _, G),
9193 term_variables(G, H),
9194 'chr none_locked'(H),
9195 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9196 I),
9197 J=[B|I],
9198 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9199 J),
9200 ( I=[K|_]
9201 -> setarg(5, K, J)
9202 ; true
9203 ),
9204 'attach_known/1_1_$special_atom/1___1'(H, B)
9205 ; true
9206 ),
9207 'known/1_1_$special_nonvar/1'(A),
9208 ( B=suspension(_, active, _, F, _, _)
9209 -> setarg(2, B, inactive),
9210 'known/1_1_$special_atom/1___1__1'(A, B)
9211 ; true
9212 )
9213 ; 'known/1_1_$special_atom/1___1__1'(A, B)
9214 ).
9215'known/1_1_$special_atom/1___1__1'(A, B) :-
9216 ( 'chr newvia_1'(A, C)
9217 -> get_attr(C, guard_entailment, D),
9218 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9219 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9220 E)
9221 ),
9222 !,
9223 'known/1_1_$special_atom/1___1__1__0__7'(E, A, B).
9224'known/1_1_$special_atom/1___1__1__0__7'([], A, B) :-
9225 'known/1_1_$special_atom/1___1__2'(A, B).
9226'known/1_1_$special_atom/1___1__1__0__7'([A|B], C, D) :-
9227 ( A=suspension(_, active, _, _, E, F),
9228 nonvar(E),
9229 E=(\+G),
9230 nonvar(G),
9231 G=atom(H),
9232 H==C
9233 -> A=suspension(_, _, _, _, I, J),
9234 setarg(2, A, removed),
9235 term_variables(term(I, J), K),
9236 ( arg(4, A, L),
9237 ( var(L)
9238 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9239 M),
9240 M=[_|N],
9241 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9242 N),
9243 ( N=[O|_]
9244 -> setarg(4, O, _)
9245 ; true
9246 )
9247 ; L=[_, _|N],
9248 setarg(2, L, N),
9249 ( N=[O|_]
9250 -> setarg(4, O, L)
9251 ; true
9252 )
9253 )
9254 ),
9255 'detach_known/1_1_$special_;/2___2'(K, A),
9256 arg(2, D, P),
9257 setarg(2, D, active),
9258 ( arg(4, D, Q),
9259 R is Q+1,
9260 setarg(4, D, R)
9261 ),
9262 ( P==not_stored_yet
9263 -> D=suspension(_, _, _, _, _, S),
9264 term_variables(S, T),
9265 'chr none_locked'(T),
9266 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9267 U),
9268 V=[D|U],
9269 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9270 V),
9271 ( U=[W|_]
9272 -> setarg(5, W, V)
9273 ; true
9274 ),
9275 'attach_known/1_1_$special_atom/1___1'(T, D)
9276 ; true
9277 ),
9278 known(F),
9279 ( D=suspension(_, active, _, R, _, _)
9280 -> setarg(2, D, inactive),
9281 'known/1_1_$special_atom/1___1__1__0__7'(B, C, D)
9282 ; true
9283 )
9284 ; 'known/1_1_$special_atom/1___1__1__0__7'(B, C, D)
9285 ).
9286'known/1_1_$special_atom/1___1__1'(A, B) :-
9287 'known/1_1_$special_atom/1___1__2'(A, B).
9288'known/1_1_$special_atom/1___1__2'(A, B) :-
9289 ( 'chr newvia_1'(A, C)
9290 -> get_attr(C, guard_entailment, D),
9291 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9292 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9293 E)
9294 ),
9295 !,
9296 'known/1_1_$special_atom/1___1__2__0__8'(E, A, B).
9297'known/1_1_$special_atom/1___1__2__0__8'([], A, B) :-
9298 'known/1_1_$special_atom/1___1__3'(A, B).
9299'known/1_1_$special_atom/1___1__2__0__8'([A|B], C, D) :-
9300 ( A=suspension(_, active, _, _, E, F),
9301 nonvar(E),
9302 E=(G, _),
9303 nonvar(G),
9304 G=(\+H),
9305 nonvar(H),
9306 H=atom(I),
9307 I==C
9308 -> A=suspension(_, _, _, _, J, K),
9309 setarg(2, A, removed),
9310 term_variables(term(J, K), L),
9311 ( arg(4, A, M),
9312 ( var(M)
9313 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9314 N),
9315 N=[_|O],
9316 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9317 O),
9318 ( O=[P|_]
9319 -> setarg(4, P, _)
9320 ; true
9321 )
9322 ; M=[_, _|O],
9323 setarg(2, M, O),
9324 ( O=[P|_]
9325 -> setarg(4, P, M)
9326 ; true
9327 )
9328 )
9329 ),
9330 'detach_known/1_1_$special_;/2___2'(L, A),
9331 arg(2, D, Q),
9332 setarg(2, D, active),
9333 ( arg(4, D, R),
9334 S is R+1,
9335 setarg(4, D, S)
9336 ),
9337 ( Q==not_stored_yet
9338 -> D=suspension(_, _, _, _, _, T),
9339 term_variables(T, U),
9340 'chr none_locked'(U),
9341 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9342 V),
9343 W=[D|V],
9344 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9345 W),
9346 ( V=[X|_]
9347 -> setarg(5, X, W)
9348 ; true
9349 ),
9350 'attach_known/1_1_$special_atom/1___1'(U, D)
9351 ; true
9352 ),
9353 known(F),
9354 ( D=suspension(_, active, _, S, _, _)
9355 -> setarg(2, D, inactive),
9356 'known/1_1_$special_atom/1___1__2__0__8'(B, C, D)
9357 ; true
9358 )
9359 ; 'known/1_1_$special_atom/1___1__2__0__8'(B, C, D)
9360 ).
9361'known/1_1_$special_atom/1___1__2'(A, B) :-
9362 'known/1_1_$special_atom/1___1__3'(A, B).
9363'known/1_1_$special_atom/1___1__3'(_, A) :-
9364 arg(2, A, B),
9365 setarg(2, A, active),
9366 arg(4, A, C),
9367 D is C+1,
9368 setarg(4, A, D),
9369 ( B==not_stored_yet
9370 -> A=suspension(_, _, _, _, _, E),
9371 term_variables(E, F),
9372 'chr none_locked'(F),
9373 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9374 G),
9375 H=[A|G],
9376 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9377 H),
9378 ( G=[I|_]
9379 -> setarg(5, I, H)
9380 ; true
9381 ),
9382 'attach_known/1_1_$special_atom/1___1'(F, A)
9383 ; true
9384 ).
9385'known/1_1_$special_atomic/1'(A) :-
9386 'known/1_1_$special_atomic/1___1__0'(A, _).
9387'known/1_1_$special_atomic/1___1__0'(A, B) :-
9388 ( 'chr newvia_1'(A, C)
9389 -> get_attr(C, guard_entailment, D),
9390 D=v(_, _, _, _, _, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9391 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9392 E)
9393 ),
9394 member(F, E),
9395 F=suspension(_, active, _, _, _, G),
9396 G==A,
9397 !,
9398 ( var(B)
9399 -> true
9400 ; B=suspension(_, H, _, _, _, I),
9401 setarg(2, B, removed),
9402 ( H==not_stored_yet
9403 -> J=[]
9404 ; term_variables(I, J),
9405 arg(5, B, K),
9406 ( var(K)
9407 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9408 L),
9409 L=[_|M],
9410 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9411 M),
9412 ( M=[N|_]
9413 -> setarg(5, N, _)
9414 ; true
9415 )
9416 ; K=[_, _|M],
9417 setarg(2, K, M),
9418 ( M=[N|_]
9419 -> setarg(5, N, K)
9420 ; true
9421 )
9422 ),
9423 'detach_known/1_1_$special_atomic/1___1'(J, B)
9424 )
9425 ).
9426'known/1_1_$special_atomic/1___1__0'(_, A) :-
9427 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
9428 B),
9429 member(C, B),
9430 C=suspension(_, active, _),
9431 !,
9432 ( var(A)
9433 -> true
9434 ; A=suspension(_, D, _, _, _, E),
9435 setarg(2, A, removed),
9436 ( D==not_stored_yet
9437 -> F=[]
9438 ; term_variables(E, F),
9439 arg(5, A, G),
9440 ( var(G)
9441 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9442 H),
9443 H=[_|I],
9444 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9445 I),
9446 ( I=[J|_]
9447 -> setarg(5, J, _)
9448 ; true
9449 )
9450 ; G=[_, _|I],
9451 setarg(2, G, I),
9452 ( I=[J|_]
9453 -> setarg(5, J, G)
9454 ; true
9455 )
9456 ),
9457 'detach_known/1_1_$special_atomic/1___1'(F, A)
9458 )
9459 ).
9460'known/1_1_$special_atomic/1___1__0'(A, B) :-
9461 ( 'chr newvia_1'(A, C)
9462 -> get_attr(C, guard_entailment, D),
9463 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
9464 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9465 E)
9466 ),
9467 member(F, E),
9468 F=suspension(_, active, _, _, G),
9469 nonvar(G),
9470 G=atomic(H),
9471 H==A,
9472 !,
9473 F=suspension(_, _, _, _, I),
9474 setarg(2, F, removed),
9475 term_variables(I, J),
9476 arg(4, F, K),
9477 ( var(K)
9478 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9479 L),
9480 L=[_|M],
9481 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9482 M),
9483 ( M=[N|_]
9484 -> setarg(4, N, _)
9485 ; true
9486 )
9487 ; K=[_, _|M],
9488 setarg(2, K, M),
9489 ( M=[N|_]
9490 -> setarg(4, N, K)
9491 ; true
9492 )
9493 ),
9494 'detach_known/1_1_$special_\\+/1___1'(J, F),
9495 ( var(B)
9496 -> true
9497 ; B=suspension(_, O, _, _, _, P),
9498 setarg(2, B, removed),
9499 ( O==not_stored_yet
9500 -> Q=[]
9501 ; term_variables(P, Q),
9502 arg(5, B, R),
9503 ( var(R)
9504 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9505 S),
9506 S=[_|T],
9507 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9508 T),
9509 ( T=[U|_]
9510 -> setarg(5, U, _)
9511 ; true
9512 )
9513 ; R=[_, _|T],
9514 setarg(2, R, T),
9515 ( T=[U|_]
9516 -> setarg(5, U, R)
9517 ; true
9518 )
9519 ),
9520 'detach_known/1_1_$special_atomic/1___1'(Q, B)
9521 )
9522 ),
9523 'known/1_1_$special_fail/0'.
9524'known/1_1_$special_atomic/1___1__0'(A, B) :-
9525 ( var(B)
9526 -> B=suspension(C, not_stored_yet, t, 0, _, A),
9527 'chr gen_id'(C)
9528 ; true
9529 ),
9530 ( '$novel_production'(B, 237),
9531 !,
9532 '$extend_history'(B, 237),
9533 arg(2, B, D),
9534 setarg(2, B, active),
9535 arg(4, B, E),
9536 F is E+1,
9537 setarg(4, B, F),
9538 ( D==not_stored_yet
9539 -> B=suspension(_, _, _, _, _, G),
9540 term_variables(G, H),
9541 'chr none_locked'(H),
9542 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9543 I),
9544 J=[B|I],
9545 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9546 J),
9547 ( I=[K|_]
9548 -> setarg(5, K, J)
9549 ; true
9550 ),
9551 'attach_known/1_1_$special_atomic/1___1'(H, B)
9552 ; true
9553 ),
9554 'known/1_1_$special_nonvar/1'(A),
9555 ( B=suspension(_, active, _, F, _, _)
9556 -> setarg(2, B, inactive),
9557 'known/1_1_$special_atomic/1___1__1'(A, B)
9558 ; true
9559 )
9560 ; 'known/1_1_$special_atomic/1___1__1'(A, B)
9561 ).
9562'known/1_1_$special_atomic/1___1__1'(A, B) :-
9563 ( 'chr newvia_1'(A, C)
9564 -> get_attr(C, guard_entailment, D),
9565 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9566 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9567 E)
9568 ),
9569 !,
9570 'known/1_1_$special_atomic/1___1__1__0__7'(E, A, B).
9571'known/1_1_$special_atomic/1___1__1__0__7'([], A, B) :-
9572 'known/1_1_$special_atomic/1___1__2'(A, B).
9573'known/1_1_$special_atomic/1___1__1__0__7'([A|B], C, D) :-
9574 ( A=suspension(_, active, _, _, E, F),
9575 nonvar(E),
9576 E=(\+G),
9577 nonvar(G),
9578 G=atomic(H),
9579 H==C
9580 -> A=suspension(_, _, _, _, I, J),
9581 setarg(2, A, removed),
9582 term_variables(term(I, J), K),
9583 ( arg(4, A, L),
9584 ( var(L)
9585 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9586 M),
9587 M=[_|N],
9588 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9589 N),
9590 ( N=[O|_]
9591 -> setarg(4, O, _)
9592 ; true
9593 )
9594 ; L=[_, _|N],
9595 setarg(2, L, N),
9596 ( N=[O|_]
9597 -> setarg(4, O, L)
9598 ; true
9599 )
9600 )
9601 ),
9602 'detach_known/1_1_$special_;/2___2'(K, A),
9603 arg(2, D, P),
9604 setarg(2, D, active),
9605 ( arg(4, D, Q),
9606 R is Q+1,
9607 setarg(4, D, R)
9608 ),
9609 ( P==not_stored_yet
9610 -> D=suspension(_, _, _, _, _, S),
9611 term_variables(S, T),
9612 'chr none_locked'(T),
9613 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9614 U),
9615 V=[D|U],
9616 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9617 V),
9618 ( U=[W|_]
9619 -> setarg(5, W, V)
9620 ; true
9621 ),
9622 'attach_known/1_1_$special_atomic/1___1'(T, D)
9623 ; true
9624 ),
9625 known(F),
9626 ( D=suspension(_, active, _, R, _, _)
9627 -> setarg(2, D, inactive),
9628 'known/1_1_$special_atomic/1___1__1__0__7'(B, C, D)
9629 ; true
9630 )
9631 ; 'known/1_1_$special_atomic/1___1__1__0__7'(B, C, D)
9632 ).
9633'known/1_1_$special_atomic/1___1__1'(A, B) :-
9634 'known/1_1_$special_atomic/1___1__2'(A, B).
9635'known/1_1_$special_atomic/1___1__2'(A, B) :-
9636 ( 'chr newvia_1'(A, C)
9637 -> get_attr(C, guard_entailment, D),
9638 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9639 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9640 E)
9641 ),
9642 !,
9643 'known/1_1_$special_atomic/1___1__2__0__8'(E, A, B).
9644'known/1_1_$special_atomic/1___1__2__0__8'([], A, B) :-
9645 'known/1_1_$special_atomic/1___1__3'(A, B).
9646'known/1_1_$special_atomic/1___1__2__0__8'([A|B], C, D) :-
9647 ( A=suspension(_, active, _, _, E, F),
9648 nonvar(E),
9649 E=(G, _),
9650 nonvar(G),
9651 G=(\+H),
9652 nonvar(H),
9653 H=atomic(I),
9654 I==C
9655 -> A=suspension(_, _, _, _, J, K),
9656 setarg(2, A, removed),
9657 term_variables(term(J, K), L),
9658 ( arg(4, A, M),
9659 ( var(M)
9660 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9661 N),
9662 N=[_|O],
9663 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9664 O),
9665 ( O=[P|_]
9666 -> setarg(4, P, _)
9667 ; true
9668 )
9669 ; M=[_, _|O],
9670 setarg(2, M, O),
9671 ( O=[P|_]
9672 -> setarg(4, P, M)
9673 ; true
9674 )
9675 )
9676 ),
9677 'detach_known/1_1_$special_;/2___2'(L, A),
9678 arg(2, D, Q),
9679 setarg(2, D, active),
9680 ( arg(4, D, R),
9681 S is R+1,
9682 setarg(4, D, S)
9683 ),
9684 ( Q==not_stored_yet
9685 -> D=suspension(_, _, _, _, _, T),
9686 term_variables(T, U),
9687 'chr none_locked'(U),
9688 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9689 V),
9690 W=[D|V],
9691 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9692 W),
9693 ( V=[X|_]
9694 -> setarg(5, X, W)
9695 ; true
9696 ),
9697 'attach_known/1_1_$special_atomic/1___1'(U, D)
9698 ; true
9699 ),
9700 known(F),
9701 ( D=suspension(_, active, _, S, _, _)
9702 -> setarg(2, D, inactive),
9703 'known/1_1_$special_atomic/1___1__2__0__8'(B, C, D)
9704 ; true
9705 )
9706 ; 'known/1_1_$special_atomic/1___1__2__0__8'(B, C, D)
9707 ).
9708'known/1_1_$special_atomic/1___1__2'(A, B) :-
9709 'known/1_1_$special_atomic/1___1__3'(A, B).
9710'known/1_1_$special_atomic/1___1__3'(_, A) :-
9711 arg(2, A, B),
9712 setarg(2, A, active),
9713 arg(4, A, C),
9714 D is C+1,
9715 setarg(4, A, D),
9716 ( B==not_stored_yet
9717 -> A=suspension(_, _, _, _, _, E),
9718 term_variables(E, F),
9719 'chr none_locked'(F),
9720 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9721 G),
9722 H=[A|G],
9723 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9724 H),
9725 ( G=[I|_]
9726 -> setarg(5, I, H)
9727 ; true
9728 ),
9729 'attach_known/1_1_$special_atomic/1___1'(F, A)
9730 ; true
9731 ).
9732'known/1_1_$special_compound/1'(A) :-
9733 'known/1_1_$special_compound/1___1__0'(A, _).
9734'known/1_1_$special_compound/1___1__0'(A, B) :-
9735 ( 'chr newvia_1'(A, C)
9736 -> get_attr(C, guard_entailment, D),
9737 D=v(_, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _)
9738 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
9739 E)
9740 ),
9741 member(F, E),
9742 F=suspension(_, active, _, _, _, G),
9743 G==A,
9744 !,
9745 ( var(B)
9746 -> true
9747 ; B=suspension(_, H, _, _, _, I),
9748 setarg(2, B, removed),
9749 ( H==not_stored_yet
9750 -> J=[]
9751 ; term_variables(I, J),
9752 arg(5, B, K),
9753 ( var(K)
9754 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
9755 L),
9756 L=[_|M],
9757 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
9758 M),
9759 ( M=[N|_]
9760 -> setarg(5, N, _)
9761 ; true
9762 )
9763 ; K=[_, _|M],
9764 setarg(2, K, M),
9765 ( M=[N|_]
9766 -> setarg(5, N, K)
9767 ; true
9768 )
9769 ),
9770 'detach_known/1_1_$special_compound/1___1'(J, B)
9771 )
9772 ).
9773'known/1_1_$special_compound/1___1__0'(_, A) :-
9774 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
9775 B),
9776 member(C, B),
9777 C=suspension(_, active, _),
9778 !,
9779 ( var(A)
9780 -> true
9781 ; A=suspension(_, D, _, _, _, E),
9782 setarg(2, A, removed),
9783 ( D==not_stored_yet
9784 -> F=[]
9785 ; term_variables(E, F),
9786 arg(5, A, G),
9787 ( var(G)
9788 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
9789 H),
9790 H=[_|I],
9791 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
9792 I),
9793 ( I=[J|_]
9794 -> setarg(5, J, _)
9795 ; true
9796 )
9797 ; G=[_, _|I],
9798 setarg(2, G, I),
9799 ( I=[J|_]
9800 -> setarg(5, J, G)
9801 ; true
9802 )
9803 ),
9804 'detach_known/1_1_$special_compound/1___1'(F, A)
9805 )
9806 ).
9807'known/1_1_$special_compound/1___1__0'(A, B) :-
9808 ( 'chr newvia_1'(A, C)
9809 -> get_attr(C, guard_entailment, D),
9810 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
9811 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9812 E)
9813 ),
9814 member(F, E),
9815 F=suspension(_, active, _, _, G),
9816 nonvar(G),
9817 G=compound(H),
9818 H==A,
9819 !,
9820 F=suspension(_, _, _, _, I),
9821 setarg(2, F, removed),
9822 term_variables(I, J),
9823 arg(4, F, K),
9824 ( var(K)
9825 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9826 L),
9827 L=[_|M],
9828 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9829 M),
9830 ( M=[N|_]
9831 -> setarg(4, N, _)
9832 ; true
9833 )
9834 ; K=[_, _|M],
9835 setarg(2, K, M),
9836 ( M=[N|_]
9837 -> setarg(4, N, K)
9838 ; true
9839 )
9840 ),
9841 'detach_known/1_1_$special_\\+/1___1'(J, F),
9842 ( var(B)
9843 -> true
9844 ; B=suspension(_, O, _, _, _, P),
9845 setarg(2, B, removed),
9846 ( O==not_stored_yet
9847 -> Q=[]
9848 ; term_variables(P, Q),
9849 arg(5, B, R),
9850 ( var(R)
9851 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
9852 S),
9853 S=[_|T],
9854 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
9855 T),
9856 ( T=[U|_]
9857 -> setarg(5, U, _)
9858 ; true
9859 )
9860 ; R=[_, _|T],
9861 setarg(2, R, T),
9862 ( T=[U|_]
9863 -> setarg(5, U, R)
9864 ; true
9865 )
9866 ),
9867 'detach_known/1_1_$special_compound/1___1'(Q, B)
9868 )
9869 ),
9870 'known/1_1_$special_fail/0'.
9871'known/1_1_$special_compound/1___1__0'(A, B) :-
9872 ( var(B)
9873 -> B=suspension(C, not_stored_yet, t, 0, _, A),
9874 'chr gen_id'(C)
9875 ; true
9876 ),
9877 ( '$novel_production'(B, 236),
9878 !,
9879 '$extend_history'(B, 236),
9880 arg(2, B, D),
9881 setarg(2, B, active),
9882 arg(4, B, E),
9883 F is E+1,
9884 setarg(4, B, F),
9885 ( D==not_stored_yet
9886 -> B=suspension(_, _, _, _, _, G),
9887 term_variables(G, H),
9888 'chr none_locked'(H),
9889 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
9890 I),
9891 J=[B|I],
9892 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
9893 J),
9894 ( I=[K|_]
9895 -> setarg(5, K, J)
9896 ; true
9897 ),
9898 'attach_known/1_1_$special_compound/1___1'(H, B)
9899 ; true
9900 ),
9901 'known/1_1_$special_nonvar/1'(A),
9902 ( B=suspension(_, active, _, F, _, _)
9903 -> setarg(2, B, inactive),
9904 'known/1_1_$special_compound/1___1__1'(A, B)
9905 ; true
9906 )
9907 ; 'known/1_1_$special_compound/1___1__1'(A, B)
9908 ).
9909'known/1_1_$special_compound/1___1__1'(A, B) :-
9910 ( 'chr newvia_1'(A, C)
9911 -> get_attr(C, guard_entailment, D),
9912 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9913 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9914 E)
9915 ),
9916 !,
9917 'known/1_1_$special_compound/1___1__1__0__7'(E, A, B).
9918'known/1_1_$special_compound/1___1__1__0__7'([], A, B) :-
9919 'known/1_1_$special_compound/1___1__2'(A, B).
9920'known/1_1_$special_compound/1___1__1__0__7'([A|B], C, D) :-
9921 ( A=suspension(_, active, _, _, E, F),
9922 nonvar(E),
9923 E=(\+G),
9924 nonvar(G),
9925 G=compound(H),
9926 H==C
9927 -> A=suspension(_, _, _, _, I, J),
9928 setarg(2, A, removed),
9929 term_variables(term(I, J), K),
9930 ( arg(4, A, L),
9931 ( var(L)
9932 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9933 M),
9934 M=[_|N],
9935 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9936 N),
9937 ( N=[O|_]
9938 -> setarg(4, O, _)
9939 ; true
9940 )
9941 ; L=[_, _|N],
9942 setarg(2, L, N),
9943 ( N=[O|_]
9944 -> setarg(4, O, L)
9945 ; true
9946 )
9947 )
9948 ),
9949 'detach_known/1_1_$special_;/2___2'(K, A),
9950 arg(2, D, P),
9951 setarg(2, D, active),
9952 ( arg(4, D, Q),
9953 R is Q+1,
9954 setarg(4, D, R)
9955 ),
9956 ( P==not_stored_yet
9957 -> D=suspension(_, _, _, _, _, S),
9958 term_variables(S, T),
9959 'chr none_locked'(T),
9960 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
9961 U),
9962 V=[D|U],
9963 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
9964 V),
9965 ( U=[W|_]
9966 -> setarg(5, W, V)
9967 ; true
9968 ),
9969 'attach_known/1_1_$special_compound/1___1'(T, D)
9970 ; true
9971 ),
9972 known(F),
9973 ( D=suspension(_, active, _, R, _, _)
9974 -> setarg(2, D, inactive),
9975 'known/1_1_$special_compound/1___1__1__0__7'(B,
9976 C,
9977 D)
9978 ; true
9979 )
9980 ; 'known/1_1_$special_compound/1___1__1__0__7'(B, C, D)
9981 ).
9982'known/1_1_$special_compound/1___1__1'(A, B) :-
9983 'known/1_1_$special_compound/1___1__2'(A, B).
9984'known/1_1_$special_compound/1___1__2'(A, B) :-
9985 ( 'chr newvia_1'(A, C)
9986 -> get_attr(C, guard_entailment, D),
9987 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9988 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9989 E)
9990 ),
9991 !,
9992 'known/1_1_$special_compound/1___1__2__0__8'(E, A, B).
9993'known/1_1_$special_compound/1___1__2__0__8'([], A, B) :-
9994 'known/1_1_$special_compound/1___1__3'(A, B).
9995'known/1_1_$special_compound/1___1__2__0__8'([A|B], C, D) :-
9996 ( A=suspension(_, active, _, _, E, F),
9997 nonvar(E),
9998 E=(G, _),
9999 nonvar(G),
10000 G=(\+H),
10001 nonvar(H),
10002 H=compound(I),
10003 I==C
10004 -> A=suspension(_, _, _, _, J, K),
10005 setarg(2, A, removed),
10006 term_variables(term(J, K), L),
10007 ( arg(4, A, M),
10008 ( var(M)
10009 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10010 N),
10011 N=[_|O],
10012 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10013 O),
10014 ( O=[P|_]
10015 -> setarg(4, P, _)
10016 ; true
10017 )
10018 ; M=[_, _|O],
10019 setarg(2, M, O),
10020 ( O=[P|_]
10021 -> setarg(4, P, M)
10022 ; true
10023 )
10024 )
10025 ),
10026 'detach_known/1_1_$special_;/2___2'(L, A),
10027 arg(2, D, Q),
10028 setarg(2, D, active),
10029 ( arg(4, D, R),
10030 S is R+1,
10031 setarg(4, D, S)
10032 ),
10033 ( Q==not_stored_yet
10034 -> D=suspension(_, _, _, _, _, T),
10035 term_variables(T, U),
10036 'chr none_locked'(U),
10037 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10038 V),
10039 W=[D|V],
10040 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10041 W),
10042 ( V=[X|_]
10043 -> setarg(5, X, W)
10044 ; true
10045 ),
10046 'attach_known/1_1_$special_compound/1___1'(U, D)
10047 ; true
10048 ),
10049 known(F),
10050 ( D=suspension(_, active, _, S, _, _)
10051 -> setarg(2, D, inactive),
10052 'known/1_1_$special_compound/1___1__2__0__8'(B,
10053 C,
10054 D)
10055 ; true
10056 )
10057 ; 'known/1_1_$special_compound/1___1__2__0__8'(B, C, D)
10058 ).
10059'known/1_1_$special_compound/1___1__2'(A, B) :-
10060 'known/1_1_$special_compound/1___1__3'(A, B).
10061'known/1_1_$special_compound/1___1__3'(_, A) :-
10062 arg(2, A, B),
10063 setarg(2, A, active),
10064 arg(4, A, C),
10065 D is C+1,
10066 setarg(4, A, D),
10067 ( B==not_stored_yet
10068 -> A=suspension(_, _, _, _, _, E),
10069 term_variables(E, F),
10070 'chr none_locked'(F),
10071 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10072 G),
10073 H=[A|G],
10074 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10075 H),
10076 ( G=[I|_]
10077 -> setarg(5, I, H)
10078 ; true
10079 ),
10080 'attach_known/1_1_$special_compound/1___1'(F, A)
10081 ; true
10082 ).
10083'known/1_1_$special_ground/1'(A) :-
10084 'known/1_1_$special_ground/1___1__0'(A, _).
10085'known/1_1_$special_ground/1___1__0'(A, B) :-
10086 ( 'chr newvia_1'(A, C)
10087 -> get_attr(C, guard_entailment, D),
10088 D=v(_, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _)
10089 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10090 E)
10091 ),
10092 member(F, E),
10093 F=suspension(_, active, _, _, _, G),
10094 G==A,
10095 !,
10096 ( var(B)
10097 -> true
10098 ; B=suspension(_, H, _, _, _, I),
10099 setarg(2, B, removed),
10100 ( H==not_stored_yet
10101 -> J=[]
10102 ; term_variables(I, J),
10103 arg(5, B, K),
10104 ( var(K)
10105 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10106 L),
10107 L=[_|M],
10108 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10109 M),
10110 ( M=[N|_]
10111 -> setarg(5, N, _)
10112 ; true
10113 )
10114 ; K=[_, _|M],
10115 setarg(2, K, M),
10116 ( M=[N|_]
10117 -> setarg(5, N, K)
10118 ; true
10119 )
10120 ),
10121 'detach_known/1_1_$special_ground/1___1'(J, B)
10122 )
10123 ).
10124'known/1_1_$special_ground/1___1__0'(_, A) :-
10125 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
10126 B),
10127 member(C, B),
10128 C=suspension(_, active, _),
10129 !,
10130 ( var(A)
10131 -> true
10132 ; A=suspension(_, D, _, _, _, E),
10133 setarg(2, A, removed),
10134 ( D==not_stored_yet
10135 -> F=[]
10136 ; term_variables(E, F),
10137 arg(5, A, G),
10138 ( var(G)
10139 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10140 H),
10141 H=[_|I],
10142 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10143 I),
10144 ( I=[J|_]
10145 -> setarg(5, J, _)
10146 ; true
10147 )
10148 ; G=[_, _|I],
10149 setarg(2, G, I),
10150 ( I=[J|_]
10151 -> setarg(5, J, G)
10152 ; true
10153 )
10154 ),
10155 'detach_known/1_1_$special_ground/1___1'(F, A)
10156 )
10157 ).
10158'known/1_1_$special_ground/1___1__0'(A, B) :-
10159 ( 'chr newvia_1'(A, C)
10160 -> get_attr(C, guard_entailment, D),
10161 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
10162 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10163 E)
10164 ),
10165 member(F, E),
10166 F=suspension(_, active, _, _, G),
10167 nonvar(G),
10168 G=ground(H),
10169 H==A,
10170 !,
10171 F=suspension(_, _, _, _, I),
10172 setarg(2, F, removed),
10173 term_variables(I, J),
10174 arg(4, F, K),
10175 ( var(K)
10176 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10177 L),
10178 L=[_|M],
10179 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10180 M),
10181 ( M=[N|_]
10182 -> setarg(4, N, _)
10183 ; true
10184 )
10185 ; K=[_, _|M],
10186 setarg(2, K, M),
10187 ( M=[N|_]
10188 -> setarg(4, N, K)
10189 ; true
10190 )
10191 ),
10192 'detach_known/1_1_$special_\\+/1___1'(J, F),
10193 ( var(B)
10194 -> true
10195 ; B=suspension(_, O, _, _, _, P),
10196 setarg(2, B, removed),
10197 ( O==not_stored_yet
10198 -> Q=[]
10199 ; term_variables(P, Q),
10200 arg(5, B, R),
10201 ( var(R)
10202 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10203 S),
10204 S=[_|T],
10205 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10206 T),
10207 ( T=[U|_]
10208 -> setarg(5, U, _)
10209 ; true
10210 )
10211 ; R=[_, _|T],
10212 setarg(2, R, T),
10213 ( T=[U|_]
10214 -> setarg(5, U, R)
10215 ; true
10216 )
10217 ),
10218 'detach_known/1_1_$special_ground/1___1'(Q, B)
10219 )
10220 ),
10221 'known/1_1_$special_fail/0'.
10222'known/1_1_$special_ground/1___1__0'(A, B) :-
10223 ( var(B)
10224 -> B=suspension(C, not_stored_yet, t, 0, _, A),
10225 'chr gen_id'(C)
10226 ; true
10227 ),
10228 ( '$novel_production'(B, 235),
10229 !,
10230 '$extend_history'(B, 235),
10231 arg(2, B, D),
10232 setarg(2, B, active),
10233 arg(4, B, E),
10234 F is E+1,
10235 setarg(4, B, F),
10236 ( D==not_stored_yet
10237 -> B=suspension(_, _, _, _, _, G),
10238 term_variables(G, H),
10239 'chr none_locked'(H),
10240 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10241 I),
10242 J=[B|I],
10243 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10244 J),
10245 ( I=[K|_]
10246 -> setarg(5, K, J)
10247 ; true
10248 ),
10249 'attach_known/1_1_$special_ground/1___1'(H, B)
10250 ; true
10251 ),
10252 'known/1_1_$special_nonvar/1'(A),
10253 ( B=suspension(_, active, _, F, _, _)
10254 -> setarg(2, B, inactive),
10255 'known/1_1_$special_ground/1___1__1'(A, B)
10256 ; true
10257 )
10258 ; 'known/1_1_$special_ground/1___1__1'(A, B)
10259 ).
10260'known/1_1_$special_ground/1___1__1'(A, B) :-
10261 ( 'chr newvia_1'(A, C)
10262 -> get_attr(C, guard_entailment, D),
10263 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
10264 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10265 E)
10266 ),
10267 !,
10268 'known/1_1_$special_ground/1___1__1__0__7'(E, A, B).
10269'known/1_1_$special_ground/1___1__1__0__7'([], A, B) :-
10270 'known/1_1_$special_ground/1___1__2'(A, B).
10271'known/1_1_$special_ground/1___1__1__0__7'([A|B], C, D) :-
10272 ( A=suspension(_, active, _, _, E, F),
10273 nonvar(E),
10274 E=(\+G),
10275 nonvar(G),
10276 G=ground(H),
10277 H==C
10278 -> A=suspension(_, _, _, _, I, J),
10279 setarg(2, A, removed),
10280 term_variables(term(I, J), K),
10281 ( arg(4, A, L),
10282 ( var(L)
10283 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10284 M),
10285 M=[_|N],
10286 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10287 N),
10288 ( N=[O|_]
10289 -> setarg(4, O, _)
10290 ; true
10291 )
10292 ; L=[_, _|N],
10293 setarg(2, L, N),
10294 ( N=[O|_]
10295 -> setarg(4, O, L)
10296 ; true
10297 )
10298 )
10299 ),
10300 'detach_known/1_1_$special_;/2___2'(K, A),
10301 arg(2, D, P),
10302 setarg(2, D, active),
10303 ( arg(4, D, Q),
10304 R is Q+1,
10305 setarg(4, D, R)
10306 ),
10307 ( P==not_stored_yet
10308 -> D=suspension(_, _, _, _, _, S),
10309 term_variables(S, T),
10310 'chr none_locked'(T),
10311 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10312 U),
10313 V=[D|U],
10314 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10315 V),
10316 ( U=[W|_]
10317 -> setarg(5, W, V)
10318 ; true
10319 ),
10320 'attach_known/1_1_$special_ground/1___1'(T, D)
10321 ; true
10322 ),
10323 known(F),
10324 ( D=suspension(_, active, _, R, _, _)
10325 -> setarg(2, D, inactive),
10326 'known/1_1_$special_ground/1___1__1__0__7'(B, C, D)
10327 ; true
10328 )
10329 ; 'known/1_1_$special_ground/1___1__1__0__7'(B, C, D)
10330 ).
10331'known/1_1_$special_ground/1___1__1'(A, B) :-
10332 'known/1_1_$special_ground/1___1__2'(A, B).
10333'known/1_1_$special_ground/1___1__2'(A, B) :-
10334 ( 'chr newvia_1'(A, C)
10335 -> get_attr(C, guard_entailment, D),
10336 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
10337 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10338 E)
10339 ),
10340 !,
10341 'known/1_1_$special_ground/1___1__2__0__8'(E, A, B).
10342'known/1_1_$special_ground/1___1__2__0__8'([], A, B) :-
10343 'known/1_1_$special_ground/1___1__3'(A, B).
10344'known/1_1_$special_ground/1___1__2__0__8'([A|B], C, D) :-
10345 ( A=suspension(_, active, _, _, E, F),
10346 nonvar(E),
10347 E=(G, _),
10348 nonvar(G),
10349 G=(\+H),
10350 nonvar(H),
10351 H=ground(I),
10352 I==C
10353 -> A=suspension(_, _, _, _, J, K),
10354 setarg(2, A, removed),
10355 term_variables(term(J, K), L),
10356 ( arg(4, A, M),
10357 ( var(M)
10358 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10359 N),
10360 N=[_|O],
10361 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10362 O),
10363 ( O=[P|_]
10364 -> setarg(4, P, _)
10365 ; true
10366 )
10367 ; M=[_, _|O],
10368 setarg(2, M, O),
10369 ( O=[P|_]
10370 -> setarg(4, P, M)
10371 ; true
10372 )
10373 )
10374 ),
10375 'detach_known/1_1_$special_;/2___2'(L, A),
10376 arg(2, D, Q),
10377 setarg(2, D, active),
10378 ( arg(4, D, R),
10379 S is R+1,
10380 setarg(4, D, S)
10381 ),
10382 ( Q==not_stored_yet
10383 -> D=suspension(_, _, _, _, _, T),
10384 term_variables(T, U),
10385 'chr none_locked'(U),
10386 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10387 V),
10388 W=[D|V],
10389 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10390 W),
10391 ( V=[X|_]
10392 -> setarg(5, X, W)
10393 ; true
10394 ),
10395 'attach_known/1_1_$special_ground/1___1'(U, D)
10396 ; true
10397 ),
10398 known(F),
10399 ( D=suspension(_, active, _, S, _, _)
10400 -> setarg(2, D, inactive),
10401 'known/1_1_$special_ground/1___1__2__0__8'(B, C, D)
10402 ; true
10403 )
10404 ; 'known/1_1_$special_ground/1___1__2__0__8'(B, C, D)
10405 ).
10406'known/1_1_$special_ground/1___1__2'(A, B) :-
10407 'known/1_1_$special_ground/1___1__3'(A, B).
10408'known/1_1_$special_ground/1___1__3'(_, A) :-
10409 arg(2, A, B),
10410 setarg(2, A, active),
10411 arg(4, A, C),
10412 D is C+1,
10413 setarg(4, A, D),
10414 ( B==not_stored_yet
10415 -> A=suspension(_, _, _, _, _, E),
10416 term_variables(E, F),
10417 'chr none_locked'(F),
10418 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10419 G),
10420 H=[A|G],
10421 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10422 H),
10423 ( G=[I|_]
10424 -> setarg(5, I, H)
10425 ; true
10426 ),
10427 'attach_known/1_1_$special_ground/1___1'(F, A)
10428 ; true
10429 ).
10430'known/1_1_$special_integer/1'(A) :-
10431 'known/1_1_$special_integer/1___1__0'(A, _).
10432'known/1_1_$special_integer/1___1__0'(A, B) :-
10433 ( 'chr newvia_1'(A, C)
10434 -> get_attr(C, guard_entailment, D),
10435 D=v(_, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _, _, _, _, _)
10436 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10437 E)
10438 ),
10439 member(F, E),
10440 F=suspension(_, active, _, _, _, G),
10441 G==A,
10442 !,
10443 ( var(B)
10444 -> true
10445 ; B=suspension(_, H, _, _, _, I),
10446 setarg(2, B, removed),
10447 ( H==not_stored_yet
10448 -> J=[]
10449 ; term_variables(I, J),
10450 arg(5, B, K),
10451 ( var(K)
10452 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10453 L),
10454 L=[_|M],
10455 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10456 M),
10457 ( M=[N|_]
10458 -> setarg(5, N, _)
10459 ; true
10460 )
10461 ; K=[_, _|M],
10462 setarg(2, K, M),
10463 ( M=[N|_]
10464 -> setarg(5, N, K)
10465 ; true
10466 )
10467 ),
10468 'detach_known/1_1_$special_integer/1___1'(J, B)
10469 )
10470 ).
10471'known/1_1_$special_integer/1___1__0'(_, A) :-
10472 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
10473 B),
10474 member(C, B),
10475 C=suspension(_, active, _),
10476 !,
10477 ( var(A)
10478 -> true
10479 ; A=suspension(_, D, _, _, _, E),
10480 setarg(2, A, removed),
10481 ( D==not_stored_yet
10482 -> F=[]
10483 ; term_variables(E, F),
10484 arg(5, A, G),
10485 ( var(G)
10486 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10487 H),
10488 H=[_|I],
10489 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10490 I),
10491 ( I=[J|_]
10492 -> setarg(5, J, _)
10493 ; true
10494 )
10495 ; G=[_, _|I],
10496 setarg(2, G, I),
10497 ( I=[J|_]
10498 -> setarg(5, J, G)
10499 ; true
10500 )
10501 ),
10502 'detach_known/1_1_$special_integer/1___1'(F, A)
10503 )
10504 ).
10505'known/1_1_$special_integer/1___1__0'(A, B) :-
10506 nonvar(A),
10507 \+ integer(A),
10508 !,
10509 ( var(B)
10510 -> true
10511 ; B=suspension(_, C, _, _, _, D),
10512 setarg(2, B, removed),
10513 ( C==not_stored_yet
10514 -> E=[]
10515 ; term_variables(D, E),
10516 arg(5, B, F),
10517 ( var(F)
10518 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10519 G),
10520 G=[_|H],
10521 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10522 H),
10523 ( H=[I|_]
10524 -> setarg(5, I, _)
10525 ; true
10526 )
10527 ; F=[_, _|H],
10528 setarg(2, F, H),
10529 ( H=[I|_]
10530 -> setarg(5, I, F)
10531 ; true
10532 )
10533 ),
10534 'detach_known/1_1_$special_integer/1___1'(E, B)
10535 )
10536 ),
10537 'known/1_1_$special_fail/0'.
10538'known/1_1_$special_integer/1___1__0'(A, B) :-
10539 ( var(B)
10540 -> B=suspension(C, not_stored_yet, t, 0, _, A),
10541 'chr gen_id'(C)
10542 ; true
10543 ),
10544 ( '$novel_production'(B, 199),
10545 !,
10546 '$extend_history'(B, 199),
10547 arg(2, B, D),
10548 setarg(2, B, active),
10549 arg(4, B, E),
10550 F is E+1,
10551 setarg(4, B, F),
10552 ( D==not_stored_yet
10553 -> B=suspension(_, _, _, _, _, G),
10554 term_variables(G, H),
10555 'chr none_locked'(H),
10556 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10557 I),
10558 J=[B|I],
10559 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10560 J),
10561 ( I=[K|_]
10562 -> setarg(5, K, J)
10563 ; true
10564 ),
10565 'attach_known/1_1_$special_integer/1___1'(H, B)
10566 ; true
10567 ),
10568 'known/1_1_$special_number/1'(A),
10569 ( B=suspension(_, active, _, F, _, _)
10570 -> setarg(2, B, inactive),
10571 'known/1_1_$special_integer/1___1__1'(A, B)
10572 ; true
10573 )
10574 ; 'known/1_1_$special_integer/1___1__1'(A, B)
10575 ).
10576'known/1_1_$special_integer/1___1__1'(A, B) :-
10577 ( 'chr newvia_1'(A, C)
10578 -> get_attr(C, guard_entailment, D),
10579 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
10580 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10581 E)
10582 ),
10583 member(F, E),
10584 F=suspension(_, active, _, _, G),
10585 nonvar(G),
10586 G=integer(H),
10587 H==A,
10588 !,
10589 F=suspension(_, _, _, _, I),
10590 setarg(2, F, removed),
10591 term_variables(I, J),
10592 arg(4, F, K),
10593 ( var(K)
10594 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10595 L),
10596 L=[_|M],
10597 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10598 M),
10599 ( M=[N|_]
10600 -> setarg(4, N, _)
10601 ; true
10602 )
10603 ; K=[_, _|M],
10604 setarg(2, K, M),
10605 ( M=[N|_]
10606 -> setarg(4, N, K)
10607 ; true
10608 )
10609 ),
10610 'detach_known/1_1_$special_\\+/1___1'(J, F),
10611 ( var(B)
10612 -> true
10613 ; B=suspension(_, O, _, _, _, P),
10614 setarg(2, B, removed),
10615 ( O==not_stored_yet
10616 -> Q=[]
10617 ; term_variables(P, Q),
10618 arg(5, B, R),
10619 ( var(R)
10620 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10621 S),
10622 S=[_|T],
10623 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10624 T),
10625 ( T=[U|_]
10626 -> setarg(5, U, _)
10627 ; true
10628 )
10629 ; R=[_, _|T],
10630 setarg(2, R, T),
10631 ( T=[U|_]
10632 -> setarg(5, U, R)
10633 ; true
10634 )
10635 ),
10636 'detach_known/1_1_$special_integer/1___1'(Q, B)
10637 )
10638 ),
10639 'known/1_1_$special_fail/0'.
10640'known/1_1_$special_integer/1___1__1'(A, B) :-
10641 ( 'chr newvia_1'(A, C)
10642 -> get_attr(C, guard_entailment, D),
10643 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
10644 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10645 E)
10646 ),
10647 !,
10648 'known/1_1_$special_integer/1___1__1__0__8'(E, A, B).
10649'known/1_1_$special_integer/1___1__1__0__8'([], A, B) :-
10650 'known/1_1_$special_integer/1___1__2'(A, B).
10651'known/1_1_$special_integer/1___1__1__0__8'([A|B], C, D) :-
10652 ( A=suspension(_, active, _, _, E, F),
10653 nonvar(E),
10654 E=(\+G),
10655 nonvar(G),
10656 G=integer(H),
10657 H==C
10658 -> A=suspension(_, _, _, _, I, J),
10659 setarg(2, A, removed),
10660 term_variables(term(I, J), K),
10661 ( arg(4, A, L),
10662 ( var(L)
10663 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10664 M),
10665 M=[_|N],
10666 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10667 N),
10668 ( N=[O|_]
10669 -> setarg(4, O, _)
10670 ; true
10671 )
10672 ; L=[_, _|N],
10673 setarg(2, L, N),
10674 ( N=[O|_]
10675 -> setarg(4, O, L)
10676 ; true
10677 )
10678 )
10679 ),
10680 'detach_known/1_1_$special_;/2___2'(K, A),
10681 arg(2, D, P),
10682 setarg(2, D, active),
10683 ( arg(4, D, Q),
10684 R is Q+1,
10685 setarg(4, D, R)
10686 ),
10687 ( P==not_stored_yet
10688 -> D=suspension(_, _, _, _, _, S),
10689 term_variables(S, T),
10690 'chr none_locked'(T),
10691 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10692 U),
10693 V=[D|U],
10694 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10695 V),
10696 ( U=[W|_]
10697 -> setarg(5, W, V)
10698 ; true
10699 ),
10700 'attach_known/1_1_$special_integer/1___1'(T, D)
10701 ; true
10702 ),
10703 known(F),
10704 ( D=suspension(_, active, _, R, _, _)
10705 -> setarg(2, D, inactive),
10706 'known/1_1_$special_integer/1___1__1__0__8'(B, C, D)
10707 ; true
10708 )
10709 ; 'known/1_1_$special_integer/1___1__1__0__8'(B, C, D)
10710 ).
10711'known/1_1_$special_integer/1___1__1'(A, B) :-
10712 'known/1_1_$special_integer/1___1__2'(A, B).
10713'known/1_1_$special_integer/1___1__2'(A, B) :-
10714 ( 'chr newvia_1'(A, C)
10715 -> get_attr(C, guard_entailment, D),
10716 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
10717 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10718 E)
10719 ),
10720 !,
10721 'known/1_1_$special_integer/1___1__2__0__9'(E, A, B).
10722'known/1_1_$special_integer/1___1__2__0__9'([], A, B) :-
10723 'known/1_1_$special_integer/1___1__3'(A, B).
10724'known/1_1_$special_integer/1___1__2__0__9'([A|B], C, D) :-
10725 ( A=suspension(_, active, _, _, E, F),
10726 nonvar(E),
10727 E=(G, _),
10728 nonvar(G),
10729 G=(\+H),
10730 nonvar(H),
10731 H=integer(I),
10732 I==C
10733 -> A=suspension(_, _, _, _, J, K),
10734 setarg(2, A, removed),
10735 term_variables(term(J, K), L),
10736 ( arg(4, A, M),
10737 ( var(M)
10738 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10739 N),
10740 N=[_|O],
10741 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10742 O),
10743 ( O=[P|_]
10744 -> setarg(4, P, _)
10745 ; true
10746 )
10747 ; M=[_, _|O],
10748 setarg(2, M, O),
10749 ( O=[P|_]
10750 -> setarg(4, P, M)
10751 ; true
10752 )
10753 )
10754 ),
10755 'detach_known/1_1_$special_;/2___2'(L, A),
10756 arg(2, D, Q),
10757 setarg(2, D, active),
10758 ( arg(4, D, R),
10759 S is R+1,
10760 setarg(4, D, S)
10761 ),
10762 ( Q==not_stored_yet
10763 -> D=suspension(_, _, _, _, _, T),
10764 term_variables(T, U),
10765 'chr none_locked'(U),
10766 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10767 V),
10768 W=[D|V],
10769 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10770 W),
10771 ( V=[X|_]
10772 -> setarg(5, X, W)
10773 ; true
10774 ),
10775 'attach_known/1_1_$special_integer/1___1'(U, D)
10776 ; true
10777 ),
10778 known(F),
10779 ( D=suspension(_, active, _, S, _, _)
10780 -> setarg(2, D, inactive),
10781 'known/1_1_$special_integer/1___1__2__0__9'(B, C, D)
10782 ; true
10783 )
10784 ; 'known/1_1_$special_integer/1___1__2__0__9'(B, C, D)
10785 ).
10786'known/1_1_$special_integer/1___1__2'(A, B) :-
10787 'known/1_1_$special_integer/1___1__3'(A, B).
10788'known/1_1_$special_integer/1___1__3'(_, A) :-
10789 arg(2, A, B),
10790 setarg(2, A, active),
10791 arg(4, A, C),
10792 D is C+1,
10793 setarg(4, A, D),
10794 ( B==not_stored_yet
10795 -> A=suspension(_, _, _, _, _, E),
10796 term_variables(E, F),
10797 'chr none_locked'(F),
10798 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10799 G),
10800 H=[A|G],
10801 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10802 H),
10803 ( G=[I|_]
10804 -> setarg(5, I, H)
10805 ; true
10806 ),
10807 'attach_known/1_1_$special_integer/1___1'(F, A)
10808 ; true
10809 ).
10810'known/1_1_$special_float/1'(A) :-
10811 'known/1_1_$special_float/1___1__0'(A, _).
10812'known/1_1_$special_float/1___1__0'(A, B) :-
10813 ( 'chr newvia_1'(A, C)
10814 -> get_attr(C, guard_entailment, D),
10815 D=v(_, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _, _, _, _)
10816 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
10817 E)
10818 ),
10819 member(F, E),
10820 F=suspension(_, active, _, _, _, G),
10821 G==A,
10822 !,
10823 ( var(B)
10824 -> true
10825 ; B=suspension(_, H, _, _, _, I),
10826 setarg(2, B, removed),
10827 ( H==not_stored_yet
10828 -> J=[]
10829 ; term_variables(I, J),
10830 arg(5, B, K),
10831 ( var(K)
10832 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
10833 L),
10834 L=[_|M],
10835 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
10836 M),
10837 ( M=[N|_]
10838 -> setarg(5, N, _)
10839 ; true
10840 )
10841 ; K=[_, _|M],
10842 setarg(2, K, M),
10843 ( M=[N|_]
10844 -> setarg(5, N, K)
10845 ; true
10846 )
10847 ),
10848 'detach_known/1_1_$special_float/1___1'(J, B)
10849 )
10850 ).
10851'known/1_1_$special_float/1___1__0'(_, A) :-
10852 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
10853 B),
10854 member(C, B),
10855 C=suspension(_, active, _),
10856 !,
10857 ( var(A)
10858 -> true
10859 ; A=suspension(_, D, _, _, _, E),
10860 setarg(2, A, removed),
10861 ( D==not_stored_yet
10862 -> F=[]
10863 ; term_variables(E, F),
10864 arg(5, A, G),
10865 ( var(G)
10866 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
10867 H),
10868 H=[_|I],
10869 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
10870 I),
10871 ( I=[J|_]
10872 -> setarg(5, J, _)
10873 ; true
10874 )
10875 ; G=[_, _|I],
10876 setarg(2, G, I),
10877 ( I=[J|_]
10878 -> setarg(5, J, G)
10879 ; true
10880 )
10881 ),
10882 'detach_known/1_1_$special_float/1___1'(F, A)
10883 )
10884 ).
10885'known/1_1_$special_float/1___1__0'(A, B) :-
10886 nonvar(A),
10887 \+ float(A),
10888 !,
10889 ( var(B)
10890 -> true
10891 ; B=suspension(_, C, _, _, _, D),
10892 setarg(2, B, removed),
10893 ( C==not_stored_yet
10894 -> E=[]
10895 ; term_variables(D, E),
10896 arg(5, B, F),
10897 ( var(F)
10898 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
10899 G),
10900 G=[_|H],
10901 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
10902 H),
10903 ( H=[I|_]
10904 -> setarg(5, I, _)
10905 ; true
10906 )
10907 ; F=[_, _|H],
10908 setarg(2, F, H),
10909 ( H=[I|_]
10910 -> setarg(5, I, F)
10911 ; true
10912 )
10913 ),
10914 'detach_known/1_1_$special_float/1___1'(E, B)
10915 )
10916 ),
10917 'known/1_1_$special_fail/0'.
10918'known/1_1_$special_float/1___1__0'(A, B) :-
10919 ( var(B)
10920 -> B=suspension(C, not_stored_yet, t, 0, _, A),
10921 'chr gen_id'(C)
10922 ; true
10923 ),
10924 ( '$novel_production'(B, 200),
10925 !,
10926 '$extend_history'(B, 200),
10927 arg(2, B, D),
10928 setarg(2, B, active),
10929 arg(4, B, E),
10930 F is E+1,
10931 setarg(4, B, F),
10932 ( D==not_stored_yet
10933 -> B=suspension(_, _, _, _, _, G),
10934 term_variables(G, H),
10935 'chr none_locked'(H),
10936 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
10937 I),
10938 J=[B|I],
10939 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
10940 J),
10941 ( I=[K|_]
10942 -> setarg(5, K, J)
10943 ; true
10944 ),
10945 'attach_known/1_1_$special_float/1___1'(H, B)
10946 ; true
10947 ),
10948 'known/1_1_$special_number/1'(A),
10949 ( B=suspension(_, active, _, F, _, _)
10950 -> setarg(2, B, inactive),
10951 'known/1_1_$special_float/1___1__1'(A, B)
10952 ; true
10953 )
10954 ; 'known/1_1_$special_float/1___1__1'(A, B)
10955 ).
10956'known/1_1_$special_float/1___1__1'(A, B) :-
10957 ( 'chr newvia_1'(A, C)
10958 -> get_attr(C, guard_entailment, D),
10959 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
10960 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10961 E)
10962 ),
10963 member(F, E),
10964 F=suspension(_, active, _, _, G),
10965 nonvar(G),
10966 G=float(H),
10967 H==A,
10968 !,
10969 F=suspension(_, _, _, _, I),
10970 setarg(2, F, removed),
10971 term_variables(I, J),
10972 arg(4, F, K),
10973 ( var(K)
10974 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10975 L),
10976 L=[_|M],
10977 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10978 M),
10979 ( M=[N|_]
10980 -> setarg(4, N, _)
10981 ; true
10982 )
10983 ; K=[_, _|M],
10984 setarg(2, K, M),
10985 ( M=[N|_]
10986 -> setarg(4, N, K)
10987 ; true
10988 )
10989 ),
10990 'detach_known/1_1_$special_\\+/1___1'(J, F),
10991 ( var(B)
10992 -> true
10993 ; B=suspension(_, O, _, _, _, P),
10994 setarg(2, B, removed),
10995 ( O==not_stored_yet
10996 -> Q=[]
10997 ; term_variables(P, Q),
10998 arg(5, B, R),
10999 ( var(R)
11000 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11001 S),
11002 S=[_|T],
11003 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11004 T),
11005 ( T=[U|_]
11006 -> setarg(5, U, _)
11007 ; true
11008 )
11009 ; R=[_, _|T],
11010 setarg(2, R, T),
11011 ( T=[U|_]
11012 -> setarg(5, U, R)
11013 ; true
11014 )
11015 ),
11016 'detach_known/1_1_$special_float/1___1'(Q, B)
11017 )
11018 ),
11019 'known/1_1_$special_fail/0'.
11020'known/1_1_$special_float/1___1__1'(A, B) :-
11021 ( 'chr newvia_1'(A, C)
11022 -> get_attr(C, guard_entailment, D),
11023 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
11024 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11025 E)
11026 ),
11027 !,
11028 'known/1_1_$special_float/1___1__1__0__8'(E, A, B).
11029'known/1_1_$special_float/1___1__1__0__8'([], A, B) :-
11030 'known/1_1_$special_float/1___1__2'(A, B).
11031'known/1_1_$special_float/1___1__1__0__8'([A|B], C, D) :-
11032 ( A=suspension(_, active, _, _, E, F),
11033 nonvar(E),
11034 E=(\+G),
11035 nonvar(G),
11036 G=float(H),
11037 H==C
11038 -> A=suspension(_, _, _, _, I, J),
11039 setarg(2, A, removed),
11040 term_variables(term(I, J), K),
11041 ( arg(4, A, L),
11042 ( var(L)
11043 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11044 M),
11045 M=[_|N],
11046 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11047 N),
11048 ( N=[O|_]
11049 -> setarg(4, O, _)
11050 ; true
11051 )
11052 ; L=[_, _|N],
11053 setarg(2, L, N),
11054 ( N=[O|_]
11055 -> setarg(4, O, L)
11056 ; true
11057 )
11058 )
11059 ),
11060 'detach_known/1_1_$special_;/2___2'(K, A),
11061 arg(2, D, P),
11062 setarg(2, D, active),
11063 ( arg(4, D, Q),
11064 R is Q+1,
11065 setarg(4, D, R)
11066 ),
11067 ( P==not_stored_yet
11068 -> D=suspension(_, _, _, _, _, S),
11069 term_variables(S, T),
11070 'chr none_locked'(T),
11071 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11072 U),
11073 V=[D|U],
11074 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11075 V),
11076 ( U=[W|_]
11077 -> setarg(5, W, V)
11078 ; true
11079 ),
11080 'attach_known/1_1_$special_float/1___1'(T, D)
11081 ; true
11082 ),
11083 known(F),
11084 ( D=suspension(_, active, _, R, _, _)
11085 -> setarg(2, D, inactive),
11086 'known/1_1_$special_float/1___1__1__0__8'(B, C, D)
11087 ; true
11088 )
11089 ; 'known/1_1_$special_float/1___1__1__0__8'(B, C, D)
11090 ).
11091'known/1_1_$special_float/1___1__1'(A, B) :-
11092 'known/1_1_$special_float/1___1__2'(A, B).
11093'known/1_1_$special_float/1___1__2'(A, B) :-
11094 ( 'chr newvia_1'(A, C)
11095 -> get_attr(C, guard_entailment, D),
11096 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
11097 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11098 E)
11099 ),
11100 !,
11101 'known/1_1_$special_float/1___1__2__0__9'(E, A, B).
11102'known/1_1_$special_float/1___1__2__0__9'([], A, B) :-
11103 'known/1_1_$special_float/1___1__3'(A, B).
11104'known/1_1_$special_float/1___1__2__0__9'([A|B], C, D) :-
11105 ( A=suspension(_, active, _, _, E, F),
11106 nonvar(E),
11107 E=(G, _),
11108 nonvar(G),
11109 G=(\+H),
11110 nonvar(H),
11111 H=float(I),
11112 I==C
11113 -> A=suspension(_, _, _, _, J, K),
11114 setarg(2, A, removed),
11115 term_variables(term(J, K), L),
11116 ( arg(4, A, M),
11117 ( var(M)
11118 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11119 N),
11120 N=[_|O],
11121 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11122 O),
11123 ( O=[P|_]
11124 -> setarg(4, P, _)
11125 ; true
11126 )
11127 ; M=[_, _|O],
11128 setarg(2, M, O),
11129 ( O=[P|_]
11130 -> setarg(4, P, M)
11131 ; true
11132 )
11133 )
11134 ),
11135 'detach_known/1_1_$special_;/2___2'(L, A),
11136 arg(2, D, Q),
11137 setarg(2, D, active),
11138 ( arg(4, D, R),
11139 S is R+1,
11140 setarg(4, D, S)
11141 ),
11142 ( Q==not_stored_yet
11143 -> D=suspension(_, _, _, _, _, T),
11144 term_variables(T, U),
11145 'chr none_locked'(U),
11146 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11147 V),
11148 W=[D|V],
11149 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11150 W),
11151 ( V=[X|_]
11152 -> setarg(5, X, W)
11153 ; true
11154 ),
11155 'attach_known/1_1_$special_float/1___1'(U, D)
11156 ; true
11157 ),
11158 known(F),
11159 ( D=suspension(_, active, _, S, _, _)
11160 -> setarg(2, D, inactive),
11161 'known/1_1_$special_float/1___1__2__0__9'(B, C, D)
11162 ; true
11163 )
11164 ; 'known/1_1_$special_float/1___1__2__0__9'(B, C, D)
11165 ).
11166'known/1_1_$special_float/1___1__2'(A, B) :-
11167 'known/1_1_$special_float/1___1__3'(A, B).
11168'known/1_1_$special_float/1___1__3'(_, A) :-
11169 arg(2, A, B),
11170 setarg(2, A, active),
11171 arg(4, A, C),
11172 D is C+1,
11173 setarg(4, A, D),
11174 ( B==not_stored_yet
11175 -> A=suspension(_, _, _, _, _, E),
11176 term_variables(E, F),
11177 'chr none_locked'(F),
11178 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11179 G),
11180 H=[A|G],
11181 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11182 H),
11183 ( G=[I|_]
11184 -> setarg(5, I, H)
11185 ; true
11186 ),
11187 'attach_known/1_1_$special_float/1___1'(F, A)
11188 ; true
11189 ).
11190'known/1_1_$special_number/1'(A) :-
11191 'known/1_1_$special_number/1___1__0'(A, _).
11192'known/1_1_$special_number/1___1__0'(A, B) :-
11193 ( 'chr newvia_1'(A, C)
11194 -> get_attr(C, guard_entailment, D),
11195 D=v(_, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _, _, _)
11196 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11197 E)
11198 ),
11199 member(F, E),
11200 F=suspension(_, active, _, _, _, G),
11201 G==A,
11202 !,
11203 ( var(B)
11204 -> true
11205 ; B=suspension(_, H, _, _, _, I),
11206 setarg(2, B, removed),
11207 ( H==not_stored_yet
11208 -> J=[]
11209 ; term_variables(I, J),
11210 arg(5, B, K),
11211 ( var(K)
11212 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11213 L),
11214 L=[_|M],
11215 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11216 M),
11217 ( M=[N|_]
11218 -> setarg(5, N, _)
11219 ; true
11220 )
11221 ; K=[_, _|M],
11222 setarg(2, K, M),
11223 ( M=[N|_]
11224 -> setarg(5, N, K)
11225 ; true
11226 )
11227 ),
11228 'detach_known/1_1_$special_number/1___1'(J, B)
11229 )
11230 ).
11231'known/1_1_$special_number/1___1__0'(_, A) :-
11232 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
11233 B),
11234 member(C, B),
11235 C=suspension(_, active, _),
11236 !,
11237 ( var(A)
11238 -> true
11239 ; A=suspension(_, D, _, _, _, E),
11240 setarg(2, A, removed),
11241 ( D==not_stored_yet
11242 -> F=[]
11243 ; term_variables(E, F),
11244 arg(5, A, G),
11245 ( var(G)
11246 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11247 H),
11248 H=[_|I],
11249 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11250 I),
11251 ( I=[J|_]
11252 -> setarg(5, J, _)
11253 ; true
11254 )
11255 ; G=[_, _|I],
11256 setarg(2, G, I),
11257 ( I=[J|_]
11258 -> setarg(5, J, G)
11259 ; true
11260 )
11261 ),
11262 'detach_known/1_1_$special_number/1___1'(F, A)
11263 )
11264 ).
11265'known/1_1_$special_number/1___1__0'(A, B) :-
11266 nonvar(A),
11267 \+ number(A),
11268 !,
11269 ( var(B)
11270 -> true
11271 ; B=suspension(_, C, _, _, _, D),
11272 setarg(2, B, removed),
11273 ( C==not_stored_yet
11274 -> E=[]
11275 ; term_variables(D, E),
11276 arg(5, B, F),
11277 ( var(F)
11278 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11279 G),
11280 G=[_|H],
11281 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11282 H),
11283 ( H=[I|_]
11284 -> setarg(5, I, _)
11285 ; true
11286 )
11287 ; F=[_, _|H],
11288 setarg(2, F, H),
11289 ( H=[I|_]
11290 -> setarg(5, I, F)
11291 ; true
11292 )
11293 ),
11294 'detach_known/1_1_$special_number/1___1'(E, B)
11295 )
11296 ),
11297 'known/1_1_$special_fail/0'.
11298'known/1_1_$special_number/1___1__0'(A, B) :-
11299 ( 'chr newvia_1'(A, C)
11300 -> get_attr(C, guard_entailment, D),
11301 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
11302 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
11303 E)
11304 ),
11305 member(F, E),
11306 F=suspension(_, active, _, _, G),
11307 nonvar(G),
11308 G=number(H),
11309 H==A,
11310 !,
11311 F=suspension(_, _, _, _, I),
11312 setarg(2, F, removed),
11313 term_variables(I, J),
11314 arg(4, F, K),
11315 ( var(K)
11316 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
11317 L),
11318 L=[_|M],
11319 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
11320 M),
11321 ( M=[N|_]
11322 -> setarg(4, N, _)
11323 ; true
11324 )
11325 ; K=[_, _|M],
11326 setarg(2, K, M),
11327 ( M=[N|_]
11328 -> setarg(4, N, K)
11329 ; true
11330 )
11331 ),
11332 'detach_known/1_1_$special_\\+/1___1'(J, F),
11333 ( var(B)
11334 -> true
11335 ; B=suspension(_, O, _, _, _, P),
11336 setarg(2, B, removed),
11337 ( O==not_stored_yet
11338 -> Q=[]
11339 ; term_variables(P, Q),
11340 arg(5, B, R),
11341 ( var(R)
11342 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11343 S),
11344 S=[_|T],
11345 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11346 T),
11347 ( T=[U|_]
11348 -> setarg(5, U, _)
11349 ; true
11350 )
11351 ; R=[_, _|T],
11352 setarg(2, R, T),
11353 ( T=[U|_]
11354 -> setarg(5, U, R)
11355 ; true
11356 )
11357 ),
11358 'detach_known/1_1_$special_number/1___1'(Q, B)
11359 )
11360 ),
11361 'known/1_1_$special_fail/0'.
11362'known/1_1_$special_number/1___1__0'(A, B) :-
11363 ( var(B)
11364 -> B=suspension(C, not_stored_yet, t, 0, _, A),
11365 'chr gen_id'(C)
11366 ; true
11367 ),
11368 ( '$novel_production'(B, 238),
11369 !,
11370 '$extend_history'(B, 238),
11371 arg(2, B, D),
11372 setarg(2, B, active),
11373 arg(4, B, E),
11374 F is E+1,
11375 setarg(4, B, F),
11376 ( D==not_stored_yet
11377 -> B=suspension(_, _, _, _, _, G),
11378 term_variables(G, H),
11379 'chr none_locked'(H),
11380 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11381 I),
11382 J=[B|I],
11383 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11384 J),
11385 ( I=[K|_]
11386 -> setarg(5, K, J)
11387 ; true
11388 ),
11389 'attach_known/1_1_$special_number/1___1'(H, B)
11390 ; true
11391 ),
11392 'known/1_1_$special_nonvar/1'(A),
11393 ( B=suspension(_, active, _, F, _, _)
11394 -> setarg(2, B, inactive),
11395 'known/1_1_$special_number/1___1__1'(A, B)
11396 ; true
11397 )
11398 ; 'known/1_1_$special_number/1___1__1'(A, B)
11399 ).
11400'known/1_1_$special_number/1___1__1'(A, B) :-
11401 ( 'chr newvia_1'(A, C)
11402 -> get_attr(C, guard_entailment, D),
11403 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
11404 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11405 E)
11406 ),
11407 !,
11408 'known/1_1_$special_number/1___1__1__0__8'(E, A, B).
11409'known/1_1_$special_number/1___1__1__0__8'([], A, B) :-
11410 'known/1_1_$special_number/1___1__2'(A, B).
11411'known/1_1_$special_number/1___1__1__0__8'([A|B], C, D) :-
11412 ( A=suspension(_, active, _, _, E, F),
11413 nonvar(E),
11414 E=(\+G),
11415 nonvar(G),
11416 G=number(H),
11417 H==C
11418 -> A=suspension(_, _, _, _, I, J),
11419 setarg(2, A, removed),
11420 term_variables(term(I, J), K),
11421 ( arg(4, A, L),
11422 ( var(L)
11423 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11424 M),
11425 M=[_|N],
11426 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11427 N),
11428 ( N=[O|_]
11429 -> setarg(4, O, _)
11430 ; true
11431 )
11432 ; L=[_, _|N],
11433 setarg(2, L, N),
11434 ( N=[O|_]
11435 -> setarg(4, O, L)
11436 ; true
11437 )
11438 )
11439 ),
11440 'detach_known/1_1_$special_;/2___2'(K, A),
11441 arg(2, D, P),
11442 setarg(2, D, active),
11443 ( arg(4, D, Q),
11444 R is Q+1,
11445 setarg(4, D, R)
11446 ),
11447 ( P==not_stored_yet
11448 -> D=suspension(_, _, _, _, _, S),
11449 term_variables(S, T),
11450 'chr none_locked'(T),
11451 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11452 U),
11453 V=[D|U],
11454 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11455 V),
11456 ( U=[W|_]
11457 -> setarg(5, W, V)
11458 ; true
11459 ),
11460 'attach_known/1_1_$special_number/1___1'(T, D)
11461 ; true
11462 ),
11463 known(F),
11464 ( D=suspension(_, active, _, R, _, _)
11465 -> setarg(2, D, inactive),
11466 'known/1_1_$special_number/1___1__1__0__8'(B, C, D)
11467 ; true
11468 )
11469 ; 'known/1_1_$special_number/1___1__1__0__8'(B, C, D)
11470 ).
11471'known/1_1_$special_number/1___1__1'(A, B) :-
11472 'known/1_1_$special_number/1___1__2'(A, B).
11473'known/1_1_$special_number/1___1__2'(A, B) :-
11474 ( 'chr newvia_1'(A, C)
11475 -> get_attr(C, guard_entailment, D),
11476 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
11477 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11478 E)
11479 ),
11480 !,
11481 'known/1_1_$special_number/1___1__2__0__9'(E, A, B).
11482'known/1_1_$special_number/1___1__2__0__9'([], A, B) :-
11483 'known/1_1_$special_number/1___1__3'(A, B).
11484'known/1_1_$special_number/1___1__2__0__9'([A|B], C, D) :-
11485 ( A=suspension(_, active, _, _, E, F),
11486 nonvar(E),
11487 E=(G, _),
11488 nonvar(G),
11489 G=(\+H),
11490 nonvar(H),
11491 H=number(I),
11492 I==C
11493 -> A=suspension(_, _, _, _, J, K),
11494 setarg(2, A, removed),
11495 term_variables(term(J, K), L),
11496 ( arg(4, A, M),
11497 ( var(M)
11498 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11499 N),
11500 N=[_|O],
11501 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11502 O),
11503 ( O=[P|_]
11504 -> setarg(4, P, _)
11505 ; true
11506 )
11507 ; M=[_, _|O],
11508 setarg(2, M, O),
11509 ( O=[P|_]
11510 -> setarg(4, P, M)
11511 ; true
11512 )
11513 )
11514 ),
11515 'detach_known/1_1_$special_;/2___2'(L, A),
11516 arg(2, D, Q),
11517 setarg(2, D, active),
11518 ( arg(4, D, R),
11519 S is R+1,
11520 setarg(4, D, S)
11521 ),
11522 ( Q==not_stored_yet
11523 -> D=suspension(_, _, _, _, _, T),
11524 term_variables(T, U),
11525 'chr none_locked'(U),
11526 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11527 V),
11528 W=[D|V],
11529 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11530 W),
11531 ( V=[X|_]
11532 -> setarg(5, X, W)
11533 ; true
11534 ),
11535 'attach_known/1_1_$special_number/1___1'(U, D)
11536 ; true
11537 ),
11538 known(F),
11539 ( D=suspension(_, active, _, S, _, _)
11540 -> setarg(2, D, inactive),
11541 'known/1_1_$special_number/1___1__2__0__9'(B, C, D)
11542 ; true
11543 )
11544 ; 'known/1_1_$special_number/1___1__2__0__9'(B, C, D)
11545 ).
11546'known/1_1_$special_number/1___1__2'(A, B) :-
11547 'known/1_1_$special_number/1___1__3'(A, B).
11548'known/1_1_$special_number/1___1__3'(_, A) :-
11549 arg(2, A, B),
11550 setarg(2, A, active),
11551 arg(4, A, C),
11552 D is C+1,
11553 setarg(4, A, D),
11554 ( B==not_stored_yet
11555 -> A=suspension(_, _, _, _, _, E),
11556 term_variables(E, F),
11557 'chr none_locked'(F),
11558 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11559 G),
11560 H=[A|G],
11561 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11562 H),
11563 ( G=[I|_]
11564 -> setarg(5, I, H)
11565 ; true
11566 ),
11567 'attach_known/1_1_$special_number/1___1'(F, A)
11568 ; true
11569 ).
11570'known/1_1_$special_=\\=/2'(A, B) :-
11571 'known/1_1_$special_=\\=/2___2__0'(A, B, _).
11572'known/1_1_$special_=\\=/2___2__0'(A, B, C) :-
11573 ( 'chr newvia_2'(A, B, D)
11574 -> get_attr(D, guard_entailment, E),
11575 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _, _, _)
11576 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11577 F)
11578 ),
11579 member(G, F),
11580 G=suspension(_, active, _, _, _, H, I),
11581 H==A,
11582 I==B,
11583 !,
11584 ( var(C)
11585 -> true
11586 ; C=suspension(_, J, _, _, _, K, L),
11587 setarg(2, C, removed),
11588 ( J==not_stored_yet
11589 -> M=[]
11590 ; term_variables(term(K, L), M),
11591 arg(5, C, N),
11592 ( var(N)
11593 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11594 O),
11595 O=[_|P],
11596 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11597 P),
11598 ( P=[Q|_]
11599 -> setarg(5, Q, _)
11600 ; true
11601 )
11602 ; N=[_, _|P],
11603 setarg(2, N, P),
11604 ( P=[Q|_]
11605 -> setarg(5, Q, N)
11606 ; true
11607 )
11608 ),
11609 'detach_known/1_1_$special_=\\=/2___2'(M, C)
11610 )
11611 ).
11612'known/1_1_$special_=\\=/2___2__0'(_, _, A) :-
11613 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
11614 B),
11615 member(C, B),
11616 C=suspension(_, active, _),
11617 !,
11618 ( var(A)
11619 -> true
11620 ; A=suspension(_, D, _, _, _, E, F),
11621 setarg(2, A, removed),
11622 ( D==not_stored_yet
11623 -> G=[]
11624 ; term_variables(term(E, F), G),
11625 arg(5, A, H),
11626 ( var(H)
11627 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11628 I),
11629 I=[_|J],
11630 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11631 J),
11632 ( J=[K|_]
11633 -> setarg(5, K, _)
11634 ; true
11635 )
11636 ; H=[_, _|J],
11637 setarg(2, H, J),
11638 ( J=[K|_]
11639 -> setarg(5, K, H)
11640 ; true
11641 )
11642 ),
11643 'detach_known/1_1_$special_=\\=/2___2'(G, A)
11644 )
11645 ).
11646'known/1_1_$special_=\\=/2___2__0'(A, B, C) :-
11647 ( 'chr newvia_1'(B, D)
11648 -> get_attr(D, guard_entailment, E),
11649 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _, _, _)
11650 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11651 F)
11652 ),
11653 !,
11654 ( var(C)
11655 -> C=suspension(G, not_stored_yet, t, 0, _, A, B),
11656 'chr gen_id'(G)
11657 ; true
11658 ),
11659 'known/1_1_$special_=\\=/2___2__0__0__5'(F, A, B, C).
11660'known/1_1_$special_=\\=/2___2__0__0__5'([], A, B, C) :-
11661 'known/1_1_$special_=\\=/2___2__1'(A, B, C).
11662'known/1_1_$special_=\\=/2___2__0__0__5'([A|B], C, D, E) :-
11663 ( A=suspension(_, active, _, _, _, F, G),
11664 F==D,
11665 ( 'chr newvia_2'(D, G, H)
11666 -> get_attr(H, guard_entailment, I),
11667 I=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, J, _)
11668 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
11669 J)
11670 )
11671 -> 'known/1_1_$special_=\\=/2___2__0__1__5'(J,
11672 G,
11673 A,
11674 B,
11675 C,
11676 D,
11677 E)
11678 ; 'known/1_1_$special_=\\=/2___2__0__0__5'(B, C, D, E)
11679 ).
11680'known/1_1_$special_=\\=/2___2__0__1__5'([], _, _, A, B, C, D) :-
11681 'known/1_1_$special_=\\=/2___2__0__0__5'(A, B, C, D).
11682'known/1_1_$special_=\\=/2___2__0__1__5'([A|B], C, D, E, F, G, H) :-
11683 ( A=suspension(_, active, _, _, _, I, J),
11684 I==G,
11685 J==C,
11686 ( 'chr newvia_2'(F, G, K)
11687 -> get_attr(K, guard_entailment, L),
11688 L=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, M, _)
11689 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
11690 M)
11691 )
11692 -> 'known/1_1_$special_=\\=/2___2__0__2__5'(M,
11693 A,
11694 B,
11695 C,
11696 D,
11697 E,
11698 F,
11699 G,
11700 H)
11701 ; 'known/1_1_$special_=\\=/2___2__0__1__5'(B,
11702 C,
11703 D,
11704 E,
11705 F,
11706 G,
11707 H)
11708 ).
11709'known/1_1_$special_=\\=/2___2__0__2__5'([], _, A, B, C, D, E, F, G) :-
11710 'known/1_1_$special_=\\=/2___2__0__1__5'(A,
11711 B,
11712 C,
11713 D,
11714 E,
11715 F,
11716 G).
11717'known/1_1_$special_=\\=/2___2__0__2__5'([A|B], C, D, E, F, G, H, I, J) :-
11718 ( A=suspension(_, active, _, _, _, K, L),
11719 A\==C,
11720 K==H,
11721 L==I,
11722 M=t(188, A, J, C, F),
11723 '$novel_production'(A, M),
11724 '$novel_production'(J, M),
11725 '$novel_production'(C, M),
11726 '$novel_production'(F, M)
11727 -> '$extend_history'(J, M),
11728 arg(2, J, N),
11729 setarg(2, J, active),
11730 ( arg(4, J, O),
11731 P is O+1,
11732 setarg(4, J, P)
11733 ),
11734 ( N==not_stored_yet
11735 -> J=suspension(_, _, _, _, _, Q, R),
11736 term_variables(term(Q, R), S),
11737 'chr none_locked'(S),
11738 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11739 T),
11740 U=[J|T],
11741 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11742 U),
11743 ( T=[V|_]
11744 -> setarg(5, V, U)
11745 ; true
11746 ),
11747 'attach_known/1_1_$special_=\\=/2___2'(S, J)
11748 ; true
11749 ),
11750 'known/1_1_$special_=\\=/2'(H, E),
11751 ( J=suspension(_, active, _, P, _, _, _)
11752 -> setarg(2, J, inactive),
11753 'known/1_1_$special_=\\=/2___2__0__2__5'(B,
11754 C,
11755 D,
11756 E,
11757 F,
11758 G,
11759 H,
11760 I,
11761 J)
11762 ; true
11763 )
11764 ; 'known/1_1_$special_=\\=/2___2__0__2__5'(B,
11765 C,
11766 D,
11767 E,
11768 F,
11769 G,
11770 H,
11771 I,
11772 J)
11773 ).
11774'known/1_1_$special_=\\=/2___2__0'(A, B, C) :-
11775 ( var(C)
11776 -> C=suspension(D, not_stored_yet, t, 0, _, A, B),
11777 'chr gen_id'(D)
11778 ; true
11779 ),
11780 'known/1_1_$special_=\\=/2___2__1'(A, B, C).
11781'known/1_1_$special_=\\=/2___2__1'(A, B, C) :-
11782 ( 'chr newvia_1'(A, D)
11783 -> get_attr(D, guard_entailment, E),
11784 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _)
11785 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
11786 F)
11787 ),
11788 !,
11789 'known/1_1_$special_=\\=/2___2__1__0__6'(F, A, B, C).
11790'known/1_1_$special_=\\=/2___2__1__0__6'([], A, B, C) :-
11791 'known/1_1_$special_=\\=/2___2__2'(A, B, C).
11792'known/1_1_$special_=\\=/2___2__1__0__6'([A|B], C, D, E) :-
11793 ( A=suspension(_, active, _, _, _, F, G),
11794 G==C,
11795 ( 'chr newvia_2'(C, D, H)
11796 -> get_attr(H, guard_entailment, I),
11797 I=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, J, _)
11798 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
11799 J)
11800 )
11801 -> 'known/1_1_$special_=\\=/2___2__1__1__6'(J,
11802 F,
11803 A,
11804 B,
11805 C,
11806 D,
11807 E)
11808 ; 'known/1_1_$special_=\\=/2___2__1__0__6'(B, C, D, E)
11809 ).
11810'known/1_1_$special_=\\=/2___2__1__1__6'([], _, _, A, B, C, D) :-
11811 'known/1_1_$special_=\\=/2___2__1__0__6'(A, B, C, D).
11812'known/1_1_$special_=\\=/2___2__1__1__6'([A|B], C, D, E, F, G, H) :-
11813 ( A=suspension(_, active, _, _, _, I, J),
11814 A\==D,
11815 I==F,
11816 J==G,
11817 ( 'chr newvia_2'(C, F, K)
11818 -> get_attr(K, guard_entailment, L),
11819 L=v(_, _, _, _, _, _, _, _, _, _, _, _, _, M, _, _, _, _, _, _, _, _)
11820 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11821 M)
11822 )
11823 -> 'known/1_1_$special_=\\=/2___2__1__2__6'(M,
11824 A,
11825 B,
11826 C,
11827 D,
11828 E,
11829 F,
11830 G,
11831 H)
11832 ; 'known/1_1_$special_=\\=/2___2__1__1__6'(B,
11833 C,
11834 D,
11835 E,
11836 F,
11837 G,
11838 H)
11839 ).
11840'known/1_1_$special_=\\=/2___2__1__2__6'([], _, A, B, C, D, E, F, G) :-
11841 'known/1_1_$special_=\\=/2___2__1__1__6'(A,
11842 B,
11843 C,
11844 D,
11845 E,
11846 F,
11847 G).
11848'known/1_1_$special_=\\=/2___2__1__2__6'([A|B], C, D, E, F, G, H, I, J) :-
11849 ( A=suspension(_, active, _, _, _, K, L),
11850 K==E,
11851 L==H,
11852 M=t(188, F, A, C, J),
11853 '$novel_production'(F, M),
11854 '$novel_production'(A, M),
11855 '$novel_production'(C, M),
11856 '$novel_production'(J, M)
11857 -> '$extend_history'(J, M),
11858 arg(2, J, N),
11859 setarg(2, J, active),
11860 ( arg(4, J, O),
11861 P is O+1,
11862 setarg(4, J, P)
11863 ),
11864 ( N==not_stored_yet
11865 -> J=suspension(_, _, _, _, _, Q, R),
11866 term_variables(term(Q, R), S),
11867 'chr none_locked'(S),
11868 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11869 T),
11870 U=[J|T],
11871 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11872 U),
11873 ( T=[V|_]
11874 -> setarg(5, V, U)
11875 ; true
11876 ),
11877 'attach_known/1_1_$special_=\\=/2___2'(S, J)
11878 ; true
11879 ),
11880 'known/1_1_$special_=\\=/2'(E, I),
11881 ( J=suspension(_, active, _, P, _, _, _)
11882 -> setarg(2, J, inactive),
11883 'known/1_1_$special_=\\=/2___2__1__2__6'(B,
11884 C,
11885 D,
11886 E,
11887 F,
11888 G,
11889 H,
11890 I,
11891 J)
11892 ; true
11893 )
11894 ; 'known/1_1_$special_=\\=/2___2__1__2__6'(B,
11895 C,
11896 D,
11897 E,
11898 F,
11899 G,
11900 H,
11901 I,
11902 J)
11903 ).
11904'known/1_1_$special_=\\=/2___2__1'(A, B, C) :-
11905 'known/1_1_$special_=\\=/2___2__2'(A, B, C).
11906'known/1_1_$special_=\\=/2___2__2'(A, B, C) :-
11907 number(B),
11908 number(A),
11909 A=:=B,
11910 !,
11911 ( var(C)
11912 -> true
11913 ; C=suspension(_, D, _, _, _, E, F),
11914 setarg(2, C, removed),
11915 ( D==not_stored_yet
11916 -> G=[]
11917 ; term_variables(term(E, F), G),
11918 arg(5, C, H),
11919 ( var(H)
11920 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11921 I),
11922 I=[_|J],
11923 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11924 J),
11925 ( J=[K|_]
11926 -> setarg(5, K, _)
11927 ; true
11928 )
11929 ; H=[_, _|J],
11930 setarg(2, H, J),
11931 ( J=[K|_]
11932 -> setarg(5, K, H)
11933 ; true
11934 )
11935 ),
11936 'detach_known/1_1_$special_=\\=/2___2'(G, C)
11937 )
11938 ),
11939 'known/1_1_$special_fail/0'.
11940'known/1_1_$special_=\\=/2___2__2'(A, B, C) :-
11941 B==A,
11942 !,
11943 ( var(C)
11944 -> true
11945 ; C=suspension(_, D, _, _, _, E, F),
11946 setarg(2, C, removed),
11947 ( D==not_stored_yet
11948 -> G=[]
11949 ; term_variables(term(E, F), G),
11950 arg(5, C, H),
11951 ( var(H)
11952 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11953 I),
11954 I=[_|J],
11955 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11956 J),
11957 ( J=[K|_]
11958 -> setarg(5, K, _)
11959 ; true
11960 )
11961 ; H=[_, _|J],
11962 setarg(2, H, J),
11963 ( J=[K|_]
11964 -> setarg(5, K, H)
11965 ; true
11966 )
11967 ),
11968 'detach_known/1_1_$special_=\\=/2___2'(G, C)
11969 )
11970 ),
11971 'known/1_1_$special_fail/0'.
11972'known/1_1_$special_=\\=/2___2__2'(A, B, C) :-
11973 ( 'chr newvia_2'(A, B, D)
11974 -> get_attr(D, guard_entailment, E),
11975 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F)
11976 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
11977 F)
11978 ),
11979 member(G, F),
11980 G=suspension(_, active, _, _, _, H, I),
11981 H==A,
11982 I==B,
11983 !,
11984 G=suspension(_, _, _, _, _, J, K),
11985 setarg(2, G, removed),
11986 term_variables(term(J, K), L),
11987 arg(5, G, M),
11988 ( var(M)
11989 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
11990 N),
11991 N=[_|O],
11992 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
11993 O),
11994 ( O=[P|_]
11995 -> setarg(5, P, _)
11996 ; true
11997 )
11998 ; M=[_, _|O],
11999 setarg(2, M, O),
12000 ( O=[P|_]
12001 -> setarg(5, P, M)
12002 ; true
12003 )
12004 ),
12005 'detach_known/1_1_$special_=:=/2___2'(L, G),
12006 ( var(C)
12007 -> true
12008 ; C=suspension(_, Q, _, _, _, R, S),
12009 setarg(2, C, removed),
12010 ( Q==not_stored_yet
12011 -> T=[]
12012 ; term_variables(term(R, S), T),
12013 arg(5, C, U),
12014 ( var(U)
12015 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12016 V),
12017 V=[_|W],
12018 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12019 W),
12020 ( W=[X|_]
12021 -> setarg(5, X, _)
12022 ; true
12023 )
12024 ; U=[_, _|W],
12025 setarg(2, U, W),
12026 ( W=[X|_]
12027 -> setarg(5, X, U)
12028 ; true
12029 )
12030 ),
12031 'detach_known/1_1_$special_=\\=/2___2'(T, C)
12032 )
12033 ),
12034 'known/1_1_$special_fail/0'.
12035'known/1_1_$special_=\\=/2___2__2'(A, B, C) :-
12036 '$novel_production'(C, 195),
12037 !,
12038 '$extend_history'(C, 195),
12039 arg(2, C, D),
12040 setarg(2, C, active),
12041 arg(4, C, E),
12042 F is E+1,
12043 setarg(4, C, F),
12044 ( D==not_stored_yet
12045 -> C=suspension(_, _, _, _, _, G, H),
12046 term_variables(term(G, H), I),
12047 'chr none_locked'(I),
12048 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12049 J),
12050 K=[C|J],
12051 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12052 K),
12053 ( J=[L|_]
12054 -> setarg(5, L, K)
12055 ; true
12056 ),
12057 'attach_known/1_1_$special_=\\=/2___2'(I, C)
12058 ; true
12059 ),
12060 'known/1_1_$special_=\\=/2'(B, A),
12061 ( C=suspension(_, active, _, F, _, _, _)
12062 -> setarg(2, C, inactive),
12063 'known/1_1_$special_=\\=/2___2__3'(A, B, C)
12064 ; true
12065 ).
12066'known/1_1_$special_=\\=/2___2__2'(A, B, C) :-
12067 'known/1_1_$special_=\\=/2___2__3'(A, B, C).
12068'known/1_1_$special_=\\=/2___2__3'(A, B, C) :-
12069 ( 'chr newvia_2'(A, B, D)
12070 -> get_attr(D, guard_entailment, E),
12071 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _, _)
12072 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12073 F)
12074 ),
12075 member(G, F),
12076 G=suspension(_, active, _, _, H),
12077 nonvar(H),
12078 H=(I=\=J),
12079 I==A,
12080 J==B,
12081 !,
12082 G=suspension(_, _, _, _, K),
12083 setarg(2, G, removed),
12084 term_variables(K, L),
12085 arg(4, G, M),
12086 ( var(M)
12087 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12088 N),
12089 N=[_|O],
12090 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12091 O),
12092 ( O=[P|_]
12093 -> setarg(4, P, _)
12094 ; true
12095 )
12096 ; M=[_, _|O],
12097 setarg(2, M, O),
12098 ( O=[P|_]
12099 -> setarg(4, P, M)
12100 ; true
12101 )
12102 ),
12103 'detach_known/1_1_$special_\\+/1___1'(L, G),
12104 ( var(C)
12105 -> true
12106 ; C=suspension(_, Q, _, _, _, R, S),
12107 setarg(2, C, removed),
12108 ( Q==not_stored_yet
12109 -> T=[]
12110 ; term_variables(term(R, S), T),
12111 arg(5, C, U),
12112 ( var(U)
12113 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12114 V),
12115 V=[_|W],
12116 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12117 W),
12118 ( W=[X|_]
12119 -> setarg(5, X, _)
12120 ; true
12121 )
12122 ; U=[_, _|W],
12123 setarg(2, U, W),
12124 ( W=[X|_]
12125 -> setarg(5, X, U)
12126 ; true
12127 )
12128 ),
12129 'detach_known/1_1_$special_=\\=/2___2'(T, C)
12130 )
12131 ),
12132 'known/1_1_$special_fail/0'.
12133'known/1_1_$special_=\\=/2___2__3'(A, B, C) :-
12134 ( 'chr newvia_2'(A, B, D)
12135 -> get_attr(D, guard_entailment, E),
12136 E=v(_, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
12137 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12138 F)
12139 ),
12140 !,
12141 'known/1_1_$special_=\\=/2___2__3__0__12'(F, A, B, C).
12142'known/1_1_$special_=\\=/2___2__3__0__12'([], A, B, C) :-
12143 'known/1_1_$special_=\\=/2___2__4'(A, B, C).
12144'known/1_1_$special_=\\=/2___2__3__0__12'([A|B], C, D, E) :-
12145 ( A=suspension(_, active, _, _, F, G),
12146 nonvar(F),
12147 F=(\+H),
12148 nonvar(H),
12149 H=(I=\=J),
12150 I==C,
12151 J==D
12152 -> A=suspension(_, _, _, _, K, L),
12153 setarg(2, A, removed),
12154 term_variables(term(K, L), M),
12155 ( arg(4, A, N),
12156 ( var(N)
12157 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12158 O),
12159 O=[_|P],
12160 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12161 P),
12162 ( P=[Q|_]
12163 -> setarg(4, Q, _)
12164 ; true
12165 )
12166 ; N=[_, _|P],
12167 setarg(2, N, P),
12168 ( P=[Q|_]
12169 -> setarg(4, Q, N)
12170 ; true
12171 )
12172 )
12173 ),
12174 'detach_known/1_1_$special_;/2___2'(M, A),
12175 arg(2, E, R),
12176 setarg(2, E, active),
12177 ( arg(4, E, S),
12178 T is S+1,
12179 setarg(4, E, T)
12180 ),
12181 ( R==not_stored_yet
12182 -> E=suspension(_, _, _, _, _, U, V),
12183 term_variables(term(U, V), W),
12184 'chr none_locked'(W),
12185 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12186 X),
12187 Y=[E|X],
12188 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12189 Y),
12190 ( X=[Z|_]
12191 -> setarg(5, Z, Y)
12192 ; true
12193 ),
12194 'attach_known/1_1_$special_=\\=/2___2'(W, E)
12195 ; true
12196 ),
12197 known(G),
12198 ( E=suspension(_, active, _, T, _, _, _)
12199 -> setarg(2, E, inactive),
12200 'known/1_1_$special_=\\=/2___2__3__0__12'(B,
12201 C,
12202 D,
12203 E)
12204 ; true
12205 )
12206 ; 'known/1_1_$special_=\\=/2___2__3__0__12'(B,
12207 C,
12208 D,
12209 E)
12210 ).
12211'known/1_1_$special_=\\=/2___2__3'(A, B, C) :-
12212 'known/1_1_$special_=\\=/2___2__4'(A, B, C).
12213'known/1_1_$special_=\\=/2___2__4'(A, B, C) :-
12214 ( 'chr newvia_2'(A, B, D)
12215 -> get_attr(D, guard_entailment, E),
12216 E=v(_, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
12217 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12218 F)
12219 ),
12220 !,
12221 'known/1_1_$special_=\\=/2___2__4__0__13'(F, A, B, C).
12222'known/1_1_$special_=\\=/2___2__4__0__13'([], A, B, C) :-
12223 'known/1_1_$special_=\\=/2___2__5'(A, B, C).
12224'known/1_1_$special_=\\=/2___2__4__0__13'([A|B], C, D, E) :-
12225 ( A=suspension(_, active, _, _, F, G),
12226 nonvar(F),
12227 F=(H, _),
12228 nonvar(H),
12229 H=(\+I),
12230 nonvar(I),
12231 I=(J=\=K),
12232 J==C,
12233 K==D
12234 -> A=suspension(_, _, _, _, L, M),
12235 setarg(2, A, removed),
12236 term_variables(term(L, M), N),
12237 ( arg(4, A, O),
12238 ( var(O)
12239 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12240 P),
12241 P=[_|Q],
12242 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12243 Q),
12244 ( Q=[R|_]
12245 -> setarg(4, R, _)
12246 ; true
12247 )
12248 ; O=[_, _|Q],
12249 setarg(2, O, Q),
12250 ( Q=[R|_]
12251 -> setarg(4, R, O)
12252 ; true
12253 )
12254 )
12255 ),
12256 'detach_known/1_1_$special_;/2___2'(N, A),
12257 arg(2, E, S),
12258 setarg(2, E, active),
12259 ( arg(4, E, T),
12260 U is T+1,
12261 setarg(4, E, U)
12262 ),
12263 ( S==not_stored_yet
12264 -> E=suspension(_, _, _, _, _, V, W),
12265 term_variables(term(V, W), X),
12266 'chr none_locked'(X),
12267 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12268 Y),
12269 Z=[E|Y],
12270 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12271 Z),
12272 ( Y=[A1|_]
12273 -> setarg(5, A1, Z)
12274 ; true
12275 ),
12276 'attach_known/1_1_$special_=\\=/2___2'(X, E)
12277 ; true
12278 ),
12279 known(G),
12280 ( E=suspension(_, active, _, U, _, _, _)
12281 -> setarg(2, E, inactive),
12282 'known/1_1_$special_=\\=/2___2__4__0__13'(B,
12283 C,
12284 D,
12285 E)
12286 ; true
12287 )
12288 ; 'known/1_1_$special_=\\=/2___2__4__0__13'(B,
12289 C,
12290 D,
12291 E)
12292 ).
12293'known/1_1_$special_=\\=/2___2__4'(A, B, C) :-
12294 'known/1_1_$special_=\\=/2___2__5'(A, B, C).
12295'known/1_1_$special_=\\=/2___2__5'(_, _, A) :-
12296 arg(2, A, B),
12297 setarg(2, A, active),
12298 arg(4, A, C),
12299 D is C+1,
12300 setarg(4, A, D),
12301 ( B==not_stored_yet
12302 -> A=suspension(_, _, _, _, _, E, F),
12303 term_variables(term(E, F), G),
12304 'chr none_locked'(G),
12305 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12306 H),
12307 I=[A|H],
12308 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12309 I),
12310 ( H=[J|_]
12311 -> setarg(5, J, I)
12312 ; true
12313 ),
12314 'attach_known/1_1_$special_=\\=/2___2'(G, A)
12315 ; true
12316 ).
12317'known/1_1_$special_\\+/1'(A) :-
12318 'known/1_1_$special_\\+/1___1__0'(A, _).
12319'known/1_1_$special_\\+/1___1__0'(A, B) :-
12320 ( 'chr newvia_1'(A, C)
12321 -> get_attr(C, guard_entailment, D),
12322 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
12323 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12324 E)
12325 ),
12326 member(F, E),
12327 F=suspension(_, active, _, _, G),
12328 G==A,
12329 !,
12330 ( var(B)
12331 -> true
12332 ; B=suspension(_, H, _, _, I),
12333 setarg(2, B, removed),
12334 ( H==not_stored_yet
12335 -> J=[]
12336 ; term_variables(I, J),
12337 arg(4, B, K),
12338 ( var(K)
12339 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12340 L),
12341 L=[_|M],
12342 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12343 M),
12344 ( M=[N|_]
12345 -> setarg(4, N, _)
12346 ; true
12347 )
12348 ; K=[_, _|M],
12349 setarg(2, K, M),
12350 ( M=[N|_]
12351 -> setarg(4, N, K)
12352 ; true
12353 )
12354 ),
12355 'detach_known/1_1_$special_\\+/1___1'(J, B)
12356 )
12357 ).
12358'known/1_1_$special_\\+/1___1__0'(_, A) :-
12359 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
12360 B),
12361 member(C, B),
12362 C=suspension(_, active, _),
12363 !,
12364 ( var(A)
12365 -> true
12366 ; A=suspension(_, D, _, _, E),
12367 setarg(2, A, removed),
12368 ( D==not_stored_yet
12369 -> F=[]
12370 ; term_variables(E, F),
12371 arg(4, A, G),
12372 ( var(G)
12373 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12374 H),
12375 H=[_|I],
12376 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12377 I),
12378 ( I=[J|_]
12379 -> setarg(4, J, _)
12380 ; true
12381 )
12382 ; G=[_, _|I],
12383 setarg(2, G, I),
12384 ( I=[J|_]
12385 -> setarg(4, J, G)
12386 ; true
12387 )
12388 ),
12389 'detach_known/1_1_$special_\\+/1___1'(F, A)
12390 )
12391 ).
12392'known/1_1_$special_\\+/1___1__0'(A, B) :-
12393 nonvar(A),
12394 ( ( ( ( ( ( ( ( ( ( ( A=functor(C, D, E),
12395 nonvar(C),
12396 'chr lock'(C),
12397 'chr lock'(D),
12398 'chr lock'(E),
12399 functor(C,
12400 D,
12401 E),
12402 'chr unlock'(C),
12403 'chr unlock'(D),
12404 'chr unlock'(E),
12405 !,
12406 ( var(B)
12407 -> true
12408 ; B=suspension(_, F, _, _, G),
12409 setarg(2, B, removed),
12410 ( F==not_stored_yet
12411 -> H=[]
12412 ; term_variables(G,
12413 H),
12414 arg(4, B, I),
12415 ( var(I)
12416 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12417 J),
12418 J=[_|K],
12419 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12420 K),
12421 ( K=[L|_]
12422 -> setarg(4,
12423 L,
12424 _)
12425 ; true
12426 )
12427 ; I=[_, _|K],
12428 setarg(2,
12429 I,
12430 K),
12431 ( K=[L|_]
12432 -> setarg(4,
12433 L,
12434 I)
12435 ; true
12436 )
12437 ),
12438 'detach_known/1_1_$special_\\+/1___1'(H,
12439 B)
12440 )
12441 ),
12442 'known/1_1_$special_fail/0'
12443 ; A=(M;N),
12444 ( 'chr newvia_2'(M,
12445 N,
12446 O)
12447 -> get_attr(O,
12448 guard_entailment,
12449 P),
12450 P=v(_, _, _, Q, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
12451 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12452 Q)
12453 ),
12454 member(R, Q),
12455 R=suspension(_, active, _, _, S, T),
12456 S==M,
12457 T==N,
12458 !,
12459 R=suspension(_, _, _, _, U, V),
12460 setarg(2, R, removed),
12461 term_variables(term(U,
12462 V),
12463 W),
12464 arg(4, R, X),
12465 ( var(X)
12466 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12467 Y),
12468 Y=[_|Z],
12469 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12470 Z),
12471 ( Z=[A1|_]
12472 -> setarg(4,
12473 A1,
12474 _)
12475 ; true
12476 )
12477 ; X=[_, _|Z],
12478 setarg(2,
12479 X,
12480 Z),
12481 ( Z=[A1|_]
12482 -> setarg(4,
12483 A1,
12484 X)
12485 ; true
12486 )
12487 ),
12488 'detach_known/1_1_$special_;/2___2'(W,
12489 R),
12490 ( var(B)
12491 -> true
12492 ; B=suspension(_, B1, _, _, C1),
12493 setarg(2, B, removed),
12494 ( B1==not_stored_yet
12495 -> D1=[]
12496 ; term_variables(C1,
12497 D1),
12498 arg(4,
12499 B,
12500 E1),
12501 ( var(E1)
12502 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12503 F1),
12504 F1=[_|G1],
12505 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12506 G1),
12507 ( G1=[H1|_]
12508 -> setarg(4,
12509 H1,
12510 _)
12511 ; true
12512 )
12513 ; E1=[_, _|G1],
12514 setarg(2,
12515 E1,
12516 G1),
12517 ( G1=[H1|_]
12518 -> setarg(4,
12519 H1,
12520 E1)
12521 ; true
12522 )
12523 ),
12524 'detach_known/1_1_$special_\\+/1___1'(D1,
12525 B)
12526 )
12527 ),
12528 'known/1_1_$special_fail/0'
12529 )
12530 ; A=nonvar(I1),
12531 ( 'chr newvia_1'(I1,
12532 J1)
12533 -> get_attr(J1,
12534 guard_entailment,
12535 K1),
12536 K1=v(_, _, _, _, L1, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
12537 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
12538 L1)
12539 ),
12540 member(M1, L1),
12541 M1=suspension(_, active, _, _, N1),
12542 N1==I1,
12543 !,
12544 M1=suspension(_, _, _, _, O1),
12545 setarg(2, M1, removed),
12546 term_variables(O1, P1),
12547 arg(4, M1, Q1),
12548 ( var(Q1)
12549 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
12550 R1),
12551 R1=[_|S1],
12552 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
12553 S1),
12554 ( S1=[T1|_]
12555 -> setarg(4, T1, _)
12556 ; true
12557 )
12558 ; Q1=[_, _|S1],
12559 setarg(2, Q1, S1),
12560 ( S1=[T1|_]
12561 -> setarg(4,
12562 T1,
12563 Q1)
12564 ; true
12565 )
12566 ),
12567 'detach_known/1_1_$special_nonvar/1___1'(P1,
12568 M1),
12569 ( var(B)
12570 -> true
12571 ; B=suspension(_, U1, _, _, V1),
12572 setarg(2, B, removed),
12573 ( U1==not_stored_yet
12574 -> W1=[]
12575 ; term_variables(V1,
12576 W1),
12577 arg(4, B, X1),
12578 ( var(X1)
12579 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12580 Y1),
12581 Y1=[_|Z1],
12582 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12583 Z1),
12584 ( Z1=[A2|_]
12585 -> setarg(4,
12586 A2,
12587 _)
12588 ; true
12589 )
12590 ; X1=[_, _|Z1],
12591 setarg(2,
12592 X1,
12593 Z1),
12594 ( Z1=[A2|_]
12595 -> setarg(4,
12596 A2,
12597 X1)
12598 ; true
12599 )
12600 ),
12601 'detach_known/1_1_$special_\\+/1___1'(W1,
12602 B)
12603 )
12604 ),
12605 'known/1_1_$special_fail/0'
12606 )
12607 ; A=var(B2),
12608 ( 'chr newvia_1'(B2, C2)
12609 -> get_attr(C2,
12610 guard_entailment,
12611 D2),
12612 D2=v(_, _, _, _, _, E2, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
12613 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
12614 E2)
12615 ),
12616 member(F2, E2),
12617 F2=suspension(_, active, _, _, G2),
12618 G2==B2,
12619 !,
12620 F2=suspension(_, _, _, _, H2),
12621 setarg(2, F2, removed),
12622 term_variables(H2, I2),
12623 arg(4, F2, J2),
12624 ( var(J2)
12625 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
12626 K2),
12627 K2=[_|L2],
12628 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
12629 L2),
12630 ( L2=[M2|_]
12631 -> setarg(4, M2, _)
12632 ; true
12633 )
12634 ; J2=[_, _|L2],
12635 setarg(2, J2, L2),
12636 ( L2=[M2|_]
12637 -> setarg(4, M2, J2)
12638 ; true
12639 )
12640 ),
12641 'detach_known/1_1_$special_var/1___1'(I2,
12642 F2),
12643 ( var(B)
12644 -> true
12645 ; B=suspension(_, N2, _, _, O2),
12646 setarg(2, B, removed),
12647 ( N2==not_stored_yet
12648 -> P2=[]
12649 ; term_variables(O2,
12650 P2),
12651 arg(4, B, Q2),
12652 ( var(Q2)
12653 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12654 R2),
12655 R2=[_|S2],
12656 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12657 S2),
12658 ( S2=[T2|_]
12659 -> setarg(4,
12660 T2,
12661 _)
12662 ; true
12663 )
12664 ; Q2=[_, _|S2],
12665 setarg(2,
12666 Q2,
12667 S2),
12668 ( S2=[T2|_]
12669 -> setarg(4,
12670 T2,
12671 Q2)
12672 ; true
12673 )
12674 ),
12675 'detach_known/1_1_$special_\\+/1___1'(P2,
12676 B)
12677 )
12678 ),
12679 'known/1_1_$special_fail/0'
12680 )
12681 ; A=atom(U2),
12682 ( 'chr newvia_1'(U2, V2)
12683 -> get_attr(V2,
12684 guard_entailment,
12685 W2),
12686 W2=v(_, _, _, _, _, _, X2, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
12687 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
12688 X2)
12689 ),
12690 member(Y2, X2),
12691 Y2=suspension(_, active, _, _, _, Z2),
12692 Z2==U2,
12693 !,
12694 Y2=suspension(_, _, _, _, _, A3),
12695 setarg(2, Y2, removed),
12696 term_variables(A3, B3),
12697 arg(5, Y2, C3),
12698 ( var(C3)
12699 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
12700 D3),
12701 D3=[_|E3],
12702 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
12703 E3),
12704 ( E3=[F3|_]
12705 -> setarg(5, F3, _)
12706 ; true
12707 )
12708 ; C3=[_, _|E3],
12709 setarg(2, C3, E3),
12710 ( E3=[F3|_]
12711 -> setarg(5, F3, C3)
12712 ; true
12713 )
12714 ),
12715 'detach_known/1_1_$special_atom/1___1'(B3,
12716 Y2),
12717 ( var(B)
12718 -> true
12719 ; B=suspension(_, G3, _, _, H3),
12720 setarg(2, B, removed),
12721 ( G3==not_stored_yet
12722 -> I3=[]
12723 ; term_variables(H3, I3),
12724 arg(4, B, J3),
12725 ( var(J3)
12726 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12727 K3),
12728 K3=[_|L3],
12729 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12730 L3),
12731 ( L3=[M3|_]
12732 -> setarg(4, M3, _)
12733 ; true
12734 )
12735 ; J3=[_, _|L3],
12736 setarg(2, J3, L3),
12737 ( L3=[M3|_]
12738 -> setarg(4,
12739 M3,
12740 J3)
12741 ; true
12742 )
12743 ),
12744 'detach_known/1_1_$special_\\+/1___1'(I3,
12745 B)
12746 )
12747 ),
12748 'known/1_1_$special_fail/0'
12749 )
12750 ; A=atomic(N3),
12751 ( 'chr newvia_1'(N3, O3)
12752 -> get_attr(O3,
12753 guard_entailment,
12754 P3),
12755 P3=v(_, _, _, _, _, _, _, Q3, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
12756 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
12757 Q3)
12758 ),
12759 member(R3, Q3),
12760 R3=suspension(_, active, _, _, _, S3),
12761 S3==N3,
12762 !,
12763 R3=suspension(_, _, _, _, _, T3),
12764 setarg(2, R3, removed),
12765 term_variables(T3, U3),
12766 arg(5, R3, V3),
12767 ( var(V3)
12768 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
12769 W3),
12770 W3=[_|X3],
12771 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
12772 X3),
12773 ( X3=[Y3|_]
12774 -> setarg(5, Y3, _)
12775 ; true
12776 )
12777 ; V3=[_, _|X3],
12778 setarg(2, V3, X3),
12779 ( X3=[Y3|_]
12780 -> setarg(5, Y3, V3)
12781 ; true
12782 )
12783 ),
12784 'detach_known/1_1_$special_atomic/1___1'(U3,
12785 R3),
12786 ( var(B)
12787 -> true
12788 ; B=suspension(_, Z3, _, _, A4),
12789 setarg(2, B, removed),
12790 ( Z3==not_stored_yet
12791 -> B4=[]
12792 ; term_variables(A4, B4),
12793 arg(4, B, C4),
12794 ( var(C4)
12795 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12796 D4),
12797 D4=[_|E4],
12798 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12799 E4),
12800 ( E4=[F4|_]
12801 -> setarg(4, F4, _)
12802 ; true
12803 )
12804 ; C4=[_, _|E4],
12805 setarg(2, C4, E4),
12806 ( E4=[F4|_]
12807 -> setarg(4, F4, C4)
12808 ; true
12809 )
12810 ),
12811 'detach_known/1_1_$special_\\+/1___1'(B4,
12812 B)
12813 )
12814 ),
12815 'known/1_1_$special_fail/0'
12816 )
12817 ; A=compound(G4),
12818 ( 'chr newvia_1'(G4, H4)
12819 -> get_attr(H4, guard_entailment, I4),
12820 I4=v(_, _, _, _, _, _, _, _, J4, _, _, _, _, _, _, _, _, _, _, _, _, _)
12821 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
12822 J4)
12823 ),
12824 member(K4, J4),
12825 K4=suspension(_, active, _, _, _, L4),
12826 L4==G4,
12827 !,
12828 K4=suspension(_, _, _, _, _, M4),
12829 setarg(2, K4, removed),
12830 term_variables(M4, N4),
12831 arg(5, K4, O4),
12832 ( var(O4)
12833 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
12834 P4),
12835 P4=[_|Q4],
12836 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
12837 Q4),
12838 ( Q4=[R4|_]
12839 -> setarg(5, R4, _)
12840 ; true
12841 )
12842 ; O4=[_, _|Q4],
12843 setarg(2, O4, Q4),
12844 ( Q4=[R4|_]
12845 -> setarg(5, R4, O4)
12846 ; true
12847 )
12848 ),
12849 'detach_known/1_1_$special_compound/1___1'(N4,
12850 K4),
12851 ( var(B)
12852 -> true
12853 ; B=suspension(_, S4, _, _, T4),
12854 setarg(2, B, removed),
12855 ( S4==not_stored_yet
12856 -> U4=[]
12857 ; term_variables(T4, U4),
12858 arg(4, B, V4),
12859 ( var(V4)
12860 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12861 W4),
12862 W4=[_|X4],
12863 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12864 X4),
12865 ( X4=[Y4|_]
12866 -> setarg(4, Y4, _)
12867 ; true
12868 )
12869 ; V4=[_, _|X4],
12870 setarg(2, V4, X4),
12871 ( X4=[Y4|_]
12872 -> setarg(4, Y4, V4)
12873 ; true
12874 )
12875 ),
12876 'detach_known/1_1_$special_\\+/1___1'(U4,
12877 B)
12878 )
12879 ),
12880 'known/1_1_$special_fail/0'
12881 )
12882 ; A=ground(Z4),
12883 ( 'chr newvia_1'(Z4, A5)
12884 -> get_attr(A5, guard_entailment, B5),
12885 B5=v(_, _, _, _, _, _, _, _, _, C5, _, _, _, _, _, _, _, _, _, _, _, _)
12886 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
12887 C5)
12888 ),
12889 member(D5, C5),
12890 D5=suspension(_, active, _, _, _, E5),
12891 E5==Z4,
12892 !,
12893 D5=suspension(_, _, _, _, _, F5),
12894 setarg(2, D5, removed),
12895 term_variables(F5, G5),
12896 arg(5, D5, H5),
12897 ( var(H5)
12898 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
12899 I5),
12900 I5=[_|J5],
12901 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
12902 J5),
12903 ( J5=[K5|_]
12904 -> setarg(5, K5, _)
12905 ; true
12906 )
12907 ; H5=[_, _|J5],
12908 setarg(2, H5, J5),
12909 ( J5=[K5|_]
12910 -> setarg(5, K5, H5)
12911 ; true
12912 )
12913 ),
12914 'detach_known/1_1_$special_ground/1___1'(G5,
12915 D5),
12916 ( var(B)
12917 -> true
12918 ; B=suspension(_, L5, _, _, M5),
12919 setarg(2, B, removed),
12920 ( L5==not_stored_yet
12921 -> N5=[]
12922 ; term_variables(M5, N5),
12923 arg(4, B, O5),
12924 ( var(O5)
12925 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12926 P5),
12927 P5=[_|Q5],
12928 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12929 Q5),
12930 ( Q5=[R5|_]
12931 -> setarg(4, R5, _)
12932 ; true
12933 )
12934 ; O5=[_, _|Q5],
12935 setarg(2, O5, Q5),
12936 ( Q5=[R5|_]
12937 -> setarg(4, R5, O5)
12938 ; true
12939 )
12940 ),
12941 'detach_known/1_1_$special_\\+/1___1'(N5,
12942 B)
12943 )
12944 ),
12945 'known/1_1_$special_fail/0'
12946 )
12947 ; A=integer(S5),
12948 ( 'chr newvia_1'(S5, T5)
12949 -> get_attr(T5, guard_entailment, U5),
12950 U5=v(_, _, _, _, _, _, _, _, _, _, V5, _, _, _, _, _, _, _, _, _, _, _)
12951 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
12952 V5)
12953 ),
12954 member(W5, V5),
12955 W5=suspension(_, active, _, _, _, X5),
12956 X5==S5,
12957 !,
12958 W5=suspension(_, _, _, _, _, Y5),
12959 setarg(2, W5, removed),
12960 term_variables(Y5, Z5),
12961 arg(5, W5, A6),
12962 ( var(A6)
12963 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
12964 B6),
12965 B6=[_|C6],
12966 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
12967 C6),
12968 ( C6=[D6|_]
12969 -> setarg(5, D6, _)
12970 ; true
12971 )
12972 ; A6=[_, _|C6],
12973 setarg(2, A6, C6),
12974 ( C6=[D6|_]
12975 -> setarg(5, D6, A6)
12976 ; true
12977 )
12978 ),
12979 'detach_known/1_1_$special_integer/1___1'(Z5,
12980 W5),
12981 ( var(B)
12982 -> true
12983 ; B=suspension(_, E6, _, _, F6),
12984 setarg(2, B, removed),
12985 ( E6==not_stored_yet
12986 -> G6=[]
12987 ; term_variables(F6, G6),
12988 arg(4, B, H6),
12989 ( var(H6)
12990 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12991 I6),
12992 I6=[_|J6],
12993 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12994 J6),
12995 ( J6=[K6|_]
12996 -> setarg(4, K6, _)
12997 ; true
12998 )
12999 ; H6=[_, _|J6],
13000 setarg(2, H6, J6),
13001 ( J6=[K6|_]
13002 -> setarg(4, K6, H6)
13003 ; true
13004 )
13005 ),
13006 'detach_known/1_1_$special_\\+/1___1'(G6,
13007 B)
13008 )
13009 ),
13010 'known/1_1_$special_fail/0'
13011 )
13012 ; A=float(L6),
13013 ( 'chr newvia_1'(L6, M6)
13014 -> get_attr(M6, guard_entailment, N6),
13015 N6=v(_, _, _, _, _, _, _, _, _, _, _, O6, _, _, _, _, _, _, _, _, _, _)
13016 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
13017 O6)
13018 ),
13019 member(P6, O6),
13020 P6=suspension(_, active, _, _, _, Q6),
13021 Q6==L6,
13022 !,
13023 P6=suspension(_, _, _, _, _, R6),
13024 setarg(2, P6, removed),
13025 term_variables(R6, S6),
13026 arg(5, P6, T6),
13027 ( var(T6)
13028 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
13029 U6),
13030 U6=[_|V6],
13031 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
13032 V6),
13033 ( V6=[W6|_]
13034 -> setarg(5, W6, _)
13035 ; true
13036 )
13037 ; T6=[_, _|V6],
13038 setarg(2, T6, V6),
13039 ( V6=[W6|_]
13040 -> setarg(5, W6, T6)
13041 ; true
13042 )
13043 ),
13044 'detach_known/1_1_$special_float/1___1'(S6, P6),
13045 ( var(B)
13046 -> true
13047 ; B=suspension(_, X6, _, _, Y6),
13048 setarg(2, B, removed),
13049 ( X6==not_stored_yet
13050 -> Z6=[]
13051 ; term_variables(Y6, Z6),
13052 arg(4, B, A7),
13053 ( var(A7)
13054 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13055 B7),
13056 B7=[_|C7],
13057 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13058 C7),
13059 ( C7=[D7|_]
13060 -> setarg(4, D7, _)
13061 ; true
13062 )
13063 ; A7=[_, _|C7],
13064 setarg(2, A7, C7),
13065 ( C7=[D7|_]
13066 -> setarg(4, D7, A7)
13067 ; true
13068 )
13069 ),
13070 'detach_known/1_1_$special_\\+/1___1'(Z6, B)
13071 )
13072 ),
13073 'known/1_1_$special_fail/0'
13074 )
13075 ; A=number(E7),
13076 ( 'chr newvia_1'(E7, F7)
13077 -> get_attr(F7, guard_entailment, G7),
13078 G7=v(_, _, _, _, _, _, _, _, _, _, _, _, H7, _, _, _, _, _, _, _, _, _)
13079 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
13080 H7)
13081 ),
13082 member(I7, H7),
13083 I7=suspension(_, active, _, _, _, J7),
13084 J7==E7,
13085 !,
13086 I7=suspension(_, _, _, _, _, K7),
13087 setarg(2, I7, removed),
13088 term_variables(K7, L7),
13089 arg(5, I7, M7),
13090 ( var(M7)
13091 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
13092 N7),
13093 N7=[_|O7],
13094 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
13095 O7),
13096 ( O7=[P7|_]
13097 -> setarg(5, P7, _)
13098 ; true
13099 )
13100 ; M7=[_, _|O7],
13101 setarg(2, M7, O7),
13102 ( O7=[P7|_]
13103 -> setarg(5, P7, M7)
13104 ; true
13105 )
13106 ),
13107 'detach_known/1_1_$special_number/1___1'(L7, I7),
13108 ( var(B)
13109 -> true
13110 ; B=suspension(_, Q7, _, _, R7),
13111 setarg(2, B, removed),
13112 ( Q7==not_stored_yet
13113 -> S7=[]
13114 ; term_variables(R7, S7),
13115 arg(4, B, T7),
13116 ( var(T7)
13117 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13118 U7),
13119 U7=[_|V7],
13120 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13121 V7),
13122 ( V7=[W7|_]
13123 -> setarg(4, W7, _)
13124 ; true
13125 )
13126 ; T7=[_, _|V7],
13127 setarg(2, T7, V7),
13128 ( V7=[W7|_]
13129 -> setarg(4, W7, T7)
13130 ; true
13131 )
13132 ),
13133 'detach_known/1_1_$special_\\+/1___1'(S7, B)
13134 )
13135 ),
13136 'known/1_1_$special_fail/0'
13137 )
13138 ; A=(X7=\=Y7),
13139 ( 'chr newvia_2'(X7, Y7, Z7)
13140 -> get_attr(Z7, guard_entailment, A8),
13141 A8=v(_, _, _, _, _, _, _, _, _, _, _, _, _, B8, _, _, _, _, _, _, _, _)
13142 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
13143 B8)
13144 ),
13145 member(C8, B8),
13146 C8=suspension(_, active, _, _, _, D8, E8),
13147 D8==X7,
13148 E8==Y7,
13149 !,
13150 C8=suspension(_, _, _, _, _, F8, G8),
13151 setarg(2, C8, removed),
13152 term_variables(term(F8, G8), H8),
13153 arg(5, C8, I8),
13154 ( var(I8)
13155 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
13156 J8),
13157 J8=[_|K8],
13158 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
13159 K8),
13160 ( K8=[L8|_]
13161 -> setarg(5, L8, _)
13162 ; true
13163 )
13164 ; I8=[_, _|K8],
13165 setarg(2, I8, K8),
13166 ( K8=[L8|_]
13167 -> setarg(5, L8, I8)
13168 ; true
13169 )
13170 ),
13171 'detach_known/1_1_$special_=\\=/2___2'(H8, C8),
13172 ( var(B)
13173 -> true
13174 ; B=suspension(_, M8, _, _, N8),
13175 setarg(2, B, removed),
13176 ( M8==not_stored_yet
13177 -> O8=[]
13178 ; term_variables(N8, O8),
13179 arg(4, B, P8),
13180 ( var(P8)
13181 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13182 Q8),
13183 Q8=[_|R8],
13184 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13185 R8),
13186 ( R8=[S8|_]
13187 -> setarg(4, S8, _)
13188 ; true
13189 )
13190 ; P8=[_, _|R8],
13191 setarg(2, P8, R8),
13192 ( R8=[S8|_]
13193 -> setarg(4, S8, P8)
13194 ; true
13195 )
13196 ),
13197 'detach_known/1_1_$special_\\+/1___1'(O8, B)
13198 )
13199 ),
13200 'known/1_1_$special_fail/0'
13201 ).
13202'known/1_1_$special_\\+/1___1__0'(A, B) :-
13203 ( 'chr newvia_1'(A, C)
13204 -> get_attr(C, guard_entailment, D),
13205 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
13206 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13207 E)
13208 ),
13209 member(F, E),
13210 F=suspension(_, active, _, _, G),
13211 nonvar(G),
13212 G=(\+H),
13213 H==A,
13214 !,
13215 F=suspension(_, _, _, _, I),
13216 setarg(2, F, removed),
13217 term_variables(I, J),
13218 arg(4, F, K),
13219 ( var(K)
13220 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13221 L),
13222 L=[_|M],
13223 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13224 M),
13225 ( M=[N|_]
13226 -> setarg(4, N, _)
13227 ; true
13228 )
13229 ; K=[_, _|M],
13230 setarg(2, K, M),
13231 ( M=[N|_]
13232 -> setarg(4, N, K)
13233 ; true
13234 )
13235 ),
13236 'detach_known/1_1_$special_\\+/1___1'(J, F),
13237 ( var(B)
13238 -> true
13239 ; B=suspension(_, O, _, _, P),
13240 setarg(2, B, removed),
13241 ( O==not_stored_yet
13242 -> Q=[]
13243 ; term_variables(P, Q),
13244 arg(4, B, R),
13245 ( var(R)
13246 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13247 S),
13248 S=[_|T],
13249 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13250 T),
13251 ( T=[U|_]
13252 -> setarg(4, U, _)
13253 ; true
13254 )
13255 ; R=[_, _|T],
13256 setarg(2, R, T),
13257 ( T=[U|_]
13258 -> setarg(4, U, R)
13259 ; true
13260 )
13261 ),
13262 'detach_known/1_1_$special_\\+/1___1'(Q, B)
13263 )
13264 ),
13265 'known/1_1_$special_fail/0'.
13266'known/1_1_$special_\\+/1___1__0'(A, B) :-
13267 nonvar(A),
13268 ( ( ( ( ( ( ( A=(\+C),
13269 ( 'chr newvia_1'(C, D)
13270 -> get_attr(D, guard_entailment, E),
13271 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _, _)
13272 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13273 F)
13274 ),
13275 member(G, F),
13276 G=suspension(_, active, _, _, H),
13277 H==C,
13278 !,
13279 G=suspension(_, _, _, _, I),
13280 setarg(2, G, removed),
13281 term_variables(I, J),
13282 arg(4, G, K),
13283 ( var(K)
13284 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13285 L),
13286 L=[_|M],
13287 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13288 M),
13289 ( M=[N|_]
13290 -> setarg(4, N, _)
13291 ; true
13292 )
13293 ; K=[_, _|M],
13294 setarg(2, K, M),
13295 ( M=[N|_]
13296 -> setarg(4, N, K)
13297 ; true
13298 )
13299 ),
13300 'detach_known/1_1_$special_\\+/1___1'(J,
13301 G),
13302 ( var(B)
13303 -> true
13304 ; B=suspension(_, O, _, _, P),
13305 setarg(2, B, removed),
13306 ( O==not_stored_yet
13307 -> Q=[]
13308 ; term_variables(P, Q),
13309 arg(4, B, R),
13310 ( var(R)
13311 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13312 S),
13313 S=[_|T],
13314 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13315 T),
13316 ( T=[U|_]
13317 -> setarg(4, U, _)
13318 ; true
13319 )
13320 ; R=[_, _|T],
13321 setarg(2, R, T),
13322 ( T=[U|_]
13323 -> setarg(4, U, R)
13324 ; true
13325 )
13326 ),
13327 'detach_known/1_1_$special_\\+/1___1'(Q,
13328 B)
13329 )
13330 ),
13331 'known/1_1_$special_fail/0'
13332 ; A=functor(V, W, X),
13333 ( 'chr newvia'([V, W, X],
13334 Y)
13335 -> get_attr(Y,
13336 guard_entailment,
13337 Z),
13338 Z=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, A1, _, _, _, _, _, _)
13339 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
13340 A1)
13341 ),
13342 member(B1, A1),
13343 B1=suspension(_, active, _, _, C1, D1, E1),
13344 C1==V,
13345 D1==W,
13346 E1==X,
13347 !,
13348 B1=suspension(_, _, _, _, F1, G1, H1),
13349 setarg(2, B1, removed),
13350 term_variables(term(F1,
13351 G1,
13352 H1),
13353 I1),
13354 arg(4, B1, J1),
13355 ( var(J1)
13356 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
13357 K1),
13358 K1=[_|L1],
13359 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
13360 L1),
13361 ( L1=[M1|_]
13362 -> setarg(4, M1, _)
13363 ; true
13364 )
13365 ; J1=[_, _|L1],
13366 setarg(2, J1, L1),
13367 ( L1=[M1|_]
13368 -> setarg(4, M1, J1)
13369 ; true
13370 )
13371 ),
13372 'detach_known/1_1_$special_functor/3___3'(I1,
13373 B1),
13374 ( var(B)
13375 -> true
13376 ; B=suspension(_, N1, _, _, O1),
13377 setarg(2, B, removed),
13378 ( N1==not_stored_yet
13379 -> P1=[]
13380 ; term_variables(O1, P1),
13381 arg(4, B, Q1),
13382 ( var(Q1)
13383 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13384 R1),
13385 R1=[_|S1],
13386 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13387 S1),
13388 ( S1=[T1|_]
13389 -> setarg(4, T1, _)
13390 ; true
13391 )
13392 ; Q1=[_, _|S1],
13393 setarg(2, Q1, S1),
13394 ( S1=[T1|_]
13395 -> setarg(4, T1, Q1)
13396 ; true
13397 )
13398 ),
13399 'detach_known/1_1_$special_\\+/1___1'(P1,
13400 B)
13401 )
13402 ),
13403 'known/1_1_$special_fail/0'
13404 )
13405 ; A=(U1\=V1),
13406 ( 'chr newvia_2'(U1, V1, W1)
13407 -> get_attr(W1, guard_entailment, X1),
13408 X1=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, Y1, _, _, _, _, _)
13409 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
13410 Y1)
13411 ),
13412 member(Z1, Y1),
13413 Z1=suspension(_, active, _, _, _, A2, B2),
13414 A2==U1,
13415 B2==V1,
13416 !,
13417 Z1=suspension(_, _, _, _, _, C2, D2),
13418 setarg(2, Z1, removed),
13419 term_variables(term(C2, D2), E2),
13420 arg(5, Z1, F2),
13421 ( var(F2)
13422 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
13423 G2),
13424 G2=[_|H2],
13425 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
13426 H2),
13427 ( H2=[I2|_]
13428 -> setarg(5, I2, _)
13429 ; true
13430 )
13431 ; F2=[_, _|H2],
13432 setarg(2, F2, H2),
13433 ( H2=[I2|_]
13434 -> setarg(5, I2, F2)
13435 ; true
13436 )
13437 ),
13438 'detach_known/1_1_$special_\\=/2___2'(E2,
13439 Z1),
13440 ( var(B)
13441 -> true
13442 ; B=suspension(_, J2, _, _, K2),
13443 setarg(2, B, removed),
13444 ( J2==not_stored_yet
13445 -> L2=[]
13446 ; term_variables(K2, L2),
13447 arg(4, B, M2),
13448 ( var(M2)
13449 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13450 N2),
13451 N2=[_|O2],
13452 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13453 O2),
13454 ( O2=[P2|_]
13455 -> setarg(4, P2, _)
13456 ; true
13457 )
13458 ; M2=[_, _|O2],
13459 setarg(2, M2, O2),
13460 ( O2=[P2|_]
13461 -> setarg(4, P2, M2)
13462 ; true
13463 )
13464 ),
13465 'detach_known/1_1_$special_\\+/1___1'(L2,
13466 B)
13467 )
13468 ),
13469 'known/1_1_$special_fail/0'
13470 )
13471 ; A=(Q2=R2),
13472 ( 'chr newvia_2'(Q2, R2, S2)
13473 -> get_attr(S2, guard_entailment, T2),
13474 T2=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, U2, _, _, _, _)
13475 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
13476 U2)
13477 ),
13478 member(V2, U2),
13479 V2=suspension(_, active, _, _, W2, X2),
13480 W2==Q2,
13481 X2==R2,
13482 !,
13483 V2=suspension(_, _, _, _, Y2, Z2),
13484 setarg(2, V2, removed),
13485 term_variables(term(Y2, Z2), A3),
13486 arg(4, V2, B3),
13487 ( var(B3)
13488 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
13489 C3),
13490 C3=[_|D3],
13491 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
13492 D3),
13493 ( D3=[E3|_]
13494 -> setarg(4, E3, _)
13495 ; true
13496 )
13497 ; B3=[_, _|D3],
13498 setarg(2, B3, D3),
13499 ( D3=[E3|_]
13500 -> setarg(4, E3, B3)
13501 ; true
13502 )
13503 ),
13504 'detach_known/1_1_$special_=/2___2'(A3, V2),
13505 ( var(B)
13506 -> true
13507 ; B=suspension(_, F3, _, _, G3),
13508 setarg(2, B, removed),
13509 ( F3==not_stored_yet
13510 -> H3=[]
13511 ; term_variables(G3, H3),
13512 arg(4, B, I3),
13513 ( var(I3)
13514 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13515 J3),
13516 J3=[_|K3],
13517 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13518 K3),
13519 ( K3=[L3|_]
13520 -> setarg(4, L3, _)
13521 ; true
13522 )
13523 ; I3=[_, _|K3],
13524 setarg(2, I3, K3),
13525 ( K3=[L3|_]
13526 -> setarg(4, L3, I3)
13527 ; true
13528 )
13529 ),
13530 'detach_known/1_1_$special_\\+/1___1'(H3,
13531 B)
13532 )
13533 ),
13534 'known/1_1_$special_fail/0'
13535 )
13536 ; A=(M3\==N3),
13537 ( 'chr newvia_2'(M3, N3, O3)
13538 -> get_attr(O3, guard_entailment, P3),
13539 P3=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, Q3, _, _, _)
13540 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
13541 Q3)
13542 ),
13543 member(R3, Q3),
13544 R3=suspension(_, active, _, _, _, S3, T3),
13545 S3==M3,
13546 T3==N3,
13547 !,
13548 R3=suspension(_, _, _, _, _, U3, V3),
13549 setarg(2, R3, removed),
13550 term_variables(term(U3, V3), W3),
13551 arg(5, R3, X3),
13552 ( var(X3)
13553 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
13554 Y3),
13555 Y3=[_|Z3],
13556 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
13557 Z3),
13558 ( Z3=[A4|_]
13559 -> setarg(5, A4, _)
13560 ; true
13561 )
13562 ; X3=[_, _|Z3],
13563 setarg(2, X3, Z3),
13564 ( Z3=[A4|_]
13565 -> setarg(5, A4, X3)
13566 ; true
13567 )
13568 ),
13569 'detach_known/1_1_$special_\\==/2___2'(W3, R3),
13570 ( var(B)
13571 -> true
13572 ; B=suspension(_, B4, _, _, C4),
13573 setarg(2, B, removed),
13574 ( B4==not_stored_yet
13575 -> D4=[]
13576 ; term_variables(C4, D4),
13577 arg(4, B, E4),
13578 ( var(E4)
13579 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13580 F4),
13581 F4=[_|G4],
13582 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13583 G4),
13584 ( G4=[H4|_]
13585 -> setarg(4, H4, _)
13586 ; true
13587 )
13588 ; E4=[_, _|G4],
13589 setarg(2, E4, G4),
13590 ( G4=[H4|_]
13591 -> setarg(4, H4, E4)
13592 ; true
13593 )
13594 ),
13595 'detach_known/1_1_$special_\\+/1___1'(D4,
13596 B)
13597 )
13598 ),
13599 'known/1_1_$special_fail/0'
13600 )
13601 ; A=(I4==J4),
13602 ( 'chr newvia_2'(I4, J4, K4)
13603 -> get_attr(K4, guard_entailment, L4),
13604 L4=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, M4, _, _)
13605 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
13606 M4)
13607 ),
13608 member(N4, M4),
13609 N4=suspension(_, active, _, _, _, O4, P4),
13610 O4==I4,
13611 P4==J4,
13612 !,
13613 N4=suspension(_, _, _, _, _, Q4, R4),
13614 setarg(2, N4, removed),
13615 term_variables(term(Q4, R4), S4),
13616 arg(5, N4, T4),
13617 ( var(T4)
13618 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
13619 U4),
13620 U4=[_|V4],
13621 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
13622 V4),
13623 ( V4=[W4|_]
13624 -> setarg(5, W4, _)
13625 ; true
13626 )
13627 ; T4=[_, _|V4],
13628 setarg(2, T4, V4),
13629 ( V4=[W4|_]
13630 -> setarg(5, W4, T4)
13631 ; true
13632 )
13633 ),
13634 'detach_known/1_1_$special_==/2___2'(S4, N4),
13635 ( var(B)
13636 -> true
13637 ; B=suspension(_, X4, _, _, Y4),
13638 setarg(2, B, removed),
13639 ( X4==not_stored_yet
13640 -> Z4=[]
13641 ; term_variables(Y4, Z4),
13642 arg(4, B, A5),
13643 ( var(A5)
13644 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13645 B5),
13646 B5=[_|C5],
13647 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13648 C5),
13649 ( C5=[D5|_]
13650 -> setarg(4, D5, _)
13651 ; true
13652 )
13653 ; A5=[_, _|C5],
13654 setarg(2, A5, C5),
13655 ( C5=[D5|_]
13656 -> setarg(4, D5, A5)
13657 ; true
13658 )
13659 ),
13660 'detach_known/1_1_$special_\\+/1___1'(Z4, B)
13661 )
13662 ),
13663 'known/1_1_$special_fail/0'
13664 )
13665 ; A=(E5=<F5),
13666 ( 'chr newvia_2'(E5, F5, G5)
13667 -> get_attr(G5, guard_entailment, H5),
13668 H5=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, I5, _)
13669 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
13670 I5)
13671 ),
13672 member(J5, I5),
13673 J5=suspension(_, active, _, _, _, K5, L5),
13674 K5==E5,
13675 L5==F5,
13676 !,
13677 J5=suspension(_, _, _, _, _, M5, N5),
13678 setarg(2, J5, removed),
13679 term_variables(term(M5, N5), O5),
13680 arg(5, J5, P5),
13681 ( var(P5)
13682 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
13683 Q5),
13684 Q5=[_|R5],
13685 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
13686 R5),
13687 ( R5=[S5|_]
13688 -> setarg(5, S5, _)
13689 ; true
13690 )
13691 ; P5=[_, _|R5],
13692 setarg(2, P5, R5),
13693 ( R5=[S5|_]
13694 -> setarg(5, S5, P5)
13695 ; true
13696 )
13697 ),
13698 'detach_known/1_1_$special_=</2___2'(O5, J5),
13699 ( var(B)
13700 -> true
13701 ; B=suspension(_, T5, _, _, U5),
13702 setarg(2, B, removed),
13703 ( T5==not_stored_yet
13704 -> V5=[]
13705 ; term_variables(U5, V5),
13706 arg(4, B, W5),
13707 ( var(W5)
13708 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13709 X5),
13710 X5=[_|Y5],
13711 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13712 Y5),
13713 ( Y5=[Z5|_]
13714 -> setarg(4, Z5, _)
13715 ; true
13716 )
13717 ; W5=[_, _|Y5],
13718 setarg(2, W5, Y5),
13719 ( Y5=[Z5|_]
13720 -> setarg(4, Z5, W5)
13721 ; true
13722 )
13723 ),
13724 'detach_known/1_1_$special_\\+/1___1'(V5, B)
13725 )
13726 ),
13727 'known/1_1_$special_fail/0'
13728 )
13729 ; A=(A6=:=B6),
13730 ( 'chr newvia_2'(A6, B6, C6)
13731 -> get_attr(C6, guard_entailment, D6),
13732 D6=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E6)
13733 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
13734 E6)
13735 ),
13736 member(F6, E6),
13737 F6=suspension(_, active, _, _, _, G6, H6),
13738 G6==A6,
13739 H6==B6,
13740 !,
13741 F6=suspension(_, _, _, _, _, I6, J6),
13742 setarg(2, F6, removed),
13743 term_variables(term(I6, J6), K6),
13744 arg(5, F6, L6),
13745 ( var(L6)
13746 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
13747 M6),
13748 M6=[_|N6],
13749 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
13750 N6),
13751 ( N6=[O6|_]
13752 -> setarg(5, O6, _)
13753 ; true
13754 )
13755 ; L6=[_, _|N6],
13756 setarg(2, L6, N6),
13757 ( N6=[O6|_]
13758 -> setarg(5, O6, L6)
13759 ; true
13760 )
13761 ),
13762 'detach_known/1_1_$special_=:=/2___2'(K6, F6),
13763 ( var(B)
13764 -> true
13765 ; B=suspension(_, P6, _, _, Q6),
13766 setarg(2, B, removed),
13767 ( P6==not_stored_yet
13768 -> R6=[]
13769 ; term_variables(Q6, R6),
13770 arg(4, B, S6),
13771 ( var(S6)
13772 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13773 T6),
13774 T6=[_|U6],
13775 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13776 U6),
13777 ( U6=[V6|_]
13778 -> setarg(4, V6, _)
13779 ; true
13780 )
13781 ; S6=[_, _|U6],
13782 setarg(2, S6, U6),
13783 ( U6=[V6|_]
13784 -> setarg(4, V6, S6)
13785 ; true
13786 )
13787 ),
13788 'detach_known/1_1_$special_\\+/1___1'(R6, B)
13789 )
13790 ),
13791 'known/1_1_$special_fail/0'
13792 ).
13793'known/1_1_$special_\\+/1___1__0'(A, B) :-
13794 ( 'chr newvia_1'(A, C)
13795 -> get_attr(C, guard_entailment, D),
13796 D=v(_, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
13797 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
13798 E)
13799 ),
13800 member(F, E),
13801 F=suspension(_, active, _, _, G),
13802 G==A,
13803 !,
13804 F=suspension(_, _, _, _, H),
13805 setarg(2, F, removed),
13806 term_variables(H, I),
13807 arg(4, F, J),
13808 ( var(J)
13809 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
13810 K),
13811 K=[_|L],
13812 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
13813 L),
13814 ( L=[M|_]
13815 -> setarg(4, M, _)
13816 ; true
13817 )
13818 ; J=[_, _|L],
13819 setarg(2, J, L),
13820 ( L=[M|_]
13821 -> setarg(4, M, J)
13822 ; true
13823 )
13824 ),
13825 'detach_known/1_1_$default___1'(I, F),
13826 ( var(B)
13827 -> true
13828 ; B=suspension(_, N, _, _, O),
13829 setarg(2, B, removed),
13830 ( N==not_stored_yet
13831 -> P=[]
13832 ; term_variables(O, P),
13833 arg(4, B, Q),
13834 ( var(Q)
13835 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13836 R),
13837 R=[_|S],
13838 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13839 S),
13840 ( S=[T|_]
13841 -> setarg(4, T, _)
13842 ; true
13843 )
13844 ; Q=[_, _|S],
13845 setarg(2, Q, S),
13846 ( S=[T|_]
13847 -> setarg(4, T, Q)
13848 ; true
13849 )
13850 ),
13851 'detach_known/1_1_$special_\\+/1___1'(P, B)
13852 )
13853 ),
13854 'known/1_1_$special_fail/0'.
13855'known/1_1_$special_\\+/1___1__0'(A, B) :-
13856 ( 'chr newvia_1'(A, C)
13857 -> get_attr(C, guard_entailment, D),
13858 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
13859 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
13860 E)
13861 ),
13862 !,
13863 ( var(B)
13864 -> B=suspension(F, not_stored_yet, 0, _, A),
13865 'chr gen_id'(F)
13866 ; true
13867 ),
13868 'known/1_1_$special_\\+/1___1__0__0__33'(E, A, B).
13869'known/1_1_$special_\\+/1___1__0__0__33'([], A, B) :-
13870 'known/1_1_$special_\\+/1___1__1'(A, B).
13871'known/1_1_$special_\\+/1___1__0__0__33'([A|B], C, D) :-
13872 ( A=suspension(_, active, _, _, E, F),
13873 nonvar(E),
13874 E=(\+G),
13875 nonvar(G),
13876 G=(\+H),
13877 H==C
13878 -> A=suspension(_, _, _, _, I, J),
13879 setarg(2, A, removed),
13880 term_variables(term(I, J), K),
13881 ( arg(4, A, L),
13882 ( var(L)
13883 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
13884 M),
13885 M=[_|N],
13886 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
13887 N),
13888 ( N=[O|_]
13889 -> setarg(4, O, _)
13890 ; true
13891 )
13892 ; L=[_, _|N],
13893 setarg(2, L, N),
13894 ( N=[O|_]
13895 -> setarg(4, O, L)
13896 ; true
13897 )
13898 )
13899 ),
13900 'detach_known/1_1_$special_;/2___2'(K, A),
13901 arg(2, D, P),
13902 setarg(2, D, active),
13903 ( arg(3, D, Q),
13904 R is Q+1,
13905 setarg(3, D, R)
13906 ),
13907 ( P==not_stored_yet
13908 -> D=suspension(_, _, _, _, S),
13909 term_variables(S, T),
13910 'chr none_locked'(T),
13911 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13912 U),
13913 V=[D|U],
13914 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13915 V),
13916 ( U=[W|_]
13917 -> setarg(4, W, V)
13918 ; true
13919 ),
13920 'attach_known/1_1_$special_\\+/1___1'(T, D)
13921 ; true
13922 ),
13923 known(F),
13924 ( D=suspension(_, active, R, _, _)
13925 -> setarg(2, D, inactive),
13926 'known/1_1_$special_\\+/1___1__0__0__33'(B, C, D)
13927 ; true
13928 )
13929 ; 'known/1_1_$special_\\+/1___1__0__0__33'(B, C, D)
13930 ).
13931'known/1_1_$special_\\+/1___1__0'(A, B) :-
13932 ( var(B)
13933 -> B=suspension(C, not_stored_yet, 0, _, A),
13934 'chr gen_id'(C)
13935 ; true
13936 ),
13937 'known/1_1_$special_\\+/1___1__1'(A, B).
13938'known/1_1_$special_\\+/1___1__1'(A, B) :-
13939 ( 'chr newvia_1'(A, C)
13940 -> get_attr(C, guard_entailment, D),
13941 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
13942 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
13943 E)
13944 ),
13945 !,
13946 'known/1_1_$special_\\+/1___1__1__0__34'(E, A, B).
13947'known/1_1_$special_\\+/1___1__1__0__34'([], A, B) :-
13948 'known/1_1_$special_\\+/1___1__2'(A, B).
13949'known/1_1_$special_\\+/1___1__1__0__34'([A|B], C, D) :-
13950 ( A=suspension(_, active, _, _, E, F),
13951 nonvar(E),
13952 E=(G, _),
13953 nonvar(G),
13954 G=(\+H),
13955 nonvar(H),
13956 H=(\+I),
13957 I==C
13958 -> A=suspension(_, _, _, _, J, K),
13959 setarg(2, A, removed),
13960 term_variables(term(J, K), L),
13961 ( arg(4, A, M),
13962 ( var(M)
13963 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
13964 N),
13965 N=[_|O],
13966 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
13967 O),
13968 ( O=[P|_]
13969 -> setarg(4, P, _)
13970 ; true
13971 )
13972 ; M=[_, _|O],
13973 setarg(2, M, O),
13974 ( O=[P|_]
13975 -> setarg(4, P, M)
13976 ; true
13977 )
13978 )
13979 ),
13980 'detach_known/1_1_$special_;/2___2'(L, A),
13981 arg(2, D, Q),
13982 setarg(2, D, active),
13983 ( arg(3, D, R),
13984 S is R+1,
13985 setarg(3, D, S)
13986 ),
13987 ( Q==not_stored_yet
13988 -> D=suspension(_, _, _, _, T),
13989 term_variables(T, U),
13990 'chr none_locked'(U),
13991 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13992 V),
13993 W=[D|V],
13994 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13995 W),
13996 ( V=[X|_]
13997 -> setarg(4, X, W)
13998 ; true
13999 ),
14000 'attach_known/1_1_$special_\\+/1___1'(U, D)
14001 ; true
14002 ),
14003 known(F),
14004 ( D=suspension(_, active, S, _, _)
14005 -> setarg(2, D, inactive),
14006 'known/1_1_$special_\\+/1___1__1__0__34'(B, C, D)
14007 ; true
14008 )
14009 ; 'known/1_1_$special_\\+/1___1__1__0__34'(B, C, D)
14010 ).
14011'known/1_1_$special_\\+/1___1__1'(A, B) :-
14012 'known/1_1_$special_\\+/1___1__2'(A, B).
14013'known/1_1_$special_\\+/1___1__2'(A, B) :-
14014 ( 'chr newvia_1'(A, C)
14015 -> get_attr(C, guard_entailment, D),
14016 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
14017 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14018 E)
14019 ),
14020 !,
14021 'known/1_1_$special_\\+/1___1__2__0__35'(E, A, B).
14022'known/1_1_$special_\\+/1___1__2__0__35'([], A, B) :-
14023 'known/1_1_$special_\\+/1___1__3'(A, B).
14024'known/1_1_$special_\\+/1___1__2__0__35'([A|B], C, D) :-
14025 ( A=suspension(_, active, _, _, E, F),
14026 E==C
14027 -> A=suspension(_, _, _, _, G, H),
14028 setarg(2, A, removed),
14029 term_variables(term(G, H), I),
14030 ( arg(4, A, J),
14031 ( var(J)
14032 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14033 K),
14034 K=[_|L],
14035 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14036 L),
14037 ( L=[M|_]
14038 -> setarg(4, M, _)
14039 ; true
14040 )
14041 ; J=[_, _|L],
14042 setarg(2, J, L),
14043 ( L=[M|_]
14044 -> setarg(4, M, J)
14045 ; true
14046 )
14047 )
14048 ),
14049 'detach_known/1_1_$special_;/2___2'(I, A),
14050 arg(2, D, N),
14051 setarg(2, D, active),
14052 ( arg(3, D, O),
14053 P is O+1,
14054 setarg(3, D, P)
14055 ),
14056 ( N==not_stored_yet
14057 -> D=suspension(_, _, _, _, Q),
14058 term_variables(Q, R),
14059 'chr none_locked'(R),
14060 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14061 S),
14062 T=[D|S],
14063 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14064 T),
14065 ( S=[U|_]
14066 -> setarg(4, U, T)
14067 ; true
14068 ),
14069 'attach_known/1_1_$special_\\+/1___1'(R, D)
14070 ; true
14071 ),
14072 known(F),
14073 ( D=suspension(_, active, P, _, _)
14074 -> setarg(2, D, inactive),
14075 'known/1_1_$special_\\+/1___1__2__0__35'(B, C, D)
14076 ; true
14077 )
14078 ; 'known/1_1_$special_\\+/1___1__2__0__35'(B, C, D)
14079 ).
14080'known/1_1_$special_\\+/1___1__2'(A, B) :-
14081 'known/1_1_$special_\\+/1___1__3'(A, B).
14082'known/1_1_$special_\\+/1___1__3'(A, B) :-
14083 ( 'chr newvia_1'(A, C)
14084 -> get_attr(C, guard_entailment, D),
14085 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
14086 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14087 E)
14088 ),
14089 !,
14090 'known/1_1_$special_\\+/1___1__3__0__36'(E, A, B).
14091'known/1_1_$special_\\+/1___1__3__0__36'([], A, B) :-
14092 'known/1_1_$special_\\+/1___1__4'(A, B).
14093'known/1_1_$special_\\+/1___1__3__0__36'([A|B], C, D) :-
14094 ( A=suspension(_, active, _, _, E, F),
14095 nonvar(E),
14096 E=(G, _),
14097 G==C
14098 -> A=suspension(_, _, _, _, H, I),
14099 setarg(2, A, removed),
14100 term_variables(term(H, I), J),
14101 ( arg(4, A, K),
14102 ( var(K)
14103 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14104 L),
14105 L=[_|M],
14106 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14107 M),
14108 ( M=[N|_]
14109 -> setarg(4, N, _)
14110 ; true
14111 )
14112 ; K=[_, _|M],
14113 setarg(2, K, M),
14114 ( M=[N|_]
14115 -> setarg(4, N, K)
14116 ; true
14117 )
14118 )
14119 ),
14120 'detach_known/1_1_$special_;/2___2'(J, A),
14121 arg(2, D, O),
14122 setarg(2, D, active),
14123 ( arg(3, D, P),
14124 Q is P+1,
14125 setarg(3, D, Q)
14126 ),
14127 ( O==not_stored_yet
14128 -> D=suspension(_, _, _, _, R),
14129 term_variables(R, S),
14130 'chr none_locked'(S),
14131 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14132 T),
14133 U=[D|T],
14134 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14135 U),
14136 ( T=[V|_]
14137 -> setarg(4, V, U)
14138 ; true
14139 ),
14140 'attach_known/1_1_$special_\\+/1___1'(S, D)
14141 ; true
14142 ),
14143 known(F),
14144 ( D=suspension(_, active, Q, _, _)
14145 -> setarg(2, D, inactive),
14146 'known/1_1_$special_\\+/1___1__3__0__36'(B, C, D)
14147 ; true
14148 )
14149 ; 'known/1_1_$special_\\+/1___1__3__0__36'(B, C, D)
14150 ).
14151'known/1_1_$special_\\+/1___1__3'(A, B) :-
14152 'known/1_1_$special_\\+/1___1__4'(A, B).
14153'known/1_1_$special_\\+/1___1__4'(_, A) :-
14154 arg(2, A, B),
14155 setarg(2, A, active),
14156 arg(3, A, C),
14157 D is C+1,
14158 setarg(3, A, D),
14159 ( B==not_stored_yet
14160 -> A=suspension(_, _, _, _, E),
14161 term_variables(E, F),
14162 'chr none_locked'(F),
14163 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14164 G),
14165 H=[A|G],
14166 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14167 H),
14168 ( G=[I|_]
14169 -> setarg(4, I, H)
14170 ; true
14171 ),
14172 'attach_known/1_1_$special_\\+/1___1'(F, A)
14173 ; true
14174 ).
14175'known/1_1_$special_functor/3'(A, B, C) :-
14176 'known/1_1_$special_functor/3___3__0'(A, B, C, _).
14177'known/1_1_$special_functor/3___3__0'(A, B, C, D) :-
14178 ( 'chr newvia'([A, B, C], E)
14179 -> get_attr(E, guard_entailment, F),
14180 F=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, G, _, _, _, _, _, _)
14181 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14182 G)
14183 ),
14184 member(H, G),
14185 H=suspension(_, active, _, _, I, J, K),
14186 I==A,
14187 J==B,
14188 K==C,
14189 !,
14190 ( var(D)
14191 -> true
14192 ; D=suspension(_, L, _, _, M, N, O),
14193 setarg(2, D, removed),
14194 ( L==not_stored_yet
14195 -> P=[]
14196 ; term_variables(term(M, N, O), P),
14197 arg(4, D, Q),
14198 ( var(Q)
14199 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14200 R),
14201 R=[_|S],
14202 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14203 S),
14204 ( S=[T|_]
14205 -> setarg(4, T, _)
14206 ; true
14207 )
14208 ; Q=[_, _|S],
14209 setarg(2, Q, S),
14210 ( S=[T|_]
14211 -> setarg(4, T, Q)
14212 ; true
14213 )
14214 ),
14215 'detach_known/1_1_$special_functor/3___3'(P, D)
14216 )
14217 ).
14218'known/1_1_$special_functor/3___3__0'(_, _, _, A) :-
14219 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
14220 B),
14221 member(C, B),
14222 C=suspension(_, active, _),
14223 !,
14224 ( var(A)
14225 -> true
14226 ; A=suspension(_, D, _, _, E, F, G),
14227 setarg(2, A, removed),
14228 ( D==not_stored_yet
14229 -> H=[]
14230 ; term_variables(term(E, F, G), H),
14231 arg(4, A, I),
14232 ( var(I)
14233 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14234 J),
14235 J=[_|K],
14236 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14237 K),
14238 ( K=[L|_]
14239 -> setarg(4, L, _)
14240 ; true
14241 )
14242 ; I=[_, _|K],
14243 setarg(2, I, K),
14244 ( K=[L|_]
14245 -> setarg(4, L, I)
14246 ; true
14247 )
14248 ),
14249 'detach_known/1_1_$special_functor/3___3'(H, A)
14250 )
14251 ).
14252'known/1_1_$special_functor/3___3__0'(A, B, C, D) :-
14253 ground(C),
14254 ground(B),
14255 var(A),
14256 nb_getval('$chr_store_global_list_guard_entailment____variables___1',
14257 E),
14258 member(F, E),
14259 F=suspension(_, active, _, G),
14260 !,
14261 F=suspension(_, _, _, H),
14262 setarg(2, F, removed),
14263 term_variables(H, I),
14264 arg(3, F, J),
14265 ( var(J)
14266 -> nb_getval('$chr_store_global_list_guard_entailment____variables___1',
14267 K),
14268 K=[_|L],
14269 b_setval('$chr_store_global_list_guard_entailment____variables___1',
14270 L),
14271 ( L=[M|_]
14272 -> setarg(3, M, _)
14273 ; true
14274 )
14275 ; J=[_, _|L],
14276 setarg(2, J, L),
14277 ( L=[M|_]
14278 -> setarg(3, M, J)
14279 ; true
14280 )
14281 ),
14282 detach_variables___1(I, F),
14283 ( var(D)
14284 -> true
14285 ; D=suspension(_, N, _, _, O, P, Q),
14286 setarg(2, D, removed),
14287 ( N==not_stored_yet
14288 -> R=[]
14289 ; term_variables(term(O, P, Q), R),
14290 arg(4, D, S),
14291 ( var(S)
14292 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14293 T),
14294 T=[_|U],
14295 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14296 U),
14297 ( U=[V|_]
14298 -> setarg(4, V, _)
14299 ; true
14300 )
14301 ; S=[_, _|U],
14302 setarg(2, S, U),
14303 ( U=[V|_]
14304 -> setarg(4, V, S)
14305 ; true
14306 )
14307 ),
14308 'detach_known/1_1_$special_functor/3___3'(R, D)
14309 )
14310 ),
14311 functor(A, B, C),
14312 A=..[_|W],
14313 append(W, G, X),
14314 variables(X).
14315'known/1_1_$special_functor/3___3__0'(A, B, C, D) :-
14316 nonvar(A),
14317 'chr lock'(A),
14318 'chr lock'(B),
14319 'chr lock'(C),
14320 \+ functor(A, B, C),
14321 'chr unlock'(A),
14322 'chr unlock'(B),
14323 'chr unlock'(C),
14324 !,
14325 ( var(D)
14326 -> true
14327 ; D=suspension(_, E, _, _, F, G, H),
14328 setarg(2, D, removed),
14329 ( E==not_stored_yet
14330 -> I=[]
14331 ; term_variables(term(F, G, H), I),
14332 arg(4, D, J),
14333 ( var(J)
14334 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14335 K),
14336 K=[_|L],
14337 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14338 L),
14339 ( L=[M|_]
14340 -> setarg(4, M, _)
14341 ; true
14342 )
14343 ; J=[_, _|L],
14344 setarg(2, J, L),
14345 ( L=[M|_]
14346 -> setarg(4, M, J)
14347 ; true
14348 )
14349 ),
14350 'detach_known/1_1_$special_functor/3___3'(I, D)
14351 )
14352 ),
14353 'known/1_1_$special_fail/0'.
14354'known/1_1_$special_functor/3___3__0'(A, B, C, D) :-
14355 nonvar(C),
14356 nonvar(B),
14357 ( 'chr newvia_1'(A, E)
14358 -> get_attr(E, guard_entailment, F),
14359 F=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, G, _, _, _, _, _, _)
14360 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14361 G)
14362 ),
14363 member(H, G),
14364 H=suspension(_, active, _, _, I, J, K),
14365 I==A,
14366 nonvar(K),
14367 nonvar(J),
14368 !,
14369 H=suspension(_, _, _, _, L, M, N),
14370 setarg(2, H, removed),
14371 term_variables(term(L, M, N), O),
14372 arg(4, H, P),
14373 ( var(P)
14374 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14375 Q),
14376 Q=[_|R],
14377 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14378 R),
14379 ( R=[S|_]
14380 -> setarg(4, S, _)
14381 ; true
14382 )
14383 ; P=[_, _|R],
14384 setarg(2, P, R),
14385 ( R=[S|_]
14386 -> setarg(4, S, P)
14387 ; true
14388 )
14389 ),
14390 'detach_known/1_1_$special_functor/3___3'(O, H),
14391 ( var(D)
14392 -> true
14393 ; D=suspension(_, T, _, _, U, V, W),
14394 setarg(2, D, removed),
14395 ( T==not_stored_yet
14396 -> X=[]
14397 ; term_variables(term(U, V, W), X),
14398 arg(4, D, Y),
14399 ( var(Y)
14400 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14401 Z),
14402 Z=[_|A1],
14403 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14404 A1),
14405 ( A1=[B1|_]
14406 -> setarg(4, B1, _)
14407 ; true
14408 )
14409 ; Y=[_, _|A1],
14410 setarg(2, Y, A1),
14411 ( A1=[B1|_]
14412 -> setarg(4, B1, Y)
14413 ; true
14414 )
14415 ),
14416 'detach_known/1_1_$special_functor/3___3'(X, D)
14417 )
14418 ),
14419 'known/1_1_$special_fail/0'.
14420'known/1_1_$special_functor/3___3__0'(A, B, C, D) :-
14421 ( 'chr newvia'([A, B, C], E)
14422 -> get_attr(E, guard_entailment, F),
14423 F=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, G, _, _, _, _, _, _, _)
14424 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14425 G)
14426 ),
14427 member(H, G),
14428 H=suspension(_, active, _, _, I),
14429 nonvar(I),
14430 I=functor(J, K, L),
14431 J==A,
14432 K==B,
14433 L==C,
14434 !,
14435 H=suspension(_, _, _, _, M),
14436 setarg(2, H, removed),
14437 term_variables(M, N),
14438 arg(4, H, O),
14439 ( var(O)
14440 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14441 P),
14442 P=[_|Q],
14443 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14444 Q),
14445 ( Q=[R|_]
14446 -> setarg(4, R, _)
14447 ; true
14448 )
14449 ; O=[_, _|Q],
14450 setarg(2, O, Q),
14451 ( Q=[R|_]
14452 -> setarg(4, R, O)
14453 ; true
14454 )
14455 ),
14456 'detach_known/1_1_$special_\\+/1___1'(N, H),
14457 ( var(D)
14458 -> true
14459 ; D=suspension(_, S, _, _, T, U, V),
14460 setarg(2, D, removed),
14461 ( S==not_stored_yet
14462 -> W=[]
14463 ; term_variables(term(T, U, V), W),
14464 arg(4, D, X),
14465 ( var(X)
14466 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14467 Y),
14468 Y=[_|Z],
14469 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14470 Z),
14471 ( Z=[A1|_]
14472 -> setarg(4, A1, _)
14473 ; true
14474 )
14475 ; X=[_, _|Z],
14476 setarg(2, X, Z),
14477 ( Z=[A1|_]
14478 -> setarg(4, A1, X)
14479 ; true
14480 )
14481 ),
14482 'detach_known/1_1_$special_functor/3___3'(W, D)
14483 )
14484 ),
14485 'known/1_1_$special_fail/0'.
14486'known/1_1_$special_functor/3___3__0'(A, B, C, D) :-
14487 ( 'chr newvia'([A, B, C], E)
14488 -> get_attr(E, guard_entailment, F),
14489 F=v(_, _, _, G, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
14490 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14491 G)
14492 ),
14493 !,
14494 ( var(D)
14495 -> D=suspension(H, not_stored_yet, 0, _, A, B, C),
14496 'chr gen_id'(H)
14497 ; true
14498 ),
14499 'known/1_1_$special_functor/3___3__0__0__10'(G,
14500 A,
14501 B,
14502 C,
14503 D).
14504'known/1_1_$special_functor/3___3__0__0__10'([], A, B, C, D) :-
14505 'known/1_1_$special_functor/3___3__1'(A, B, C, D).
14506'known/1_1_$special_functor/3___3__0__0__10'([A|B], C, D, E, F) :-
14507 ( A=suspension(_, active, _, _, G, H),
14508 nonvar(G),
14509 G=(\+I),
14510 nonvar(I),
14511 I=functor(J, K, L),
14512 J==C,
14513 K==D,
14514 L==E
14515 -> A=suspension(_, _, _, _, M, N),
14516 setarg(2, A, removed),
14517 term_variables(term(M, N), O),
14518 ( arg(4, A, P),
14519 ( var(P)
14520 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14521 Q),
14522 Q=[_|R],
14523 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14524 R),
14525 ( R=[S|_]
14526 -> setarg(4, S, _)
14527 ; true
14528 )
14529 ; P=[_, _|R],
14530 setarg(2, P, R),
14531 ( R=[S|_]
14532 -> setarg(4, S, P)
14533 ; true
14534 )
14535 )
14536 ),
14537 'detach_known/1_1_$special_;/2___2'(O, A),
14538 arg(2, F, T),
14539 setarg(2, F, active),
14540 ( arg(3, F, U),
14541 V is U+1,
14542 setarg(3, F, V)
14543 ),
14544 ( T==not_stored_yet
14545 -> F=suspension(_, _, _, _, W, X, Y),
14546 term_variables(term(W, X, Y), Z),
14547 'chr none_locked'(Z),
14548 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14549 A1),
14550 B1=[F|A1],
14551 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14552 B1),
14553 ( A1=[C1|_]
14554 -> setarg(4, C1, B1)
14555 ; true
14556 ),
14557 'attach_known/1_1_$special_functor/3___3'(Z, F)
14558 ; true
14559 ),
14560 known(H),
14561 ( F=suspension(_, active, V, _, _, _, _)
14562 -> setarg(2, F, inactive),
14563 'known/1_1_$special_functor/3___3__0__0__10'(B,
14564 C,
14565 D,
14566 E,
14567 F)
14568 ; true
14569 )
14570 ; 'known/1_1_$special_functor/3___3__0__0__10'(B,
14571 C,
14572 D,
14573 E,
14574 F)
14575 ).
14576'known/1_1_$special_functor/3___3__0'(A, B, C, D) :-
14577 ( var(D)
14578 -> D=suspension(E, not_stored_yet, 0, _, A, B, C),
14579 'chr gen_id'(E)
14580 ; true
14581 ),
14582 'known/1_1_$special_functor/3___3__1'(A, B, C, D).
14583'known/1_1_$special_functor/3___3__1'(A, B, C, D) :-
14584 ( 'chr newvia'([A, B, C], E)
14585 -> get_attr(E, guard_entailment, F),
14586 F=v(_, _, _, G, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
14587 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14588 G)
14589 ),
14590 !,
14591 'known/1_1_$special_functor/3___3__1__0__11'(G,
14592 A,
14593 B,
14594 C,
14595 D).
14596'known/1_1_$special_functor/3___3__1__0__11'([], A, B, C, D) :-
14597 'known/1_1_$special_functor/3___3__2'(A, B, C, D).
14598'known/1_1_$special_functor/3___3__1__0__11'([A|B], C, D, E, F) :-
14599 ( A=suspension(_, active, _, _, G, H),
14600 nonvar(G),
14601 G=(I, _),
14602 nonvar(I),
14603 I=(\+J),
14604 nonvar(J),
14605 J=functor(K, L, M),
14606 K==C,
14607 L==D,
14608 M==E
14609 -> A=suspension(_, _, _, _, N, O),
14610 setarg(2, A, removed),
14611 term_variables(term(N, O), P),
14612 ( arg(4, A, Q),
14613 ( var(Q)
14614 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14615 R),
14616 R=[_|S],
14617 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14618 S),
14619 ( S=[T|_]
14620 -> setarg(4, T, _)
14621 ; true
14622 )
14623 ; Q=[_, _|S],
14624 setarg(2, Q, S),
14625 ( S=[T|_]
14626 -> setarg(4, T, Q)
14627 ; true
14628 )
14629 )
14630 ),
14631 'detach_known/1_1_$special_;/2___2'(P, A),
14632 arg(2, F, U),
14633 setarg(2, F, active),
14634 ( arg(3, F, V),
14635 W is V+1,
14636 setarg(3, F, W)
14637 ),
14638 ( U==not_stored_yet
14639 -> F=suspension(_, _, _, _, X, Y, Z),
14640 term_variables(term(X, Y, Z), A1),
14641 'chr none_locked'(A1),
14642 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14643 B1),
14644 C1=[F|B1],
14645 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14646 C1),
14647 ( B1=[D1|_]
14648 -> setarg(4, D1, C1)
14649 ; true
14650 ),
14651 'attach_known/1_1_$special_functor/3___3'(A1, F)
14652 ; true
14653 ),
14654 known(H),
14655 ( F=suspension(_, active, W, _, _, _, _)
14656 -> setarg(2, F, inactive),
14657 'known/1_1_$special_functor/3___3__1__0__11'(B,
14658 C,
14659 D,
14660 E,
14661 F)
14662 ; true
14663 )
14664 ; 'known/1_1_$special_functor/3___3__1__0__11'(B,
14665 C,
14666 D,
14667 E,
14668 F)
14669 ).
14670'known/1_1_$special_functor/3___3__1'(A, B, C, D) :-
14671 'known/1_1_$special_functor/3___3__2'(A, B, C, D).
14672'known/1_1_$special_functor/3___3__2'(A, B, C, D) :-
14673 ( 'chr newvia_1'(A, E)
14674 -> get_attr(E, guard_entailment, F),
14675 F=v(_, _, _, G, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
14676 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14677 G)
14678 ),
14679 !,
14680 'known/1_1_$special_functor/3___3__2__0__12'(G,
14681 A,
14682 B,
14683 C,
14684 D).
14685'known/1_1_$special_functor/3___3__2__0__12'([], A, B, C, D) :-
14686 'known/1_1_$special_functor/3___3__3'(A, B, C, D).
14687'known/1_1_$special_functor/3___3__2__0__12'([A|B], C, D, E, F) :-
14688 ( A=suspension(_, active, _, _, G, _),
14689 nonvar(G),
14690 G=(\+H),
14691 nonvar(H),
14692 H=functor(I, _, _),
14693 I==C
14694 -> A=suspension(_, _, _, _, J, K),
14695 setarg(2, A, removed),
14696 term_variables(term(J, K), L),
14697 ( arg(4, A, M),
14698 ( var(M)
14699 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14700 N),
14701 N=[_|O],
14702 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14703 O),
14704 ( O=[P|_]
14705 -> setarg(4, P, _)
14706 ; true
14707 )
14708 ; M=[_, _|O],
14709 setarg(2, M, O),
14710 ( O=[P|_]
14711 -> setarg(4, P, M)
14712 ; true
14713 )
14714 )
14715 ),
14716 'detach_known/1_1_$special_;/2___2'(L, A),
14717 'known/1_1_$special_functor/3___3__2__0__12'(B,
14718 C,
14719 D,
14720 E,
14721 F)
14722 ; 'known/1_1_$special_functor/3___3__2__0__12'(B,
14723 C,
14724 D,
14725 E,
14726 F)
14727 ).
14728'known/1_1_$special_functor/3___3__2'(A, B, C, D) :-
14729 'known/1_1_$special_functor/3___3__3'(A, B, C, D).
14730'known/1_1_$special_functor/3___3__3'(_, _, _, A) :-
14731 arg(2, A, B),
14732 setarg(2, A, active),
14733 arg(3, A, C),
14734 D is C+1,
14735 setarg(3, A, D),
14736 ( B==not_stored_yet
14737 -> A=suspension(_, _, _, _, E, F, G),
14738 term_variables(term(E, F, G), H),
14739 'chr none_locked'(H),
14740 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14741 I),
14742 J=[A|I],
14743 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14744 J),
14745 ( I=[K|_]
14746 -> setarg(4, K, J)
14747 ; true
14748 ),
14749 'attach_known/1_1_$special_functor/3___3'(H, A)
14750 ; true
14751 ).
14752'known/1_1_$special_\\=/2'(A, B) :-
14753 'known/1_1_$special_\\=/2___2__0'(A, B, _).
14754'known/1_1_$special_\\=/2___2__0'(A, B, C) :-
14755 ( 'chr newvia_2'(A, B, D)
14756 -> get_attr(D, guard_entailment, E),
14757 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _)
14758 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
14759 F)
14760 ),
14761 member(G, F),
14762 G=suspension(_, active, _, _, _, H, I),
14763 H==A,
14764 I==B,
14765 !,
14766 ( var(C)
14767 -> true
14768 ; C=suspension(_, J, _, _, _, K, L),
14769 setarg(2, C, removed),
14770 ( J==not_stored_yet
14771 -> M=[]
14772 ; term_variables(term(K, L), M),
14773 arg(5, C, N),
14774 ( var(N)
14775 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
14776 O),
14777 O=[_|P],
14778 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
14779 P),
14780 ( P=[Q|_]
14781 -> setarg(5, Q, _)
14782 ; true
14783 )
14784 ; N=[_, _|P],
14785 setarg(2, N, P),
14786 ( P=[Q|_]
14787 -> setarg(5, Q, N)
14788 ; true
14789 )
14790 ),
14791 'detach_known/1_1_$special_\\=/2___2'(M, C)
14792 )
14793 ).
14794'known/1_1_$special_\\=/2___2__0'(_, _, A) :-
14795 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
14796 B),
14797 member(C, B),
14798 C=suspension(_, active, _),
14799 !,
14800 ( var(A)
14801 -> true
14802 ; A=suspension(_, D, _, _, _, E, F),
14803 setarg(2, A, removed),
14804 ( D==not_stored_yet
14805 -> G=[]
14806 ; term_variables(term(E, F), G),
14807 arg(5, A, H),
14808 ( var(H)
14809 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
14810 I),
14811 I=[_|J],
14812 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
14813 J),
14814 ( J=[K|_]
14815 -> setarg(5, K, _)
14816 ; true
14817 )
14818 ; H=[_, _|J],
14819 setarg(2, H, J),
14820 ( J=[K|_]
14821 -> setarg(5, K, H)
14822 ; true
14823 )
14824 ),
14825 'detach_known/1_1_$special_\\=/2___2'(G, A)
14826 )
14827 ).
14828'known/1_1_$special_\\=/2___2__0'(A, B, C) :-
14829 ground(B),
14830 ground(A),
14831 'chr lock'(A),
14832 'chr lock'(B),
14833 A=B,
14834 'chr unlock'(A),
14835 'chr unlock'(B),
14836 !,
14837 ( var(C)
14838 -> true
14839 ; C=suspension(_, D, _, _, _, E, F),
14840 setarg(2, C, removed),
14841 ( D==not_stored_yet
14842 -> G=[]
14843 ; term_variables(term(E, F), G),
14844 arg(5, C, H),
14845 ( var(H)
14846 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
14847 I),
14848 I=[_|J],
14849 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
14850 J),
14851 ( J=[K|_]
14852 -> setarg(5, K, _)
14853 ; true
14854 )
14855 ; H=[_, _|J],
14856 setarg(2, H, J),
14857 ( J=[K|_]
14858 -> setarg(5, K, H)
14859 ; true
14860 )
14861 ),
14862 'detach_known/1_1_$special_\\=/2___2'(G, C)
14863 )
14864 ),
14865 'known/1_1_$special_fail/0'.
14866'known/1_1_$special_\\=/2___2__0'(A, B, C) :-
14867 B==A,
14868 !,
14869 ( var(C)
14870 -> true
14871 ; C=suspension(_, D, _, _, _, E, F),
14872 setarg(2, C, removed),
14873 ( D==not_stored_yet
14874 -> G=[]
14875 ; term_variables(term(E, F), G),
14876 arg(5, C, H),
14877 ( var(H)
14878 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
14879 I),
14880 I=[_|J],
14881 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
14882 J),
14883 ( J=[K|_]
14884 -> setarg(5, K, _)
14885 ; true
14886 )
14887 ; H=[_, _|J],
14888 setarg(2, H, J),
14889 ( J=[K|_]
14890 -> setarg(5, K, H)
14891 ; true
14892 )
14893 ),
14894 'detach_known/1_1_$special_\\=/2___2'(G, C)
14895 )
14896 ),
14897 'known/1_1_$special_fail/0'.
14898'known/1_1_$special_\\=/2___2__0'(A, B, C) :-
14899 nonvar(B),
14900 ( var(A),
14901 'chr lock'(B),
14902 functor(B, D, E),
14903 E>0,
14904 'chr unlock'(B),
14905 !,
14906 ( var(C)
14907 -> true
14908 ; C=suspension(_, F, _, _, _, G, H),
14909 setarg(2, C, removed),
14910 ( F==not_stored_yet
14911 -> I=[]
14912 ; term_variables(term(G, H), I),
14913 arg(5, C, J),
14914 ( var(J)
14915 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
14916 K),
14917 K=[_|L],
14918 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
14919 L),
14920 ( L=[M|_]
14921 -> setarg(5, M, _)
14922 ; true
14923 )
14924 ; J=[_, _|L],
14925 setarg(2, J, L),
14926 ( L=[M|_]
14927 -> setarg(5, M, J)
14928 ; true
14929 )
14930 ),
14931 'detach_known/1_1_$special_\\=/2___2'(I, C)
14932 )
14933 ),
14934 length(N, E),
14935 B=..[D|O],
14936 P=..[D|N],
14937 add_args_nunif(O, N, Q),
14938 R=(\+functor(A, D, E);A=P, Q),
14939 known(R)
14940 ; nonvar(A),
14941 'chr lock'(A),
14942 functor(A, S, T),
14943 'chr unlock'(A),
14944 !,
14945 ( var(C)
14946 -> true
14947 ; C=suspension(_, U, _, _, _, V, W),
14948 setarg(2, C, removed),
14949 ( U==not_stored_yet
14950 -> X=[]
14951 ; term_variables(term(V, W), X),
14952 arg(5, C, Y),
14953 ( var(Y)
14954 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
14955 Z),
14956 Z=[_|A1],
14957 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
14958 A1),
14959 ( A1=[B1|_]
14960 -> setarg(5, B1, _)
14961 ; true
14962 )
14963 ; Y=[_, _|A1],
14964 setarg(2, Y, A1),
14965 ( A1=[B1|_]
14966 -> setarg(5, B1, Y)
14967 ; true
14968 )
14969 ),
14970 'detach_known/1_1_$special_\\=/2___2'(X, C)
14971 )
14972 ),
14973 ( functor(B, S, T)
14974 -> A=..[S|C1],
14975 B=..[S|D1],
14976 add_args_nunif(C1, D1, E1),
14977 known(E1)
14978 ; true
14979 )
14980 ).
14981'known/1_1_$special_\\=/2___2__0'(A, B, C) :-
14982 ( var(C)
14983 -> C=suspension(D, not_stored_yet, t, 0, _, A, B),
14984 'chr gen_id'(D)
14985 ; true
14986 ),
14987 ( '$novel_production'(C, 182),
14988 !,
14989 '$extend_history'(C, 182),
14990 arg(2, C, E),
14991 setarg(2, C, active),
14992 arg(4, C, F),
14993 G is F+1,
14994 setarg(4, C, G),
14995 ( E==not_stored_yet
14996 -> C=suspension(_, _, _, _, _, H, I),
14997 term_variables(term(H, I), J),
14998 'chr none_locked'(J),
14999 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15000 K),
15001 L=[C|K],
15002 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15003 L),
15004 ( K=[M|_]
15005 -> setarg(5, M, L)
15006 ; true
15007 ),
15008 'attach_known/1_1_$special_\\=/2___2'(J, C)
15009 ; true
15010 ),
15011 'known/1_1_$special_\\=/2'(B, A),
15012 ( C=suspension(_, active, _, G, _, _, _)
15013 -> setarg(2, C, inactive),
15014 'known/1_1_$special_\\=/2___2__1'(A, B, C)
15015 ; true
15016 )
15017 ; 'known/1_1_$special_\\=/2___2__1'(A, B, C)
15018 ).
15019'known/1_1_$special_\\=/2___2__1'(A, B, C) :-
15020 ( 'chr newvia_2'(A, B, D)
15021 -> get_attr(D, guard_entailment, E),
15022 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _, _)
15023 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
15024 F)
15025 ),
15026 member(G, F),
15027 G=suspension(_, active, _, _, H),
15028 nonvar(H),
15029 H=(I\=J),
15030 I==A,
15031 J==B,
15032 !,
15033 G=suspension(_, _, _, _, K),
15034 setarg(2, G, removed),
15035 term_variables(K, L),
15036 arg(4, G, M),
15037 ( var(M)
15038 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
15039 N),
15040 N=[_|O],
15041 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
15042 O),
15043 ( O=[P|_]
15044 -> setarg(4, P, _)
15045 ; true
15046 )
15047 ; M=[_, _|O],
15048 setarg(2, M, O),
15049 ( O=[P|_]
15050 -> setarg(4, P, M)
15051 ; true
15052 )
15053 ),
15054 'detach_known/1_1_$special_\\+/1___1'(L, G),
15055 ( var(C)
15056 -> true
15057 ; C=suspension(_, Q, _, _, _, R, S),
15058 setarg(2, C, removed),
15059 ( Q==not_stored_yet
15060 -> T=[]
15061 ; term_variables(term(R, S), T),
15062 arg(5, C, U),
15063 ( var(U)
15064 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15065 V),
15066 V=[_|W],
15067 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15068 W),
15069 ( W=[X|_]
15070 -> setarg(5, X, _)
15071 ; true
15072 )
15073 ; U=[_, _|W],
15074 setarg(2, U, W),
15075 ( W=[X|_]
15076 -> setarg(5, X, U)
15077 ; true
15078 )
15079 ),
15080 'detach_known/1_1_$special_\\=/2___2'(T, C)
15081 )
15082 ),
15083 'known/1_1_$special_fail/0'.
15084'known/1_1_$special_\\=/2___2__1'(A, B, C) :-
15085 ( 'chr newvia_2'(A, B, D)
15086 -> get_attr(D, guard_entailment, E),
15087 E=v(_, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
15088 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15089 F)
15090 ),
15091 !,
15092 'known/1_1_$special_\\=/2___2__1__0__11'(F, A, B, C).
15093'known/1_1_$special_\\=/2___2__1__0__11'([], A, B, C) :-
15094 'known/1_1_$special_\\=/2___2__2'(A, B, C).
15095'known/1_1_$special_\\=/2___2__1__0__11'([A|B], C, D, E) :-
15096 ( A=suspension(_, active, _, _, F, G),
15097 nonvar(F),
15098 F=(\+H),
15099 nonvar(H),
15100 H=(I\=J),
15101 I==C,
15102 J==D
15103 -> A=suspension(_, _, _, _, K, L),
15104 setarg(2, A, removed),
15105 term_variables(term(K, L), M),
15106 ( arg(4, A, N),
15107 ( var(N)
15108 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15109 O),
15110 O=[_|P],
15111 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15112 P),
15113 ( P=[Q|_]
15114 -> setarg(4, Q, _)
15115 ; true
15116 )
15117 ; N=[_, _|P],
15118 setarg(2, N, P),
15119 ( P=[Q|_]
15120 -> setarg(4, Q, N)
15121 ; true
15122 )
15123 )
15124 ),
15125 'detach_known/1_1_$special_;/2___2'(M, A),
15126 arg(2, E, R),
15127 setarg(2, E, active),
15128 ( arg(4, E, S),
15129 T is S+1,
15130 setarg(4, E, T)
15131 ),
15132 ( R==not_stored_yet
15133 -> E=suspension(_, _, _, _, _, U, V),
15134 term_variables(term(U, V), W),
15135 'chr none_locked'(W),
15136 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15137 X),
15138 Y=[E|X],
15139 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15140 Y),
15141 ( X=[Z|_]
15142 -> setarg(5, Z, Y)
15143 ; true
15144 ),
15145 'attach_known/1_1_$special_\\=/2___2'(W, E)
15146 ; true
15147 ),
15148 known(G),
15149 ( E=suspension(_, active, _, T, _, _, _)
15150 -> setarg(2, E, inactive),
15151 'known/1_1_$special_\\=/2___2__1__0__11'(B,
15152 C,
15153 D,
15154 E)
15155 ; true
15156 )
15157 ; 'known/1_1_$special_\\=/2___2__1__0__11'(B, C, D, E)
15158 ).
15159'known/1_1_$special_\\=/2___2__1'(A, B, C) :-
15160 'known/1_1_$special_\\=/2___2__2'(A, B, C).
15161'known/1_1_$special_\\=/2___2__2'(A, B, C) :-
15162 ( 'chr newvia_2'(A, B, D)
15163 -> get_attr(D, guard_entailment, E),
15164 E=v(_, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
15165 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15166 F)
15167 ),
15168 !,
15169 'known/1_1_$special_\\=/2___2__2__0__12'(F, A, B, C).
15170'known/1_1_$special_\\=/2___2__2__0__12'([], A, B, C) :-
15171 'known/1_1_$special_\\=/2___2__3'(A, B, C).
15172'known/1_1_$special_\\=/2___2__2__0__12'([A|B], C, D, E) :-
15173 ( A=suspension(_, active, _, _, F, G),
15174 nonvar(F),
15175 F=(H, _),
15176 nonvar(H),
15177 H=(\+I),
15178 nonvar(I),
15179 I=(J\=K),
15180 J==C,
15181 K==D
15182 -> A=suspension(_, _, _, _, L, M),
15183 setarg(2, A, removed),
15184 term_variables(term(L, M), N),
15185 ( arg(4, A, O),
15186 ( var(O)
15187 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15188 P),
15189 P=[_|Q],
15190 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15191 Q),
15192 ( Q=[R|_]
15193 -> setarg(4, R, _)
15194 ; true
15195 )
15196 ; O=[_, _|Q],
15197 setarg(2, O, Q),
15198 ( Q=[R|_]
15199 -> setarg(4, R, O)
15200 ; true
15201 )
15202 )
15203 ),
15204 'detach_known/1_1_$special_;/2___2'(N, A),
15205 arg(2, E, S),
15206 setarg(2, E, active),
15207 ( arg(4, E, T),
15208 U is T+1,
15209 setarg(4, E, U)
15210 ),
15211 ( S==not_stored_yet
15212 -> E=suspension(_, _, _, _, _, V, W),
15213 term_variables(term(V, W), X),
15214 'chr none_locked'(X),
15215 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15216 Y),
15217 Z=[E|Y],
15218 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15219 Z),
15220 ( Y=[A1|_]
15221 -> setarg(5, A1, Z)
15222 ; true
15223 ),
15224 'attach_known/1_1_$special_\\=/2___2'(X, E)
15225 ; true
15226 ),
15227 known(G),
15228 ( E=suspension(_, active, _, U, _, _, _)
15229 -> setarg(2, E, inactive),
15230 'known/1_1_$special_\\=/2___2__2__0__12'(B,
15231 C,
15232 D,
15233 E)
15234 ; true
15235 )
15236 ; 'known/1_1_$special_\\=/2___2__2__0__12'(B, C, D, E)
15237 ).
15238'known/1_1_$special_\\=/2___2__2'(A, B, C) :-
15239 'known/1_1_$special_\\=/2___2__3'(A, B, C).
15240'known/1_1_$special_\\=/2___2__3'(_, _, A) :-
15241 arg(2, A, B),
15242 setarg(2, A, active),
15243 arg(4, A, C),
15244 D is C+1,
15245 setarg(4, A, D),
15246 ( B==not_stored_yet
15247 -> A=suspension(_, _, _, _, _, E, F),
15248 term_variables(term(E, F), G),
15249 'chr none_locked'(G),
15250 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15251 H),
15252 I=[A|H],
15253 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15254 I),
15255 ( H=[J|_]
15256 -> setarg(5, J, I)
15257 ; true
15258 ),
15259 'attach_known/1_1_$special_\\=/2___2'(G, A)
15260 ; true
15261 ).
15262'known/1_1_$special_=/2'(A, B) :-
15263 'known/1_1_$special_=/2___2__0'(A, B, _).
15264'known/1_1_$special_=/2___2__0'(A, B, C) :-
15265 ( 'chr newvia_2'(A, B, D)
15266 -> get_attr(D, guard_entailment, E),
15267 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _)
15268 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15269 F)
15270 ),
15271 member(G, F),
15272 G=suspension(_, active, _, _, H, I),
15273 H==A,
15274 I==B,
15275 !,
15276 ( var(C)
15277 -> true
15278 ; C=suspension(_, J, _, _, K, L),
15279 setarg(2, C, removed),
15280 ( J==not_stored_yet
15281 -> M=[]
15282 ; term_variables(term(K, L), M),
15283 arg(4, C, N),
15284 ( var(N)
15285 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15286 O),
15287 O=[_|P],
15288 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15289 P),
15290 ( P=[Q|_]
15291 -> setarg(4, Q, _)
15292 ; true
15293 )
15294 ; N=[_, _|P],
15295 setarg(2, N, P),
15296 ( P=[Q|_]
15297 -> setarg(4, Q, N)
15298 ; true
15299 )
15300 ),
15301 'detach_known/1_1_$special_=/2___2'(M, C)
15302 )
15303 ).
15304'known/1_1_$special_=/2___2__0'(_, _, A) :-
15305 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
15306 B),
15307 member(C, B),
15308 C=suspension(_, active, _),
15309 !,
15310 ( var(A)
15311 -> true
15312 ; A=suspension(_, D, _, _, E, F),
15313 setarg(2, A, removed),
15314 ( D==not_stored_yet
15315 -> G=[]
15316 ; term_variables(term(E, F), G),
15317 arg(4, A, H),
15318 ( var(H)
15319 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15320 I),
15321 I=[_|J],
15322 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15323 J),
15324 ( J=[K|_]
15325 -> setarg(4, K, _)
15326 ; true
15327 )
15328 ; H=[_, _|J],
15329 setarg(2, H, J),
15330 ( J=[K|_]
15331 -> setarg(4, K, H)
15332 ; true
15333 )
15334 ),
15335 'detach_known/1_1_$special_=/2___2'(G, A)
15336 )
15337 ).
15338'known/1_1_$special_=/2___2__0'(A, B, C) :-
15339 B==A,
15340 !,
15341 ( var(C)
15342 -> true
15343 ; C=suspension(_, D, _, _, E, F),
15344 setarg(2, C, removed),
15345 ( D==not_stored_yet
15346 -> G=[]
15347 ; term_variables(term(E, F), G),
15348 arg(4, C, H),
15349 ( var(H)
15350 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15351 I),
15352 I=[_|J],
15353 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15354 J),
15355 ( J=[K|_]
15356 -> setarg(4, K, _)
15357 ; true
15358 )
15359 ; H=[_, _|J],
15360 setarg(2, H, J),
15361 ( J=[K|_]
15362 -> setarg(4, K, H)
15363 ; true
15364 )
15365 ),
15366 'detach_known/1_1_$special_=/2___2'(G, C)
15367 )
15368 ).
15369'known/1_1_$special_=/2___2__0'(A, B, C) :-
15370 var(A),
15371 !,
15372 ( var(C)
15373 -> true
15374 ; C=suspension(_, D, _, _, E, F),
15375 setarg(2, C, removed),
15376 ( D==not_stored_yet
15377 -> G=[]
15378 ; term_variables(term(E, F), G),
15379 arg(4, C, H),
15380 ( var(H)
15381 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15382 I),
15383 I=[_|J],
15384 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15385 J),
15386 ( J=[K|_]
15387 -> setarg(4, K, _)
15388 ; true
15389 )
15390 ; H=[_, _|J],
15391 setarg(2, H, J),
15392 ( J=[K|_]
15393 -> setarg(4, K, H)
15394 ; true
15395 )
15396 ),
15397 'detach_known/1_1_$special_=/2___2'(G, C)
15398 )
15399 ),
15400 A=B.
15401'known/1_1_$special_=/2___2__0'(A, B, C) :-
15402 var(B),
15403 !,
15404 ( var(C)
15405 -> true
15406 ; C=suspension(_, D, _, _, E, F),
15407 setarg(2, C, removed),
15408 ( D==not_stored_yet
15409 -> G=[]
15410 ; term_variables(term(E, F), G),
15411 arg(4, C, H),
15412 ( var(H)
15413 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15414 I),
15415 I=[_|J],
15416 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15417 J),
15418 ( J=[K|_]
15419 -> setarg(4, K, _)
15420 ; true
15421 )
15422 ; H=[_, _|J],
15423 setarg(2, H, J),
15424 ( J=[K|_]
15425 -> setarg(4, K, H)
15426 ; true
15427 )
15428 ),
15429 'detach_known/1_1_$special_=/2___2'(G, C)
15430 )
15431 ),
15432 A=B.
15433'known/1_1_$special_=/2___2__0'(A, B, C) :-
15434 'chr lock'(A),
15435 functor(A, D, E),
15436 'chr unlock'(A),
15437 !,
15438 ( var(C)
15439 -> true
15440 ; C=suspension(_, F, _, _, G, H),
15441 setarg(2, C, removed),
15442 ( F==not_stored_yet
15443 -> I=[]
15444 ; term_variables(term(G, H), I),
15445 arg(4, C, J),
15446 ( var(J)
15447 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15448 K),
15449 K=[_|L],
15450 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15451 L),
15452 ( L=[M|_]
15453 -> setarg(4, M, _)
15454 ; true
15455 )
15456 ; J=[_, _|L],
15457 setarg(2, J, L),
15458 ( L=[M|_]
15459 -> setarg(4, M, J)
15460 ; true
15461 )
15462 ),
15463 'detach_known/1_1_$special_=/2___2'(I, C)
15464 )
15465 ),
15466 ( functor(B, D, E),
15467 A=B
15468 -> true
15469 ; 'known/1_1_$special_fail/0'
15470 ).
15471'known/1_1_$special_=/2___2__0'(A, B, C) :-
15472 ( 'chr newvia_2'(A, B, D)
15473 -> get_attr(D, guard_entailment, E),
15474 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _, _)
15475 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
15476 F)
15477 ),
15478 member(G, F),
15479 G=suspension(_, active, _, _, H),
15480 nonvar(H),
15481 H=(I=J),
15482 I==A,
15483 J==B,
15484 !,
15485 G=suspension(_, _, _, _, K),
15486 setarg(2, G, removed),
15487 term_variables(K, L),
15488 arg(4, G, M),
15489 ( var(M)
15490 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
15491 N),
15492 N=[_|O],
15493 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
15494 O),
15495 ( O=[P|_]
15496 -> setarg(4, P, _)
15497 ; true
15498 )
15499 ; M=[_, _|O],
15500 setarg(2, M, O),
15501 ( O=[P|_]
15502 -> setarg(4, P, M)
15503 ; true
15504 )
15505 ),
15506 'detach_known/1_1_$special_\\+/1___1'(L, G),
15507 ( var(C)
15508 -> true
15509 ; C=suspension(_, Q, _, _, R, S),
15510 setarg(2, C, removed),
15511 ( Q==not_stored_yet
15512 -> T=[]
15513 ; term_variables(term(R, S), T),
15514 arg(4, C, U),
15515 ( var(U)
15516 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15517 V),
15518 V=[_|W],
15519 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15520 W),
15521 ( W=[X|_]
15522 -> setarg(4, X, _)
15523 ; true
15524 )
15525 ; U=[_, _|W],
15526 setarg(2, U, W),
15527 ( W=[X|_]
15528 -> setarg(4, X, U)
15529 ; true
15530 )
15531 ),
15532 'detach_known/1_1_$special_=/2___2'(T, C)
15533 )
15534 ),
15535 'known/1_1_$special_fail/0'.
15536'known/1_1_$special_=/2___2__0'(A, B, C) :-
15537 ( 'chr newvia_2'(A, B, D)
15538 -> get_attr(D, guard_entailment, E),
15539 E=v(_, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
15540 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15541 F)
15542 ),
15543 !,
15544 ( var(C)
15545 -> C=suspension(G, not_stored_yet, 0, _, A, B),
15546 'chr gen_id'(G)
15547 ; true
15548 ),
15549 'known/1_1_$special_=/2___2__0__0__10'(F, A, B, C).
15550'known/1_1_$special_=/2___2__0__0__10'([], A, B, C) :-
15551 'known/1_1_$special_=/2___2__1'(A, B, C).
15552'known/1_1_$special_=/2___2__0__0__10'([A|B], C, D, E) :-
15553 ( A=suspension(_, active, _, _, F, G),
15554 nonvar(F),
15555 F=(\+H),
15556 nonvar(H),
15557 H=(I=J),
15558 I==C,
15559 J==D
15560 -> A=suspension(_, _, _, _, K, L),
15561 setarg(2, A, removed),
15562 term_variables(term(K, L), M),
15563 ( arg(4, A, N),
15564 ( var(N)
15565 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15566 O),
15567 O=[_|P],
15568 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15569 P),
15570 ( P=[Q|_]
15571 -> setarg(4, Q, _)
15572 ; true
15573 )
15574 ; N=[_, _|P],
15575 setarg(2, N, P),
15576 ( P=[Q|_]
15577 -> setarg(4, Q, N)
15578 ; true
15579 )
15580 )
15581 ),
15582 'detach_known/1_1_$special_;/2___2'(M, A),
15583 arg(2, E, R),
15584 setarg(2, E, active),
15585 ( arg(3, E, S),
15586 T is S+1,
15587 setarg(3, E, T)
15588 ),
15589 ( R==not_stored_yet
15590 -> E=suspension(_, _, _, _, U, V),
15591 term_variables(term(U, V), W),
15592 'chr none_locked'(W),
15593 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15594 X),
15595 Y=[E|X],
15596 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15597 Y),
15598 ( X=[Z|_]
15599 -> setarg(4, Z, Y)
15600 ; true
15601 ),
15602 'attach_known/1_1_$special_=/2___2'(W, E)
15603 ; true
15604 ),
15605 known(G),
15606 ( E=suspension(_, active, T, _, _, _)
15607 -> setarg(2, E, inactive),
15608 'known/1_1_$special_=/2___2__0__0__10'(B,
15609 C,
15610 D,
15611 E)
15612 ; true
15613 )
15614 ; 'known/1_1_$special_=/2___2__0__0__10'(B, C, D, E)
15615 ).
15616'known/1_1_$special_=/2___2__0'(A, B, C) :-
15617 ( var(C)
15618 -> C=suspension(D, not_stored_yet, 0, _, A, B),
15619 'chr gen_id'(D)
15620 ; true
15621 ),
15622 'known/1_1_$special_=/2___2__1'(A, B, C).
15623'known/1_1_$special_=/2___2__1'(A, B, C) :-
15624 ( 'chr newvia_2'(A, B, D)
15625 -> get_attr(D, guard_entailment, E),
15626 E=v(_, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
15627 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15628 F)
15629 ),
15630 !,
15631 'known/1_1_$special_=/2___2__1__0__11'(F, A, B, C).
15632'known/1_1_$special_=/2___2__1__0__11'([], A, B, C) :-
15633 'known/1_1_$special_=/2___2__2'(A, B, C).
15634'known/1_1_$special_=/2___2__1__0__11'([A|B], C, D, E) :-
15635 ( A=suspension(_, active, _, _, F, G),
15636 nonvar(F),
15637 F=(H, _),
15638 nonvar(H),
15639 H=(\+I),
15640 nonvar(I),
15641 I=(J=K),
15642 J==C,
15643 K==D
15644 -> A=suspension(_, _, _, _, L, M),
15645 setarg(2, A, removed),
15646 term_variables(term(L, M), N),
15647 ( arg(4, A, O),
15648 ( var(O)
15649 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15650 P),
15651 P=[_|Q],
15652 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15653 Q),
15654 ( Q=[R|_]
15655 -> setarg(4, R, _)
15656 ; true
15657 )
15658 ; O=[_, _|Q],
15659 setarg(2, O, Q),
15660 ( Q=[R|_]
15661 -> setarg(4, R, O)
15662 ; true
15663 )
15664 )
15665 ),
15666 'detach_known/1_1_$special_;/2___2'(N, A),
15667 arg(2, E, S),
15668 setarg(2, E, active),
15669 ( arg(3, E, T),
15670 U is T+1,
15671 setarg(3, E, U)
15672 ),
15673 ( S==not_stored_yet
15674 -> E=suspension(_, _, _, _, V, W),
15675 term_variables(term(V, W), X),
15676 'chr none_locked'(X),
15677 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15678 Y),
15679 Z=[E|Y],
15680 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15681 Z),
15682 ( Y=[A1|_]
15683 -> setarg(4, A1, Z)
15684 ; true
15685 ),
15686 'attach_known/1_1_$special_=/2___2'(X, E)
15687 ; true
15688 ),
15689 known(G),
15690 ( E=suspension(_, active, U, _, _, _)
15691 -> setarg(2, E, inactive),
15692 'known/1_1_$special_=/2___2__1__0__11'(B,
15693 C,
15694 D,
15695 E)
15696 ; true
15697 )
15698 ; 'known/1_1_$special_=/2___2__1__0__11'(B, C, D, E)
15699 ).
15700'known/1_1_$special_=/2___2__1'(A, B, C) :-
15701 'known/1_1_$special_=/2___2__2'(A, B, C).
15702'known/1_1_$special_=/2___2__2'(_, _, A) :-
15703 arg(2, A, B),
15704 setarg(2, A, active),
15705 arg(3, A, C),
15706 D is C+1,
15707 setarg(3, A, D),
15708 ( B==not_stored_yet
15709 -> A=suspension(_, _, _, _, E, F),
15710 term_variables(term(E, F), G),
15711 'chr none_locked'(G),
15712 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15713 H),
15714 I=[A|H],
15715 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15716 I),
15717 ( H=[J|_]
15718 -> setarg(4, J, I)
15719 ; true
15720 ),
15721 'attach_known/1_1_$special_=/2___2'(G, A)
15722 ; true
15723 ).
15724'known/1_1_$special_,/2'(_, _) :-
15725 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
15726 A),
15727 member(B, A),
15728 B=suspension(_, active, _),
15729 !.
15730'known/1_1_$special_,/2'(A, B) :-
15731 known(A),
15732 known(B).
15733'known/1_1_$special_\\==/2'(A, B) :-
15734 'known/1_1_$special_\\==/2___2__0'(A, B, _).
15735'known/1_1_$special_\\==/2___2__0'(A, B, C) :-
15736 ( 'chr newvia_2'(A, B, D)
15737 -> get_attr(D, guard_entailment, E),
15738 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _)
15739 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
15740 F)
15741 ),
15742 member(G, F),
15743 G=suspension(_, active, _, _, _, H, I),
15744 H==A,
15745 I==B,
15746 !,
15747 ( var(C)
15748 -> true
15749 ; C=suspension(_, J, _, _, _, K, L),
15750 setarg(2, C, removed),
15751 ( J==not_stored_yet
15752 -> M=[]
15753 ; term_variables(term(K, L), M),
15754 arg(5, C, N),
15755 ( var(N)
15756 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
15757 O),
15758 O=[_|P],
15759 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
15760 P),
15761 ( P=[Q|_]
15762 -> setarg(5, Q, _)
15763 ; true
15764 )
15765 ; N=[_, _|P],
15766 setarg(2, N, P),
15767 ( P=[Q|_]
15768 -> setarg(5, Q, N)
15769 ; true
15770 )
15771 ),
15772 'detach_known/1_1_$special_\\==/2___2'(M, C)
15773 )
15774 ).
15775'known/1_1_$special_\\==/2___2__0'(A, B, C) :-
15776 ( var(C)
15777 -> C=suspension(D, not_stored_yet, t, 0, _, A, B),
15778 'chr gen_id'(D)
15779 ; true
15780 ),
15781 ( '$novel_production'(C, 138),
15782 number(A),
15783 !,
15784 '$extend_history'(C, 138),
15785 arg(2, C, E),
15786 setarg(2, C, active),
15787 arg(4, C, F),
15788 G is F+1,
15789 setarg(4, C, G),
15790 ( E==not_stored_yet
15791 -> C=suspension(_, _, _, _, _, H, I),
15792 term_variables(term(H, I), J),
15793 'chr none_locked'(J),
15794 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
15795 K),
15796 L=[C|K],
15797 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
15798 L),
15799 ( K=[M|_]
15800 -> setarg(5, M, L)
15801 ; true
15802 ),
15803 'attach_known/1_1_$special_\\==/2___2'(J, C)
15804 ; true
15805 ),
15806 'known/1_1_$special_=\\=/2'(A, B),
15807 ( C=suspension(_, active, _, G, _, _, _)
15808 -> setarg(2, C, inactive),
15809 'known/1_1_$special_\\==/2___2__1'(A, B, C)
15810 ; true
15811 )
15812 ; 'known/1_1_$special_\\==/2___2__1'(A, B, C)
15813 ).
15814'known/1_1_$special_\\==/2___2__1'(A, B, C) :-
15815 '$novel_production'(C, 139),
15816 number(B),
15817 !,
15818 '$extend_history'(C, 139),
15819 arg(2, C, D),
15820 setarg(2, C, active),
15821 arg(4, C, E),
15822 F is E+1,
15823 setarg(4, C, F),
15824 ( D==not_stored_yet
15825 -> C=suspension(_, _, _, _, _, G, H),
15826 term_variables(term(G, H), I),
15827 'chr none_locked'(I),
15828 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
15829 J),
15830 K=[C|J],
15831 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
15832 K),
15833 ( J=[L|_]
15834 -> setarg(5, L, K)
15835 ; true
15836 ),
15837 'attach_known/1_1_$special_\\==/2___2'(I, C)
15838 ; true
15839 ),
15840 'known/1_1_$special_=\\=/2'(A, B),
15841 ( C=suspension(_, active, _, F, _, _, _)
15842 -> setarg(2, C, inactive),
15843 'known/1_1_$special_\\==/2___2__2'(A, B, C)
15844 ; true
15845 ).
15846'known/1_1_$special_\\==/2___2__1'(A, B, C) :-
15847 'known/1_1_$special_\\==/2___2__2'(A, B, C).
15848'known/1_1_$special_\\==/2___2__2'(_, _, A) :-
15849 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
15850 B),
15851 member(C, B),
15852 C=suspension(_, active, _),
15853 !,
15854 ( var(A)
15855 -> true
15856 ; A=suspension(_, D, _, _, _, E, F),
15857 setarg(2, A, removed),
15858 ( D==not_stored_yet
15859 -> G=[]
15860 ; term_variables(term(E, F), G),
15861 arg(5, A, H),
15862 ( var(H)
15863 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
15864 I),
15865 I=[_|J],
15866 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
15867 J),
15868 ( J=[K|_]
15869 -> setarg(5, K, _)
15870 ; true
15871 )
15872 ; H=[_, _|J],
15873 setarg(2, H, J),
15874 ( J=[K|_]
15875 -> setarg(5, K, H)
15876 ; true
15877 )
15878 ),
15879 'detach_known/1_1_$special_\\==/2___2'(G, A)
15880 )
15881 ).
15882'known/1_1_$special_\\==/2___2__2'(A, B, C) :-
15883 ( 'chr newvia_2'(A, B, D)
15884 -> get_attr(D, guard_entailment, E),
15885 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _, _)
15886 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
15887 F)
15888 ),
15889 member(G, F),
15890 G=suspension(_, active, _, _, H),
15891 nonvar(H),
15892 H=(I\==J),
15893 I==A,
15894 J==B,
15895 !,
15896 G=suspension(_, _, _, _, K),
15897 setarg(2, G, removed),
15898 term_variables(K, L),
15899 arg(4, G, M),
15900 ( var(M)
15901 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
15902 N),
15903 N=[_|O],
15904 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
15905 O),
15906 ( O=[P|_]
15907 -> setarg(4, P, _)
15908 ; true
15909 )
15910 ; M=[_, _|O],
15911 setarg(2, M, O),
15912 ( O=[P|_]
15913 -> setarg(4, P, M)
15914 ; true
15915 )
15916 ),
15917 'detach_known/1_1_$special_\\+/1___1'(L, G),
15918 ( var(C)
15919 -> true
15920 ; C=suspension(_, Q, _, _, _, R, S),
15921 setarg(2, C, removed),
15922 ( Q==not_stored_yet
15923 -> T=[]
15924 ; term_variables(term(R, S), T),
15925 arg(5, C, U),
15926 ( var(U)
15927 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
15928 V),
15929 V=[_|W],
15930 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
15931 W),
15932 ( W=[X|_]
15933 -> setarg(5, X, _)
15934 ; true
15935 )
15936 ; U=[_, _|W],
15937 setarg(2, U, W),
15938 ( W=[X|_]
15939 -> setarg(5, X, U)
15940 ; true
15941 )
15942 ),
15943 'detach_known/1_1_$special_\\==/2___2'(T, C)
15944 )
15945 ),
15946 'known/1_1_$special_fail/0'.
15947'known/1_1_$special_\\==/2___2__2'(A, B, C) :-
15948 ( 'chr newvia_2'(A, B, D)
15949 -> get_attr(D, guard_entailment, E),
15950 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _)
15951 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
15952 F)
15953 ),
15954 member(G, F),
15955 G=suspension(_, active, _, _, _, H, I),
15956 H==A,
15957 I==B,
15958 !,
15959 G=suspension(_, _, _, _, _, J, K),
15960 setarg(2, G, removed),
15961 term_variables(term(J, K), L),
15962 arg(5, G, M),
15963 ( var(M)
15964 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
15965 N),
15966 N=[_|O],
15967 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
15968 O),
15969 ( O=[P|_]
15970 -> setarg(5, P, _)
15971 ; true
15972 )
15973 ; M=[_, _|O],
15974 setarg(2, M, O),
15975 ( O=[P|_]
15976 -> setarg(5, P, M)
15977 ; true
15978 )
15979 ),
15980 'detach_known/1_1_$special_==/2___2'(L, G),
15981 ( var(C)
15982 -> true
15983 ; C=suspension(_, Q, _, _, _, R, S),
15984 setarg(2, C, removed),
15985 ( Q==not_stored_yet
15986 -> T=[]
15987 ; term_variables(term(R, S), T),
15988 arg(5, C, U),
15989 ( var(U)
15990 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
15991 V),
15992 V=[_|W],
15993 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
15994 W),
15995 ( W=[X|_]
15996 -> setarg(5, X, _)
15997 ; true
15998 )
15999 ; U=[_, _|W],
16000 setarg(2, U, W),
16001 ( W=[X|_]
16002 -> setarg(5, X, U)
16003 ; true
16004 )
16005 ),
16006 'detach_known/1_1_$special_\\==/2___2'(T, C)
16007 )
16008 ),
16009 'known/1_1_$special_fail/0'.
16010'known/1_1_$special_\\==/2___2__2'(A, B, C) :-
16011 ( 'chr newvia_1'(A, D)
16012 -> get_attr(D, guard_entailment, E),
16013 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _)
16014 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16015 F)
16016 ),
16017 !,
16018 'known/1_1_$special_\\==/2___2__2__0__9'(F, A, B, C).
16019'known/1_1_$special_\\==/2___2__2__0__9'([], A, B, C) :-
16020 'known/1_1_$special_\\==/2___2__3'(A, B, C).
16021'known/1_1_$special_\\==/2___2__2__0__9'([A|B], C, D, E) :-
16022 ( A=suspension(_, active, _, _, _, F, G),
16023 G==C,
16024 H=t(229, A, E),
16025 '$novel_production'(A, H),
16026 '$novel_production'(E, H)
16027 -> '$extend_history'(E, H),
16028 arg(2, E, I),
16029 setarg(2, E, active),
16030 ( arg(4, E, J),
16031 K is J+1,
16032 setarg(4, E, K)
16033 ),
16034 ( I==not_stored_yet
16035 -> E=suspension(_, _, _, _, _, L, M),
16036 term_variables(term(L, M), N),
16037 'chr none_locked'(N),
16038 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16039 O),
16040 P=[E|O],
16041 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16042 P),
16043 ( O=[Q|_]
16044 -> setarg(5, Q, P)
16045 ; true
16046 ),
16047 'attach_known/1_1_$special_\\==/2___2'(N, E)
16048 ; true
16049 ),
16050 'known/1_1_$special_\\==/2'(F, D),
16051 ( E=suspension(_, active, _, K, _, _, _)
16052 -> setarg(2, E, inactive),
16053 'known/1_1_$special_\\==/2___2__2__0__9'(B,
16054 C,
16055 D,
16056 E)
16057 ; true
16058 )
16059 ; 'known/1_1_$special_\\==/2___2__2__0__9'(B, C, D, E)
16060 ).
16061'known/1_1_$special_\\==/2___2__2'(A, B, C) :-
16062 'known/1_1_$special_\\==/2___2__3'(A, B, C).
16063'known/1_1_$special_\\==/2___2__3'(A, B, C) :-
16064 '$novel_production'(C, 231),
16065 !,
16066 '$extend_history'(C, 231),
16067 arg(2, C, D),
16068 setarg(2, C, active),
16069 arg(4, C, E),
16070 F is E+1,
16071 setarg(4, C, F),
16072 ( D==not_stored_yet
16073 -> C=suspension(_, _, _, _, _, G, H),
16074 term_variables(term(G, H), I),
16075 'chr none_locked'(I),
16076 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16077 J),
16078 K=[C|J],
16079 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16080 K),
16081 ( J=[L|_]
16082 -> setarg(5, L, K)
16083 ; true
16084 ),
16085 'attach_known/1_1_$special_\\==/2___2'(I, C)
16086 ; true
16087 ),
16088 'known/1_1_$special_\\==/2'(B, A),
16089 ( C=suspension(_, active, _, F, _, _, _)
16090 -> setarg(2, C, inactive),
16091 'known/1_1_$special_\\==/2___2__4'(A, B, C)
16092 ; true
16093 ).
16094'known/1_1_$special_\\==/2___2__3'(A, B, C) :-
16095 'known/1_1_$special_\\==/2___2__4'(A, B, C).
16096'known/1_1_$special_\\==/2___2__4'(A, B, C) :-
16097 B==A,
16098 '$novel_production'(C, 232),
16099 !,
16100 '$extend_history'(C, 232),
16101 arg(2, C, D),
16102 setarg(2, C, active),
16103 arg(4, C, E),
16104 F is E+1,
16105 setarg(4, C, F),
16106 ( D==not_stored_yet
16107 -> C=suspension(_, _, _, _, _, G, H),
16108 term_variables(term(G, H), I),
16109 'chr none_locked'(I),
16110 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16111 J),
16112 K=[C|J],
16113 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16114 K),
16115 ( J=[L|_]
16116 -> setarg(5, L, K)
16117 ; true
16118 ),
16119 'attach_known/1_1_$special_\\==/2___2'(I, C)
16120 ; true
16121 ),
16122 'known/1_1_$special_fail/0',
16123 ( C=suspension(_, active, _, F, _, _, _)
16124 -> setarg(2, C, inactive),
16125 'known/1_1_$special_\\==/2___2__5'(A, B, C)
16126 ; true
16127 ).
16128'known/1_1_$special_\\==/2___2__4'(A, B, C) :-
16129 'known/1_1_$special_\\==/2___2__5'(A, B, C).
16130'known/1_1_$special_\\==/2___2__5'(A, B, C) :-
16131 nonvar(B),
16132 nonvar(A),
16133 'chr lock'(A),
16134 functor(A, D, E),
16135 'chr unlock'(A),
16136 !,
16137 ( var(C)
16138 -> true
16139 ; C=suspension(_, F, _, _, _, G, H),
16140 setarg(2, C, removed),
16141 ( F==not_stored_yet
16142 -> I=[]
16143 ; term_variables(term(G, H), I),
16144 arg(5, C, J),
16145 ( var(J)
16146 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16147 K),
16148 K=[_|L],
16149 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16150 L),
16151 ( L=[M|_]
16152 -> setarg(5, M, _)
16153 ; true
16154 )
16155 ; J=[_, _|L],
16156 setarg(2, J, L),
16157 ( L=[M|_]
16158 -> setarg(5, M, J)
16159 ; true
16160 )
16161 ),
16162 'detach_known/1_1_$special_\\==/2___2'(I, C)
16163 )
16164 ),
16165 ( functor(B, D, E)
16166 -> A=..[D|N],
16167 B=..[D|O],
16168 add_args_nmatch(N, O, P),
16169 known(P)
16170 ; true
16171 ).
16172'known/1_1_$special_\\==/2___2__5'(A, B, C) :-
16173 ( 'chr newvia_2'(A, B, D)
16174 -> get_attr(D, guard_entailment, E),
16175 E=v(_, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
16176 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16177 F)
16178 ),
16179 !,
16180 'known/1_1_$special_\\==/2___2__5__0__13'(F, A, B, C).
16181'known/1_1_$special_\\==/2___2__5__0__13'([], A, B, C) :-
16182 'known/1_1_$special_\\==/2___2__6'(A, B, C).
16183'known/1_1_$special_\\==/2___2__5__0__13'([A|B], C, D, E) :-
16184 ( A=suspension(_, active, _, _, F, G),
16185 nonvar(F),
16186 F=(\+H),
16187 nonvar(H),
16188 H=(I\==J),
16189 I==C,
16190 J==D
16191 -> A=suspension(_, _, _, _, K, L),
16192 setarg(2, A, removed),
16193 term_variables(term(K, L), M),
16194 ( arg(4, A, N),
16195 ( var(N)
16196 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16197 O),
16198 O=[_|P],
16199 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16200 P),
16201 ( P=[Q|_]
16202 -> setarg(4, Q, _)
16203 ; true
16204 )
16205 ; N=[_, _|P],
16206 setarg(2, N, P),
16207 ( P=[Q|_]
16208 -> setarg(4, Q, N)
16209 ; true
16210 )
16211 )
16212 ),
16213 'detach_known/1_1_$special_;/2___2'(M, A),
16214 arg(2, E, R),
16215 setarg(2, E, active),
16216 ( arg(4, E, S),
16217 T is S+1,
16218 setarg(4, E, T)
16219 ),
16220 ( R==not_stored_yet
16221 -> E=suspension(_, _, _, _, _, U, V),
16222 term_variables(term(U, V), W),
16223 'chr none_locked'(W),
16224 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16225 X),
16226 Y=[E|X],
16227 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16228 Y),
16229 ( X=[Z|_]
16230 -> setarg(5, Z, Y)
16231 ; true
16232 ),
16233 'attach_known/1_1_$special_\\==/2___2'(W, E)
16234 ; true
16235 ),
16236 known(G),
16237 ( E=suspension(_, active, _, T, _, _, _)
16238 -> setarg(2, E, inactive),
16239 'known/1_1_$special_\\==/2___2__5__0__13'(B,
16240 C,
16241 D,
16242 E)
16243 ; true
16244 )
16245 ; 'known/1_1_$special_\\==/2___2__5__0__13'(B,
16246 C,
16247 D,
16248 E)
16249 ).
16250'known/1_1_$special_\\==/2___2__5'(A, B, C) :-
16251 'known/1_1_$special_\\==/2___2__6'(A, B, C).
16252'known/1_1_$special_\\==/2___2__6'(A, B, C) :-
16253 ( 'chr newvia_2'(A, B, D)
16254 -> get_attr(D, guard_entailment, E),
16255 E=v(_, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
16256 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16257 F)
16258 ),
16259 !,
16260 'known/1_1_$special_\\==/2___2__6__0__14'(F, A, B, C).
16261'known/1_1_$special_\\==/2___2__6__0__14'([], A, B, C) :-
16262 'known/1_1_$special_\\==/2___2__7'(A, B, C).
16263'known/1_1_$special_\\==/2___2__6__0__14'([A|B], C, D, E) :-
16264 ( A=suspension(_, active, _, _, F, G),
16265 nonvar(F),
16266 F=(H, _),
16267 nonvar(H),
16268 H=(\+I),
16269 nonvar(I),
16270 I=(J\==K),
16271 J==C,
16272 K==D
16273 -> A=suspension(_, _, _, _, L, M),
16274 setarg(2, A, removed),
16275 term_variables(term(L, M), N),
16276 ( arg(4, A, O),
16277 ( var(O)
16278 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16279 P),
16280 P=[_|Q],
16281 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16282 Q),
16283 ( Q=[R|_]
16284 -> setarg(4, R, _)
16285 ; true
16286 )
16287 ; O=[_, _|Q],
16288 setarg(2, O, Q),
16289 ( Q=[R|_]
16290 -> setarg(4, R, O)
16291 ; true
16292 )
16293 )
16294 ),
16295 'detach_known/1_1_$special_;/2___2'(N, A),
16296 arg(2, E, S),
16297 setarg(2, E, active),
16298 ( arg(4, E, T),
16299 U is T+1,
16300 setarg(4, E, U)
16301 ),
16302 ( S==not_stored_yet
16303 -> E=suspension(_, _, _, _, _, V, W),
16304 term_variables(term(V, W), X),
16305 'chr none_locked'(X),
16306 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16307 Y),
16308 Z=[E|Y],
16309 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16310 Z),
16311 ( Y=[A1|_]
16312 -> setarg(5, A1, Z)
16313 ; true
16314 ),
16315 'attach_known/1_1_$special_\\==/2___2'(X, E)
16316 ; true
16317 ),
16318 known(G),
16319 ( E=suspension(_, active, _, U, _, _, _)
16320 -> setarg(2, E, inactive),
16321 'known/1_1_$special_\\==/2___2__6__0__14'(B,
16322 C,
16323 D,
16324 E)
16325 ; true
16326 )
16327 ; 'known/1_1_$special_\\==/2___2__6__0__14'(B,
16328 C,
16329 D,
16330 E)
16331 ).
16332'known/1_1_$special_\\==/2___2__6'(A, B, C) :-
16333 'known/1_1_$special_\\==/2___2__7'(A, B, C).
16334'known/1_1_$special_\\==/2___2__7'(_, _, A) :-
16335 arg(2, A, B),
16336 setarg(2, A, active),
16337 arg(4, A, C),
16338 D is C+1,
16339 setarg(4, A, D),
16340 ( B==not_stored_yet
16341 -> A=suspension(_, _, _, _, _, E, F),
16342 term_variables(term(E, F), G),
16343 'chr none_locked'(G),
16344 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16345 H),
16346 I=[A|H],
16347 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16348 I),
16349 ( H=[J|_]
16350 -> setarg(5, J, I)
16351 ; true
16352 ),
16353 'attach_known/1_1_$special_\\==/2___2'(G, A)
16354 ; true
16355 ).
16356'known/1_1_$special_==/2'(A, B) :-
16357 'known/1_1_$special_==/2___2__0'(A, B, _).
16358'known/1_1_$special_==/2___2__0'(A, B, C) :-
16359 ( 'chr newvia_2'(A, B, D)
16360 -> get_attr(D, guard_entailment, E),
16361 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _)
16362 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16363 F)
16364 ),
16365 member(G, F),
16366 G=suspension(_, active, _, _, _, H, I),
16367 H==A,
16368 I==B,
16369 !,
16370 ( var(C)
16371 -> true
16372 ; C=suspension(_, J, _, _, _, K, L),
16373 setarg(2, C, removed),
16374 ( J==not_stored_yet
16375 -> M=[]
16376 ; term_variables(term(K, L), M),
16377 arg(5, C, N),
16378 ( var(N)
16379 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16380 O),
16381 O=[_|P],
16382 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16383 P),
16384 ( P=[Q|_]
16385 -> setarg(5, Q, _)
16386 ; true
16387 )
16388 ; N=[_, _|P],
16389 setarg(2, N, P),
16390 ( P=[Q|_]
16391 -> setarg(5, Q, N)
16392 ; true
16393 )
16394 ),
16395 'detach_known/1_1_$special_==/2___2'(M, C)
16396 )
16397 ).
16398'known/1_1_$special_==/2___2__0'(A, B, C) :-
16399 ( var(C)
16400 -> C=suspension(D, not_stored_yet, t, 0, _, A, B),
16401 'chr gen_id'(D)
16402 ; true
16403 ),
16404 ( '$novel_production'(C, 136),
16405 number(A),
16406 !,
16407 '$extend_history'(C, 136),
16408 arg(2, C, E),
16409 setarg(2, C, active),
16410 arg(4, C, F),
16411 G is F+1,
16412 setarg(4, C, G),
16413 ( E==not_stored_yet
16414 -> C=suspension(_, _, _, _, _, H, I),
16415 term_variables(term(H, I), J),
16416 'chr none_locked'(J),
16417 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16418 K),
16419 L=[C|K],
16420 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16421 L),
16422 ( K=[M|_]
16423 -> setarg(5, M, L)
16424 ; true
16425 ),
16426 'attach_known/1_1_$special_==/2___2'(J, C)
16427 ; true
16428 ),
16429 'known/1_1_$special_=:=/2'(A, B),
16430 ( C=suspension(_, active, _, G, _, _, _)
16431 -> setarg(2, C, inactive),
16432 'known/1_1_$special_==/2___2__1'(A, B, C)
16433 ; true
16434 )
16435 ; 'known/1_1_$special_==/2___2__1'(A, B, C)
16436 ).
16437'known/1_1_$special_==/2___2__1'(A, B, C) :-
16438 '$novel_production'(C, 137),
16439 number(B),
16440 !,
16441 '$extend_history'(C, 137),
16442 arg(2, C, D),
16443 setarg(2, C, active),
16444 arg(4, C, E),
16445 F is E+1,
16446 setarg(4, C, F),
16447 ( D==not_stored_yet
16448 -> C=suspension(_, _, _, _, _, G, H),
16449 term_variables(term(G, H), I),
16450 'chr none_locked'(I),
16451 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16452 J),
16453 K=[C|J],
16454 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16455 K),
16456 ( J=[L|_]
16457 -> setarg(5, L, K)
16458 ; true
16459 ),
16460 'attach_known/1_1_$special_==/2___2'(I, C)
16461 ; true
16462 ),
16463 'known/1_1_$special_=:=/2'(A, B),
16464 ( C=suspension(_, active, _, F, _, _, _)
16465 -> setarg(2, C, inactive),
16466 'known/1_1_$special_==/2___2__2'(A, B, C)
16467 ; true
16468 ).
16469'known/1_1_$special_==/2___2__1'(A, B, C) :-
16470 'known/1_1_$special_==/2___2__2'(A, B, C).
16471'known/1_1_$special_==/2___2__2'(_, _, A) :-
16472 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
16473 B),
16474 member(C, B),
16475 C=suspension(_, active, _),
16476 !,
16477 ( var(A)
16478 -> true
16479 ; A=suspension(_, D, _, _, _, E, F),
16480 setarg(2, A, removed),
16481 ( D==not_stored_yet
16482 -> G=[]
16483 ; term_variables(term(E, F), G),
16484 arg(5, A, H),
16485 ( var(H)
16486 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16487 I),
16488 I=[_|J],
16489 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16490 J),
16491 ( J=[K|_]
16492 -> setarg(5, K, _)
16493 ; true
16494 )
16495 ; H=[_, _|J],
16496 setarg(2, H, J),
16497 ( J=[K|_]
16498 -> setarg(5, K, H)
16499 ; true
16500 )
16501 ),
16502 'detach_known/1_1_$special_==/2___2'(G, A)
16503 )
16504 ).
16505'known/1_1_$special_==/2___2__2'(A, B, C) :-
16506 B==A,
16507 !,
16508 ( var(C)
16509 -> true
16510 ; C=suspension(_, D, _, _, _, E, F),
16511 setarg(2, C, removed),
16512 ( D==not_stored_yet
16513 -> G=[]
16514 ; term_variables(term(E, F), G),
16515 arg(5, C, H),
16516 ( var(H)
16517 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16518 I),
16519 I=[_|J],
16520 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16521 J),
16522 ( J=[K|_]
16523 -> setarg(5, K, _)
16524 ; true
16525 )
16526 ; H=[_, _|J],
16527 setarg(2, H, J),
16528 ( J=[K|_]
16529 -> setarg(5, K, H)
16530 ; true
16531 )
16532 ),
16533 'detach_known/1_1_$special_==/2___2'(G, C)
16534 )
16535 ).
16536'known/1_1_$special_==/2___2__2'(A, B, C) :-
16537 ( 'chr newvia_2'(A, B, D)
16538 -> get_attr(D, guard_entailment, E),
16539 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _, _)
16540 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
16541 F)
16542 ),
16543 member(G, F),
16544 G=suspension(_, active, _, _, H),
16545 nonvar(H),
16546 H=(I==J),
16547 I==A,
16548 J==B,
16549 !,
16550 G=suspension(_, _, _, _, K),
16551 setarg(2, G, removed),
16552 term_variables(K, L),
16553 arg(4, G, M),
16554 ( var(M)
16555 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
16556 N),
16557 N=[_|O],
16558 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
16559 O),
16560 ( O=[P|_]
16561 -> setarg(4, P, _)
16562 ; true
16563 )
16564 ; M=[_, _|O],
16565 setarg(2, M, O),
16566 ( O=[P|_]
16567 -> setarg(4, P, M)
16568 ; true
16569 )
16570 ),
16571 'detach_known/1_1_$special_\\+/1___1'(L, G),
16572 ( var(C)
16573 -> true
16574 ; C=suspension(_, Q, _, _, _, R, S),
16575 setarg(2, C, removed),
16576 ( Q==not_stored_yet
16577 -> T=[]
16578 ; term_variables(term(R, S), T),
16579 arg(5, C, U),
16580 ( var(U)
16581 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16582 V),
16583 V=[_|W],
16584 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16585 W),
16586 ( W=[X|_]
16587 -> setarg(5, X, _)
16588 ; true
16589 )
16590 ; U=[_, _|W],
16591 setarg(2, U, W),
16592 ( W=[X|_]
16593 -> setarg(5, X, U)
16594 ; true
16595 )
16596 ),
16597 'detach_known/1_1_$special_==/2___2'(T, C)
16598 )
16599 ),
16600 'known/1_1_$special_fail/0'.
16601'known/1_1_$special_==/2___2__2'(A, B, C) :-
16602 ( 'chr newvia_2'(A, B, D)
16603 -> get_attr(D, guard_entailment, E),
16604 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _)
16605 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16606 F)
16607 ),
16608 member(G, F),
16609 G=suspension(_, active, _, _, _, H, I),
16610 H==A,
16611 I==B,
16612 !,
16613 G=suspension(_, _, _, _, _, J, K),
16614 setarg(2, G, removed),
16615 term_variables(term(J, K), L),
16616 arg(5, G, M),
16617 ( var(M)
16618 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16619 N),
16620 N=[_|O],
16621 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16622 O),
16623 ( O=[P|_]
16624 -> setarg(5, P, _)
16625 ; true
16626 )
16627 ; M=[_, _|O],
16628 setarg(2, M, O),
16629 ( O=[P|_]
16630 -> setarg(5, P, M)
16631 ; true
16632 )
16633 ),
16634 'detach_known/1_1_$special_\\==/2___2'(L, G),
16635 ( var(C)
16636 -> true
16637 ; C=suspension(_, Q, _, _, _, R, S),
16638 setarg(2, C, removed),
16639 ( Q==not_stored_yet
16640 -> T=[]
16641 ; term_variables(term(R, S), T),
16642 arg(5, C, U),
16643 ( var(U)
16644 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16645 V),
16646 V=[_|W],
16647 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16648 W),
16649 ( W=[X|_]
16650 -> setarg(5, X, _)
16651 ; true
16652 )
16653 ; U=[_, _|W],
16654 setarg(2, U, W),
16655 ( W=[X|_]
16656 -> setarg(5, X, U)
16657 ; true
16658 )
16659 ),
16660 'detach_known/1_1_$special_==/2___2'(T, C)
16661 )
16662 ),
16663 'known/1_1_$special_fail/0'.
16664'known/1_1_$special_==/2___2__2'(A, B, C) :-
16665 ( 'chr newvia_1'(B, D)
16666 -> get_attr(D, guard_entailment, E),
16667 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _)
16668 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16669 F)
16670 ),
16671 !,
16672 'known/1_1_$special_==/2___2__2__0__10'(F, A, B, C).
16673'known/1_1_$special_==/2___2__2__0__10'([], A, B, C) :-
16674 'known/1_1_$special_==/2___2__3'(A, B, C).
16675'known/1_1_$special_==/2___2__2__0__10'([A|B], C, D, E) :-
16676 ( A=suspension(_, active, _, _, _, F, G),
16677 F==D,
16678 H=t(228, E, A),
16679 '$novel_production'(E, H),
16680 '$novel_production'(A, H)
16681 -> '$extend_history'(E, H),
16682 arg(2, E, I),
16683 setarg(2, E, active),
16684 ( arg(4, E, J),
16685 K is J+1,
16686 setarg(4, E, K)
16687 ),
16688 ( I==not_stored_yet
16689 -> E=suspension(_, _, _, _, _, L, M),
16690 term_variables(term(L, M), N),
16691 'chr none_locked'(N),
16692 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16693 O),
16694 P=[E|O],
16695 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16696 P),
16697 ( O=[Q|_]
16698 -> setarg(5, Q, P)
16699 ; true
16700 ),
16701 'attach_known/1_1_$special_==/2___2'(N, E)
16702 ; true
16703 ),
16704 'known/1_1_$special_==/2'(C, G),
16705 ( E=suspension(_, active, _, K, _, _, _)
16706 -> setarg(2, E, inactive),
16707 'known/1_1_$special_==/2___2__2__0__10'(B,
16708 C,
16709 D,
16710 E)
16711 ; true
16712 )
16713 ; 'known/1_1_$special_==/2___2__2__0__10'(B, C, D, E)
16714 ).
16715'known/1_1_$special_==/2___2__2'(A, B, C) :-
16716 'known/1_1_$special_==/2___2__3'(A, B, C).
16717'known/1_1_$special_==/2___2__3'(A, B, C) :-
16718 ( 'chr newvia_1'(A, D)
16719 -> get_attr(D, guard_entailment, E),
16720 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _)
16721 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16722 F)
16723 ),
16724 !,
16725 'known/1_1_$special_==/2___2__3__0__11'(F, A, B, C).
16726'known/1_1_$special_==/2___2__3__0__11'([], A, B, C) :-
16727 'known/1_1_$special_==/2___2__4'(A, B, C).
16728'known/1_1_$special_==/2___2__3__0__11'([A|B], C, D, E) :-
16729 ( A=suspension(_, active, _, _, _, F, G),
16730 G==C,
16731 H=t(228, A, E),
16732 '$novel_production'(A, H),
16733 '$novel_production'(E, H)
16734 -> '$extend_history'(E, H),
16735 arg(2, E, I),
16736 setarg(2, E, active),
16737 ( arg(4, E, J),
16738 K is J+1,
16739 setarg(4, E, K)
16740 ),
16741 ( I==not_stored_yet
16742 -> E=suspension(_, _, _, _, _, L, M),
16743 term_variables(term(L, M), N),
16744 'chr none_locked'(N),
16745 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16746 O),
16747 P=[E|O],
16748 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16749 P),
16750 ( O=[Q|_]
16751 -> setarg(5, Q, P)
16752 ; true
16753 ),
16754 'attach_known/1_1_$special_==/2___2'(N, E)
16755 ; true
16756 ),
16757 'known/1_1_$special_==/2'(F, D),
16758 ( E=suspension(_, active, _, K, _, _, _)
16759 -> setarg(2, E, inactive),
16760 'known/1_1_$special_==/2___2__3__0__11'(B,
16761 C,
16762 D,
16763 E)
16764 ; true
16765 )
16766 ; 'known/1_1_$special_==/2___2__3__0__11'(B, C, D, E)
16767 ).
16768'known/1_1_$special_==/2___2__3'(A, B, C) :-
16769 'known/1_1_$special_==/2___2__4'(A, B, C).
16770'known/1_1_$special_==/2___2__4'(A, B, C) :-
16771 ( 'chr newvia_1'(B, D)
16772 -> get_attr(D, guard_entailment, E),
16773 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _)
16774 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16775 F)
16776 ),
16777 !,
16778 'known/1_1_$special_==/2___2__4__0__12'(F, A, B, C).
16779'known/1_1_$special_==/2___2__4__0__12'([], A, B, C) :-
16780 'known/1_1_$special_==/2___2__5'(A, B, C).
16781'known/1_1_$special_==/2___2__4__0__12'([A|B], C, D, E) :-
16782 ( A=suspension(_, active, _, _, _, F, G),
16783 F==D,
16784 H=t(229, E, A),
16785 '$novel_production'(E, H),
16786 '$novel_production'(A, H)
16787 -> '$extend_history'(E, H),
16788 arg(2, E, I),
16789 setarg(2, E, active),
16790 ( arg(4, E, J),
16791 K is J+1,
16792 setarg(4, E, K)
16793 ),
16794 ( I==not_stored_yet
16795 -> E=suspension(_, _, _, _, _, L, M),
16796 term_variables(term(L, M), N),
16797 'chr none_locked'(N),
16798 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16799 O),
16800 P=[E|O],
16801 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16802 P),
16803 ( O=[Q|_]
16804 -> setarg(5, Q, P)
16805 ; true
16806 ),
16807 'attach_known/1_1_$special_==/2___2'(N, E)
16808 ; true
16809 ),
16810 'known/1_1_$special_\\==/2'(C, G),
16811 ( E=suspension(_, active, _, K, _, _, _)
16812 -> setarg(2, E, inactive),
16813 'known/1_1_$special_==/2___2__4__0__12'(B,
16814 C,
16815 D,
16816 E)
16817 ; true
16818 )
16819 ; 'known/1_1_$special_==/2___2__4__0__12'(B, C, D, E)
16820 ).
16821'known/1_1_$special_==/2___2__4'(A, B, C) :-
16822 'known/1_1_$special_==/2___2__5'(A, B, C).
16823'known/1_1_$special_==/2___2__5'(A, B, C) :-
16824 '$novel_production'(C, 230),
16825 !,
16826 '$extend_history'(C, 230),
16827 arg(2, C, D),
16828 setarg(2, C, active),
16829 arg(4, C, E),
16830 F is E+1,
16831 setarg(4, C, F),
16832 ( D==not_stored_yet
16833 -> C=suspension(_, _, _, _, _, G, H),
16834 term_variables(term(G, H), I),
16835 'chr none_locked'(I),
16836 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16837 J),
16838 K=[C|J],
16839 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16840 K),
16841 ( J=[L|_]
16842 -> setarg(5, L, K)
16843 ; true
16844 ),
16845 'attach_known/1_1_$special_==/2___2'(I, C)
16846 ; true
16847 ),
16848 'known/1_1_$special_==/2'(B, A),
16849 ( C=suspension(_, active, _, F, _, _, _)
16850 -> setarg(2, C, inactive),
16851 'known/1_1_$special_==/2___2__6'(A, B, C)
16852 ; true
16853 ).
16854'known/1_1_$special_==/2___2__5'(A, B, C) :-
16855 'known/1_1_$special_==/2___2__6'(A, B, C).
16856'known/1_1_$special_==/2___2__6'(A, B, C) :-
16857 '$novel_production'(C, 234),
16858 !,
16859 '$extend_history'(C, 234),
16860 arg(2, C, D),
16861 setarg(2, C, active),
16862 arg(4, C, E),
16863 F is E+1,
16864 setarg(4, C, F),
16865 ( D==not_stored_yet
16866 -> C=suspension(_, _, _, _, _, G, H),
16867 term_variables(term(G, H), I),
16868 'chr none_locked'(I),
16869 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16870 J),
16871 K=[C|J],
16872 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16873 K),
16874 ( J=[L|_]
16875 -> setarg(5, L, K)
16876 ; true
16877 ),
16878 'attach_known/1_1_$special_==/2___2'(I, C)
16879 ; true
16880 ),
16881 'known/1_1_$special_=/2'(A, B),
16882 ( C=suspension(_, active, _, F, _, _, _)
16883 -> setarg(2, C, inactive),
16884 'known/1_1_$special_==/2___2__7'(A, B, C)
16885 ; true
16886 ).
16887'known/1_1_$special_==/2___2__6'(A, B, C) :-
16888 'known/1_1_$special_==/2___2__7'(A, B, C).
16889'known/1_1_$special_==/2___2__7'(A, B, C) :-
16890 ( 'chr newvia_2'(A, B, D)
16891 -> get_attr(D, guard_entailment, E),
16892 E=v(_, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
16893 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16894 F)
16895 ),
16896 !,
16897 'known/1_1_$special_==/2___2__7__0__15'(F, A, B, C).
16898'known/1_1_$special_==/2___2__7__0__15'([], A, B, C) :-
16899 'known/1_1_$special_==/2___2__8'(A, B, C).
16900'known/1_1_$special_==/2___2__7__0__15'([A|B], C, D, E) :-
16901 ( A=suspension(_, active, _, _, F, G),
16902 nonvar(F),
16903 F=(\+H),
16904 nonvar(H),
16905 H=(I==J),
16906 I==C,
16907 J==D
16908 -> A=suspension(_, _, _, _, K, L),
16909 setarg(2, A, removed),
16910 term_variables(term(K, L), M),
16911 ( arg(4, A, N),
16912 ( var(N)
16913 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16914 O),
16915 O=[_|P],
16916 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16917 P),
16918 ( P=[Q|_]
16919 -> setarg(4, Q, _)
16920 ; true
16921 )
16922 ; N=[_, _|P],
16923 setarg(2, N, P),
16924 ( P=[Q|_]
16925 -> setarg(4, Q, N)
16926 ; true
16927 )
16928 )
16929 ),
16930 'detach_known/1_1_$special_;/2___2'(M, A),
16931 arg(2, E, R),
16932 setarg(2, E, active),
16933 ( arg(4, E, S),
16934 T is S+1,
16935 setarg(4, E, T)
16936 ),
16937 ( R==not_stored_yet
16938 -> E=suspension(_, _, _, _, _, U, V),
16939 term_variables(term(U, V), W),
16940 'chr none_locked'(W),
16941 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16942 X),
16943 Y=[E|X],
16944 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16945 Y),
16946 ( X=[Z|_]
16947 -> setarg(5, Z, Y)
16948 ; true
16949 ),
16950 'attach_known/1_1_$special_==/2___2'(W, E)
16951 ; true
16952 ),
16953 known(G),
16954 ( E=suspension(_, active, _, T, _, _, _)
16955 -> setarg(2, E, inactive),
16956 'known/1_1_$special_==/2___2__7__0__15'(B,
16957 C,
16958 D,
16959 E)
16960 ; true
16961 )
16962 ; 'known/1_1_$special_==/2___2__7__0__15'(B, C, D, E)
16963 ).
16964'known/1_1_$special_==/2___2__7'(A, B, C) :-
16965 'known/1_1_$special_==/2___2__8'(A, B, C).
16966'known/1_1_$special_==/2___2__8'(A, B, C) :-
16967 ( 'chr newvia_2'(A, B, D)
16968 -> get_attr(D, guard_entailment, E),
16969 E=v(_, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
16970 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16971 F)
16972 ),
16973 !,
16974 'known/1_1_$special_==/2___2__8__0__16'(F, A, B, C).
16975'known/1_1_$special_==/2___2__8__0__16'([], A, B, C) :-
16976 'known/1_1_$special_==/2___2__9'(A, B, C).
16977'known/1_1_$special_==/2___2__8__0__16'([A|B], C, D, E) :-
16978 ( A=suspension(_, active, _, _, F, G),
16979 nonvar(F),
16980 F=(H, _),
16981 nonvar(H),
16982 H=(\+I),
16983 nonvar(I),
16984 I=(J==K),
16985 J==C,
16986 K==D
16987 -> A=suspension(_, _, _, _, L, M),
16988 setarg(2, A, removed),
16989 term_variables(term(L, M), N),
16990 ( arg(4, A, O),
16991 ( var(O)
16992 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16993 P),
16994 P=[_|Q],
16995 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16996 Q),
16997 ( Q=[R|_]
16998 -> setarg(4, R, _)
16999 ; true
17000 )
17001 ; O=[_, _|Q],
17002 setarg(2, O, Q),
17003 ( Q=[R|_]
17004 -> setarg(4, R, O)
17005 ; true
17006 )
17007 )
17008 ),
17009 'detach_known/1_1_$special_;/2___2'(N, A),
17010 arg(2, E, S),
17011 setarg(2, E, active),
17012 ( arg(4, E, T),
17013 U is T+1,
17014 setarg(4, E, U)
17015 ),
17016 ( S==not_stored_yet
17017 -> E=suspension(_, _, _, _, _, V, W),
17018 term_variables(term(V, W), X),
17019 'chr none_locked'(X),
17020 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17021 Y),
17022 Z=[E|Y],
17023 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17024 Z),
17025 ( Y=[A1|_]
17026 -> setarg(5, A1, Z)
17027 ; true
17028 ),
17029 'attach_known/1_1_$special_==/2___2'(X, E)
17030 ; true
17031 ),
17032 known(G),
17033 ( E=suspension(_, active, _, U, _, _, _)
17034 -> setarg(2, E, inactive),
17035 'known/1_1_$special_==/2___2__8__0__16'(B,
17036 C,
17037 D,
17038 E)
17039 ; true
17040 )
17041 ; 'known/1_1_$special_==/2___2__8__0__16'(B, C, D, E)
17042 ).
17043'known/1_1_$special_==/2___2__8'(A, B, C) :-
17044 'known/1_1_$special_==/2___2__9'(A, B, C).
17045'known/1_1_$special_==/2___2__9'(_, _, A) :-
17046 arg(2, A, B),
17047 setarg(2, A, active),
17048 arg(4, A, C),
17049 D is C+1,
17050 setarg(4, A, D),
17051 ( B==not_stored_yet
17052 -> A=suspension(_, _, _, _, _, E, F),
17053 term_variables(term(E, F), G),
17054 'chr none_locked'(G),
17055 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17056 H),
17057 I=[A|H],
17058 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17059 I),
17060 ( H=[J|_]
17061 -> setarg(5, J, I)
17062 ; true
17063 ),
17064 'attach_known/1_1_$special_==/2___2'(G, A)
17065 ; true
17066 ).
17067'known/1_1_$special_is/2'(A, B) :-
17068 'known/1_1_$special_=:=/2'(A, B).
17069'known/1_1_$special_</2'(A, B) :-
17070 'known/1_1_$special_=</2'(A, B),
17071 'known/1_1_$special_=\\=/2'(A, B).
17072'known/1_1_$special_>=/2'(A, B) :-
17073 'known/1_1_$special_=</2'(B, A).
17074'known/1_1_$special_>/2'(A, B) :-
17075 'known/1_1_$special_</2'(B, A).
17076'known/1_1_$special_=</2'(A, B) :-
17077 'known/1_1_$special_=</2___2__0'(A, B, _).
17078'known/1_1_$special_=</2___2__0'(A, B, C) :-
17079 ( 'chr newvia_2'(A, B, D)
17080 -> get_attr(D, guard_entailment, E),
17081 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _)
17082 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17083 F)
17084 ),
17085 member(G, F),
17086 G=suspension(_, active, _, _, _, H, I),
17087 H==A,
17088 I==B,
17089 !,
17090 ( var(C)
17091 -> true
17092 ; C=suspension(_, J, _, _, _, K, L),
17093 setarg(2, C, removed),
17094 ( J==not_stored_yet
17095 -> M=[]
17096 ; term_variables(term(K, L), M),
17097 arg(5, C, N),
17098 ( var(N)
17099 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17100 O),
17101 O=[_|P],
17102 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17103 P),
17104 ( P=[Q|_]
17105 -> setarg(5, Q, _)
17106 ; true
17107 )
17108 ; N=[_, _|P],
17109 setarg(2, N, P),
17110 ( P=[Q|_]
17111 -> setarg(5, Q, N)
17112 ; true
17113 )
17114 ),
17115 'detach_known/1_1_$special_=</2___2'(M, C)
17116 )
17117 ).
17118'known/1_1_$special_=</2___2__0'(_, _, A) :-
17119 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
17120 B),
17121 member(C, B),
17122 C=suspension(_, active, _),
17123 !,
17124 ( var(A)
17125 -> true
17126 ; A=suspension(_, D, _, _, _, E, F),
17127 setarg(2, A, removed),
17128 ( D==not_stored_yet
17129 -> G=[]
17130 ; term_variables(term(E, F), G),
17131 arg(5, A, H),
17132 ( var(H)
17133 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17134 I),
17135 I=[_|J],
17136 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17137 J),
17138 ( J=[K|_]
17139 -> setarg(5, K, _)
17140 ; true
17141 )
17142 ; H=[_, _|J],
17143 setarg(2, H, J),
17144 ( J=[K|_]
17145 -> setarg(5, K, H)
17146 ; true
17147 )
17148 ),
17149 'detach_known/1_1_$special_=</2___2'(G, A)
17150 )
17151 ).
17152'known/1_1_$special_=</2___2__0'(A, B, C) :-
17153 B==A,
17154 !,
17155 ( var(C)
17156 -> true
17157 ; C=suspension(_, D, _, _, _, E, F),
17158 setarg(2, C, removed),
17159 ( D==not_stored_yet
17160 -> G=[]
17161 ; term_variables(term(E, F), G),
17162 arg(5, C, H),
17163 ( var(H)
17164 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17165 I),
17166 I=[_|J],
17167 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17168 J),
17169 ( J=[K|_]
17170 -> setarg(5, K, _)
17171 ; true
17172 )
17173 ; H=[_, _|J],
17174 setarg(2, H, J),
17175 ( J=[K|_]
17176 -> setarg(5, K, H)
17177 ; true
17178 )
17179 ),
17180 'detach_known/1_1_$special_=</2___2'(G, C)
17181 )
17182 ).
17183'known/1_1_$special_=</2___2__0'(A, B, C) :-
17184 number(B),
17185 ( number(A),
17186 A>B,
17187 !,
17188 ( var(C)
17189 -> true
17190 ; C=suspension(_, D, _, _, _, E, F),
17191 setarg(2, C, removed),
17192 ( D==not_stored_yet
17193 -> G=[]
17194 ; term_variables(term(E, F), G),
17195 arg(5, C, H),
17196 ( var(H)
17197 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17198 I),
17199 I=[_|J],
17200 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17201 J),
17202 ( J=[K|_]
17203 -> setarg(5, K, _)
17204 ; true
17205 )
17206 ; H=[_, _|J],
17207 setarg(2, H, J),
17208 ( J=[K|_]
17209 -> setarg(5, K, H)
17210 ; true
17211 )
17212 ),
17213 'detach_known/1_1_$special_=</2___2'(G, C)
17214 )
17215 ),
17216 'known/1_1_$special_fail/0'
17217 ; ( 'chr newvia_1'(A, L)
17218 -> get_attr(L, guard_entailment, M),
17219 M=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, N, _)
17220 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17221 N)
17222 ),
17223 member(O, N),
17224 O=suspension(_, active, _, _, _, P, Q),
17225 P==A,
17226 number(Q),
17227 Q=<B,
17228 !,
17229 ( var(C)
17230 -> true
17231 ; C=suspension(_, R, _, _, _, S, T),
17232 setarg(2, C, removed),
17233 ( R==not_stored_yet
17234 -> U=[]
17235 ; term_variables(term(S, T), U),
17236 arg(5, C, V),
17237 ( var(V)
17238 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17239 W),
17240 W=[_|X],
17241 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17242 X),
17243 ( X=[Y|_]
17244 -> setarg(5, Y, _)
17245 ; true
17246 )
17247 ; V=[_, _|X],
17248 setarg(2, V, X),
17249 ( X=[Y|_]
17250 -> setarg(5, Y, V)
17251 ; true
17252 )
17253 ),
17254 'detach_known/1_1_$special_=</2___2'(U, C)
17255 )
17256 )
17257 ).
17258'known/1_1_$special_=</2___2__0'(A, B, C) :-
17259 ( 'chr newvia_1'(A, D)
17260 -> get_attr(D, guard_entailment, E),
17261 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _)
17262 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17263 F)
17264 ),
17265 !,
17266 'known/1_1_$special_=</2___2__0__0__12'(F, A, B, C).
17267'known/1_1_$special_=</2___2__0__0__12'([], A, B, C) :-
17268 'known/1_1_$special_=</2___2__1'(A, B, C).
17269'known/1_1_$special_=</2___2__0__0__12'([A|B], C, D, E) :-
17270 ( A=suspension(_, active, _, _, _, F, G),
17271 F==C,
17272 number(G),
17273 number(D),
17274 D=<G
17275 -> A=suspension(_, _, _, _, _, H, I),
17276 setarg(2, A, removed),
17277 term_variables(term(H, I), J),
17278 ( arg(5, A, K),
17279 ( var(K)
17280 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17281 L),
17282 L=[_|M],
17283 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17284 M),
17285 ( M=[N|_]
17286 -> setarg(5, N, _)
17287 ; true
17288 )
17289 ; K=[_, _|M],
17290 setarg(2, K, M),
17291 ( M=[N|_]
17292 -> setarg(5, N, K)
17293 ; true
17294 )
17295 )
17296 ),
17297 'detach_known/1_1_$special_=</2___2'(J, A),
17298 'known/1_1_$special_=</2___2__0__0__12'(B, C, D, E)
17299 ; 'known/1_1_$special_=</2___2__0__0__12'(B, C, D, E)
17300 ).
17301'known/1_1_$special_=</2___2__0'(A, B, C) :-
17302 'known/1_1_$special_=</2___2__1'(A, B, C).
17303'known/1_1_$special_=</2___2__1'(A, B, C) :-
17304 number(A),
17305 ( 'chr newvia_1'(B, D)
17306 -> get_attr(D, guard_entailment, E),
17307 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _)
17308 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17309 F)
17310 ),
17311 member(G, F),
17312 G=suspension(_, active, _, _, _, H, I),
17313 I==B,
17314 number(H),
17315 A=<H,
17316 !,
17317 ( var(C)
17318 -> true
17319 ; C=suspension(_, J, _, _, _, K, L),
17320 setarg(2, C, removed),
17321 ( J==not_stored_yet
17322 -> M=[]
17323 ; term_variables(term(K, L), M),
17324 arg(5, C, N),
17325 ( var(N)
17326 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17327 O),
17328 O=[_|P],
17329 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17330 P),
17331 ( P=[Q|_]
17332 -> setarg(5, Q, _)
17333 ; true
17334 )
17335 ; N=[_, _|P],
17336 setarg(2, N, P),
17337 ( P=[Q|_]
17338 -> setarg(5, Q, N)
17339 ; true
17340 )
17341 ),
17342 'detach_known/1_1_$special_=</2___2'(M, C)
17343 )
17344 ).
17345'known/1_1_$special_=</2___2__1'(A, B, C) :-
17346 ( 'chr newvia_1'(B, D)
17347 -> get_attr(D, guard_entailment, E),
17348 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _)
17349 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17350 F)
17351 ),
17352 !,
17353 'known/1_1_$special_=</2___2__1__0__14'(F, A, B, C).
17354'known/1_1_$special_=</2___2__1__0__14'([], A, B, C) :-
17355 'known/1_1_$special_=</2___2__2'(A, B, C).
17356'known/1_1_$special_=</2___2__1__0__14'([A|B], C, D, E) :-
17357 ( A=suspension(_, active, _, _, _, F, G),
17358 G==D,
17359 number(C),
17360 number(F),
17361 F=<C
17362 -> A=suspension(_, _, _, _, _, H, I),
17363 setarg(2, A, removed),
17364 term_variables(term(H, I), J),
17365 ( arg(5, A, K),
17366 ( var(K)
17367 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17368 L),
17369 L=[_|M],
17370 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17371 M),
17372 ( M=[N|_]
17373 -> setarg(5, N, _)
17374 ; true
17375 )
17376 ; K=[_, _|M],
17377 setarg(2, K, M),
17378 ( M=[N|_]
17379 -> setarg(5, N, K)
17380 ; true
17381 )
17382 )
17383 ),
17384 'detach_known/1_1_$special_=</2___2'(J, A),
17385 'known/1_1_$special_=</2___2__1__0__14'(B, C, D, E)
17386 ; 'known/1_1_$special_=</2___2__1__0__14'(B, C, D, E)
17387 ).
17388'known/1_1_$special_=</2___2__1'(A, B, C) :-
17389 'known/1_1_$special_=</2___2__2'(A, B, C).
17390'known/1_1_$special_=</2___2__2'(A, B, C) :-
17391 ( 'chr newvia_2'(B, A, D)
17392 -> get_attr(D, guard_entailment, E),
17393 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _)
17394 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17395 F)
17396 ),
17397 member(G, F),
17398 G=suspension(_, active, _, _, _, H, I),
17399 H==B,
17400 I==A,
17401 !,
17402 G=suspension(_, _, _, _, _, J, K),
17403 setarg(2, G, removed),
17404 term_variables(term(J, K), L),
17405 arg(5, G, M),
17406 ( var(M)
17407 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17408 N),
17409 N=[_|O],
17410 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17411 O),
17412 ( O=[P|_]
17413 -> setarg(5, P, _)
17414 ; true
17415 )
17416 ; M=[_, _|O],
17417 setarg(2, M, O),
17418 ( O=[P|_]
17419 -> setarg(5, P, M)
17420 ; true
17421 )
17422 ),
17423 'detach_known/1_1_$special_=</2___2'(L, G),
17424 ( var(C)
17425 -> true
17426 ; C=suspension(_, Q, _, _, _, R, S),
17427 setarg(2, C, removed),
17428 ( Q==not_stored_yet
17429 -> T=[]
17430 ; term_variables(term(R, S), T),
17431 arg(5, C, U),
17432 ( var(U)
17433 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17434 V),
17435 V=[_|W],
17436 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17437 W),
17438 ( W=[X|_]
17439 -> setarg(5, X, _)
17440 ; true
17441 )
17442 ; U=[_, _|W],
17443 setarg(2, U, W),
17444 ( W=[X|_]
17445 -> setarg(5, X, U)
17446 ; true
17447 )
17448 ),
17449 'detach_known/1_1_$special_=</2___2'(T, C)
17450 )
17451 ),
17452 'known/1_1_$special_=:=/2'(A, B).
17453'known/1_1_$special_=</2___2__2'(A, B, C) :-
17454 ( 'chr newvia_1'(B, D)
17455 -> get_attr(D, guard_entailment, E),
17456 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _)
17457 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17458 F)
17459 ),
17460 !,
17461 ( var(C)
17462 -> C=suspension(G, not_stored_yet, t, 0, _, A, B),
17463 'chr gen_id'(G)
17464 ; true
17465 ),
17466 'known/1_1_$special_=</2___2__2__0__17'(F, A, B, C).
17467'known/1_1_$special_=</2___2__2__0__17'([], A, B, C) :-
17468 'known/1_1_$special_=</2___2__3'(A, B, C).
17469'known/1_1_$special_=</2___2__2__0__17'([A|B], C, D, E) :-
17470 ( A=suspension(_, active, _, _, _, F, G),
17471 F==D,
17472 H=t(187, E, A),
17473 '$novel_production'(E, H),
17474 '$novel_production'(A, H)
17475 -> '$extend_history'(E, H),
17476 arg(2, E, I),
17477 setarg(2, E, active),
17478 ( arg(4, E, J),
17479 K is J+1,
17480 setarg(4, E, K)
17481 ),
17482 ( I==not_stored_yet
17483 -> E=suspension(_, _, _, _, _, L, M),
17484 term_variables(term(L, M), N),
17485 'chr none_locked'(N),
17486 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17487 O),
17488 P=[E|O],
17489 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17490 P),
17491 ( O=[Q|_]
17492 -> setarg(5, Q, P)
17493 ; true
17494 ),
17495 'attach_known/1_1_$special_=</2___2'(N, E)
17496 ; true
17497 ),
17498 'known/1_1_$special_=</2'(C, G),
17499 ( E=suspension(_, active, _, K, _, _, _)
17500 -> setarg(2, E, inactive),
17501 'known/1_1_$special_=</2___2__2__0__17'(B,
17502 C,
17503 D,
17504 E)
17505 ; true
17506 )
17507 ; 'known/1_1_$special_=</2___2__2__0__17'(B, C, D, E)
17508 ).
17509'known/1_1_$special_=</2___2__2'(A, B, C) :-
17510 ( var(C)
17511 -> C=suspension(D, not_stored_yet, t, 0, _, A, B),
17512 'chr gen_id'(D)
17513 ; true
17514 ),
17515 'known/1_1_$special_=</2___2__3'(A, B, C).
17516'known/1_1_$special_=</2___2__3'(A, B, C) :-
17517 ( 'chr newvia_1'(A, D)
17518 -> get_attr(D, guard_entailment, E),
17519 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _)
17520 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17521 F)
17522 ),
17523 !,
17524 'known/1_1_$special_=</2___2__3__0__18'(F, A, B, C).
17525'known/1_1_$special_=</2___2__3__0__18'([], A, B, C) :-
17526 'known/1_1_$special_=</2___2__4'(A, B, C).
17527'known/1_1_$special_=</2___2__3__0__18'([A|B], C, D, E) :-
17528 ( A=suspension(_, active, _, _, _, F, G),
17529 G==C,
17530 H=t(187, A, E),
17531 '$novel_production'(A, H),
17532 '$novel_production'(E, H)
17533 -> '$extend_history'(E, H),
17534 arg(2, E, I),
17535 setarg(2, E, active),
17536 ( arg(4, E, J),
17537 K is J+1,
17538 setarg(4, E, K)
17539 ),
17540 ( I==not_stored_yet
17541 -> E=suspension(_, _, _, _, _, L, M),
17542 term_variables(term(L, M), N),
17543 'chr none_locked'(N),
17544 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17545 O),
17546 P=[E|O],
17547 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17548 P),
17549 ( O=[Q|_]
17550 -> setarg(5, Q, P)
17551 ; true
17552 ),
17553 'attach_known/1_1_$special_=</2___2'(N, E)
17554 ; true
17555 ),
17556 'known/1_1_$special_=</2'(F, D),
17557 ( E=suspension(_, active, _, K, _, _, _)
17558 -> setarg(2, E, inactive),
17559 'known/1_1_$special_=</2___2__3__0__18'(B,
17560 C,
17561 D,
17562 E)
17563 ; true
17564 )
17565 ; 'known/1_1_$special_=</2___2__3__0__18'(B, C, D, E)
17566 ).
17567'known/1_1_$special_=</2___2__3'(A, B, C) :-
17568 'known/1_1_$special_=</2___2__4'(A, B, C).
17569'known/1_1_$special_=</2___2__4'(A, B, C) :-
17570 ( 'chr newvia_1'(B, D)
17571 -> get_attr(D, guard_entailment, E),
17572 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _, _, _)
17573 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
17574 F)
17575 ),
17576 !,
17577 'known/1_1_$special_=</2___2__4__0__19'(F, A, B, C).
17578'known/1_1_$special_=</2___2__4__0__19'([], A, B, C) :-
17579 'known/1_1_$special_=</2___2__5'(A, B, C).
17580'known/1_1_$special_=</2___2__4__0__19'([A|B], C, D, E) :-
17581 ( A=suspension(_, active, _, _, _, F, G),
17582 F==D,
17583 ( 'chr newvia_2'(D, G, H)
17584 -> get_attr(H, guard_entailment, I),
17585 I=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, J, _)
17586 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17587 J)
17588 )
17589 -> 'known/1_1_$special_=</2___2__4__1__19'(J,
17590 G,
17591 A,
17592 B,
17593 C,
17594 D,
17595 E)
17596 ; 'known/1_1_$special_=</2___2__4__0__19'(B, C, D, E)
17597 ).
17598'known/1_1_$special_=</2___2__4__1__19'([], _, _, A, B, C, D) :-
17599 'known/1_1_$special_=</2___2__4__0__19'(A, B, C, D).
17600'known/1_1_$special_=</2___2__4__1__19'([A|B], C, D, E, F, G, H) :-
17601 ( A=suspension(_, active, _, _, _, I, J),
17602 I==G,
17603 J==C,
17604 ( 'chr newvia_2'(F, G, K)
17605 -> get_attr(K, guard_entailment, L),
17606 L=v(_, _, _, _, _, _, _, _, _, _, _, _, _, M, _, _, _, _, _, _, _, _)
17607 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
17608 M)
17609 )
17610 -> 'known/1_1_$special_=</2___2__4__2__19'(M,
17611 A,
17612 B,
17613 C,
17614 D,
17615 E,
17616 F,
17617 G,
17618 H)
17619 ; 'known/1_1_$special_=</2___2__4__1__19'(B,
17620 C,
17621 D,
17622 E,
17623 F,
17624 G,
17625 H)
17626 ).
17627'known/1_1_$special_=</2___2__4__2__19'([], _, A, B, C, D, E, F, G) :-
17628 'known/1_1_$special_=</2___2__4__1__19'(A,
17629 B,
17630 C,
17631 D,
17632 E,
17633 F,
17634 G).
17635'known/1_1_$special_=</2___2__4__2__19'([A|B], C, D, E, F, G, H, I, J) :-
17636 ( A=suspension(_, active, _, _, _, K, L),
17637 A\==F,
17638 K==H,
17639 L==I,
17640 M=t(188, J, A, C, F),
17641 '$novel_production'(J, M),
17642 '$novel_production'(A, M),
17643 '$novel_production'(C, M),
17644 '$novel_production'(F, M)
17645 -> '$extend_history'(J, M),
17646 arg(2, J, N),
17647 setarg(2, J, active),
17648 ( arg(4, J, O),
17649 P is O+1,
17650 setarg(4, J, P)
17651 ),
17652 ( N==not_stored_yet
17653 -> J=suspension(_, _, _, _, _, Q, R),
17654 term_variables(term(Q, R), S),
17655 'chr none_locked'(S),
17656 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17657 T),
17658 U=[J|T],
17659 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17660 U),
17661 ( T=[V|_]
17662 -> setarg(5, V, U)
17663 ; true
17664 ),
17665 'attach_known/1_1_$special_=</2___2'(S, J)
17666 ; true
17667 ),
17668 'known/1_1_$special_=\\=/2'(H, E),
17669 ( J=suspension(_, active, _, P, _, _, _)
17670 -> setarg(2, J, inactive),
17671 'known/1_1_$special_=</2___2__4__2__19'(B,
17672 C,
17673 D,
17674 E,
17675 F,
17676 G,
17677 H,
17678 I,
17679 J)
17680 ; true
17681 )
17682 ; 'known/1_1_$special_=</2___2__4__2__19'(B,
17683 C,
17684 D,
17685 E,
17686 F,
17687 G,
17688 H,
17689 I,
17690 J)
17691 ).
17692'known/1_1_$special_=</2___2__4'(A, B, C) :-
17693 'known/1_1_$special_=</2___2__5'(A, B, C).
17694'known/1_1_$special_=</2___2__5'(A, B, C) :-
17695 ( 'chr newvia_1'(A, D)
17696 -> get_attr(D, guard_entailment, E),
17697 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _)
17698 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17699 F)
17700 ),
17701 !,
17702 'known/1_1_$special_=</2___2__5__0__20'(F, A, B, C).
17703'known/1_1_$special_=</2___2__5__0__20'([], A, B, C) :-
17704 'known/1_1_$special_=</2___2__6'(A, B, C).
17705'known/1_1_$special_=</2___2__5__0__20'([A|B], C, D, E) :-
17706 ( A=suspension(_, active, _, _, _, F, G),
17707 G==C,
17708 ( 'chr newvia_2'(C, D, H)
17709 -> get_attr(H, guard_entailment, I),
17710 I=v(_, _, _, _, _, _, _, _, _, _, _, _, _, J, _, _, _, _, _, _, _, _)
17711 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
17712 J)
17713 )
17714 -> 'known/1_1_$special_=</2___2__5__1__20'(J,
17715 F,
17716 A,
17717 B,
17718 C,
17719 D,
17720 E)
17721 ; 'known/1_1_$special_=</2___2__5__0__20'(B, C, D, E)
17722 ).
17723'known/1_1_$special_=</2___2__5__1__20'([], _, _, A, B, C, D) :-
17724 'known/1_1_$special_=</2___2__5__0__20'(A, B, C, D).
17725'known/1_1_$special_=</2___2__5__1__20'([A|B], C, D, E, F, G, H) :-
17726 ( A=suspension(_, active, _, _, _, I, J),
17727 I==F,
17728 J==G,
17729 ( 'chr newvia_2'(C, F, K)
17730 -> get_attr(K, guard_entailment, L),
17731 L=v(_, _, _, _, _, _, _, _, _, _, _, _, _, M, _, _, _, _, _, _, _, _)
17732 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
17733 M)
17734 )
17735 -> 'known/1_1_$special_=</2___2__5__2__20'(M,
17736 A,
17737 B,
17738 C,
17739 D,
17740 E,
17741 F,
17742 G,
17743 H)
17744 ; 'known/1_1_$special_=</2___2__5__1__20'(B,
17745 C,
17746 D,
17747 E,
17748 F,
17749 G,
17750 H)
17751 ).
17752'known/1_1_$special_=</2___2__5__2__20'([], _, A, B, C, D, E, F, G) :-
17753 'known/1_1_$special_=</2___2__5__1__20'(A,
17754 B,
17755 C,
17756 D,
17757 E,
17758 F,
17759 G).
17760'known/1_1_$special_=</2___2__5__2__20'([A|B], C, D, E, F, G, H, I, J) :-
17761 ( A=suspension(_, active, _, _, _, K, L),
17762 A\==C,
17763 K==E,
17764 L==H,
17765 M=t(188, F, A, J, C),
17766 '$novel_production'(F, M),
17767 '$novel_production'(A, M),
17768 '$novel_production'(J, M),
17769 '$novel_production'(C, M)
17770 -> '$extend_history'(J, M),
17771 arg(2, J, N),
17772 setarg(2, J, active),
17773 ( arg(4, J, O),
17774 P is O+1,
17775 setarg(4, J, P)
17776 ),
17777 ( N==not_stored_yet
17778 -> J=suspension(_, _, _, _, _, Q, R),
17779 term_variables(term(Q, R), S),
17780 'chr none_locked'(S),
17781 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17782 T),
17783 U=[J|T],
17784 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17785 U),
17786 ( T=[V|_]
17787 -> setarg(5, V, U)
17788 ; true
17789 ),
17790 'attach_known/1_1_$special_=</2___2'(S, J)
17791 ; true
17792 ),
17793 'known/1_1_$special_=\\=/2'(E, I),
17794 ( J=suspension(_, active, _, P, _, _, _)
17795 -> setarg(2, J, inactive),
17796 'known/1_1_$special_=</2___2__5__2__20'(B,
17797 C,
17798 D,
17799 E,
17800 F,
17801 G,
17802 H,
17803 I,
17804 J)
17805 ; true
17806 )
17807 ; 'known/1_1_$special_=</2___2__5__2__20'(B,
17808 C,
17809 D,
17810 E,
17811 F,
17812 G,
17813 H,
17814 I,
17815 J)
17816 ).
17817'known/1_1_$special_=</2___2__5'(A, B, C) :-
17818 'known/1_1_$special_=</2___2__6'(A, B, C).
17819'known/1_1_$special_=</2___2__6'(A, B, C) :-
17820 ( 'chr newvia_2'(A, B, D)
17821 -> get_attr(D, guard_entailment, E),
17822 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _, _)
17823 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
17824 F)
17825 ),
17826 member(G, F),
17827 G=suspension(_, active, _, _, H),
17828 nonvar(H),
17829 H=(I=<J),
17830 I==A,
17831 J==B,
17832 !,
17833 G=suspension(_, _, _, _, K),
17834 setarg(2, G, removed),
17835 term_variables(K, L),
17836 arg(4, G, M),
17837 ( var(M)
17838 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
17839 N),
17840 N=[_|O],
17841 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
17842 O),
17843 ( O=[P|_]
17844 -> setarg(4, P, _)
17845 ; true
17846 )
17847 ; M=[_, _|O],
17848 setarg(2, M, O),
17849 ( O=[P|_]
17850 -> setarg(4, P, M)
17851 ; true
17852 )
17853 ),
17854 'detach_known/1_1_$special_\\+/1___1'(L, G),
17855 ( var(C)
17856 -> true
17857 ; C=suspension(_, Q, _, _, _, R, S),
17858 setarg(2, C, removed),
17859 ( Q==not_stored_yet
17860 -> T=[]
17861 ; term_variables(term(R, S), T),
17862 arg(5, C, U),
17863 ( var(U)
17864 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17865 V),
17866 V=[_|W],
17867 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17868 W),
17869 ( W=[X|_]
17870 -> setarg(5, X, _)
17871 ; true
17872 )
17873 ; U=[_, _|W],
17874 setarg(2, U, W),
17875 ( W=[X|_]
17876 -> setarg(5, X, U)
17877 ; true
17878 )
17879 ),
17880 'detach_known/1_1_$special_=</2___2'(T, C)
17881 )
17882 ),
17883 'known/1_1_$special_fail/0'.
17884'known/1_1_$special_=</2___2__6'(A, B, C) :-
17885 ( 'chr newvia_2'(A, B, D)
17886 -> get_attr(D, guard_entailment, E),
17887 E=v(_, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
17888 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
17889 F)
17890 ),
17891 !,
17892 'known/1_1_$special_=</2___2__6__0__22'(F, A, B, C).
17893'known/1_1_$special_=</2___2__6__0__22'([], A, B, C) :-
17894 'known/1_1_$special_=</2___2__7'(A, B, C).
17895'known/1_1_$special_=</2___2__6__0__22'([A|B], C, D, E) :-
17896 ( A=suspension(_, active, _, _, F, G),
17897 nonvar(F),
17898 F=(\+H),
17899 nonvar(H),
17900 H=(I=<J),
17901 I==C,
17902 J==D
17903 -> A=suspension(_, _, _, _, K, L),
17904 setarg(2, A, removed),
17905 term_variables(term(K, L), M),
17906 ( arg(4, A, N),
17907 ( var(N)
17908 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
17909 O),
17910 O=[_|P],
17911 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
17912 P),
17913 ( P=[Q|_]
17914 -> setarg(4, Q, _)
17915 ; true
17916 )
17917 ; N=[_, _|P],
17918 setarg(2, N, P),
17919 ( P=[Q|_]
17920 -> setarg(4, Q, N)
17921 ; true
17922 )
17923 )
17924 ),
17925 'detach_known/1_1_$special_;/2___2'(M, A),
17926 arg(2, E, R),
17927 setarg(2, E, active),
17928 ( arg(4, E, S),
17929 T is S+1,
17930 setarg(4, E, T)
17931 ),
17932 ( R==not_stored_yet
17933 -> E=suspension(_, _, _, _, _, U, V),
17934 term_variables(term(U, V), W),
17935 'chr none_locked'(W),
17936 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17937 X),
17938 Y=[E|X],
17939 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17940 Y),
17941 ( X=[Z|_]
17942 -> setarg(5, Z, Y)
17943 ; true
17944 ),
17945 'attach_known/1_1_$special_=</2___2'(W, E)
17946 ; true
17947 ),
17948 known(G),
17949 ( E=suspension(_, active, _, T, _, _, _)
17950 -> setarg(2, E, inactive),
17951 'known/1_1_$special_=</2___2__6__0__22'(B,
17952 C,
17953 D,
17954 E)
17955 ; true
17956 )
17957 ; 'known/1_1_$special_=</2___2__6__0__22'(B, C, D, E)
17958 ).
17959'known/1_1_$special_=</2___2__6'(A, B, C) :-
17960 'known/1_1_$special_=</2___2__7'(A, B, C).
17961'known/1_1_$special_=</2___2__7'(A, B, C) :-
17962 ( 'chr newvia_2'(A, B, D)
17963 -> get_attr(D, guard_entailment, E),
17964 E=v(_, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
17965 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
17966 F)
17967 ),
17968 !,
17969 'known/1_1_$special_=</2___2__7__0__23'(F, A, B, C).
17970'known/1_1_$special_=</2___2__7__0__23'([], A, B, C) :-
17971 'known/1_1_$special_=</2___2__8'(A, B, C).
17972'known/1_1_$special_=</2___2__7__0__23'([A|B], C, D, E) :-
17973 ( A=suspension(_, active, _, _, F, G),
17974 nonvar(F),
17975 F=(H, _),
17976 nonvar(H),
17977 H=(\+I),
17978 nonvar(I),
17979 I=(J=<K),
17980 J==C,
17981 K==D
17982 -> A=suspension(_, _, _, _, L, M),
17983 setarg(2, A, removed),
17984 term_variables(term(L, M), N),
17985 ( arg(4, A, O),
17986 ( var(O)
17987 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
17988 P),
17989 P=[_|Q],
17990 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
17991 Q),
17992 ( Q=[R|_]
17993 -> setarg(4, R, _)
17994 ; true
17995 )
17996 ; O=[_, _|Q],
17997 setarg(2, O, Q),
17998 ( Q=[R|_]
17999 -> setarg(4, R, O)
18000 ; true
18001 )
18002 )
18003 ),
18004 'detach_known/1_1_$special_;/2___2'(N, A),
18005 arg(2, E, S),
18006 setarg(2, E, active),
18007 ( arg(4, E, T),
18008 U is T+1,
18009 setarg(4, E, U)
18010 ),
18011 ( S==not_stored_yet
18012 -> E=suspension(_, _, _, _, _, V, W),
18013 term_variables(term(V, W), X),
18014 'chr none_locked'(X),
18015 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18016 Y),
18017 Z=[E|Y],
18018 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18019 Z),
18020 ( Y=[A1|_]
18021 -> setarg(5, A1, Z)
18022 ; true
18023 ),
18024 'attach_known/1_1_$special_=</2___2'(X, E)
18025 ; true
18026 ),
18027 known(G),
18028 ( E=suspension(_, active, _, U, _, _, _)
18029 -> setarg(2, E, inactive),
18030 'known/1_1_$special_=</2___2__7__0__23'(B,
18031 C,
18032 D,
18033 E)
18034 ; true
18035 )
18036 ; 'known/1_1_$special_=</2___2__7__0__23'(B, C, D, E)
18037 ).
18038'known/1_1_$special_=</2___2__7'(A, B, C) :-
18039 'known/1_1_$special_=</2___2__8'(A, B, C).
18040'known/1_1_$special_=</2___2__8'(_, _, A) :-
18041 arg(2, A, B),
18042 setarg(2, A, active),
18043 arg(4, A, C),
18044 D is C+1,
18045 setarg(4, A, D),
18046 ( B==not_stored_yet
18047 -> A=suspension(_, _, _, _, _, E, F),
18048 term_variables(term(E, F), G),
18049 'chr none_locked'(G),
18050 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18051 H),
18052 I=[A|H],
18053 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18054 I),
18055 ( H=[J|_]
18056 -> setarg(5, J, I)
18057 ; true
18058 ),
18059 'attach_known/1_1_$special_=</2___2'(G, A)
18060 ; true
18061 ).
18062'known/1_1_$special_=:=/2'(A, B) :-
18063 'known/1_1_$special_=:=/2___2__0'(A, B, _).
18064'known/1_1_$special_=:=/2___2__0'(A, B, C) :-
18065 ( 'chr newvia_2'(A, B, D)
18066 -> get_attr(D, guard_entailment, E),
18067 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F)
18068 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18069 F)
18070 ),
18071 member(G, F),
18072 G=suspension(_, active, _, _, _, H, I),
18073 H==A,
18074 I==B,
18075 !,
18076 ( var(C)
18077 -> true
18078 ; C=suspension(_, J, _, _, _, K, L),
18079 setarg(2, C, removed),
18080 ( J==not_stored_yet
18081 -> M=[]
18082 ; term_variables(term(K, L), M),
18083 arg(5, C, N),
18084 ( var(N)
18085 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18086 O),
18087 O=[_|P],
18088 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18089 P),
18090 ( P=[Q|_]
18091 -> setarg(5, Q, _)
18092 ; true
18093 )
18094 ; N=[_, _|P],
18095 setarg(2, N, P),
18096 ( P=[Q|_]
18097 -> setarg(5, Q, N)
18098 ; true
18099 )
18100 ),
18101 'detach_known/1_1_$special_=:=/2___2'(M, C)
18102 )
18103 ).
18104'known/1_1_$special_=:=/2___2__0'(_, _, A) :-
18105 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
18106 B),
18107 member(C, B),
18108 C=suspension(_, active, _),
18109 !,
18110 ( var(A)
18111 -> true
18112 ; A=suspension(_, D, _, _, _, E, F),
18113 setarg(2, A, removed),
18114 ( D==not_stored_yet
18115 -> G=[]
18116 ; term_variables(term(E, F), G),
18117 arg(5, A, H),
18118 ( var(H)
18119 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18120 I),
18121 I=[_|J],
18122 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18123 J),
18124 ( J=[K|_]
18125 -> setarg(5, K, _)
18126 ; true
18127 )
18128 ; H=[_, _|J],
18129 setarg(2, H, J),
18130 ( J=[K|_]
18131 -> setarg(5, K, H)
18132 ; true
18133 )
18134 ),
18135 'detach_known/1_1_$special_=:=/2___2'(G, A)
18136 )
18137 ).
18138'known/1_1_$special_=:=/2___2__0'(A, B, C) :-
18139 B==A,
18140 !,
18141 ( var(C)
18142 -> true
18143 ; C=suspension(_, D, _, _, _, E, F),
18144 setarg(2, C, removed),
18145 ( D==not_stored_yet
18146 -> G=[]
18147 ; term_variables(term(E, F), G),
18148 arg(5, C, H),
18149 ( var(H)
18150 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18151 I),
18152 I=[_|J],
18153 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18154 J),
18155 ( J=[K|_]
18156 -> setarg(5, K, _)
18157 ; true
18158 )
18159 ; H=[_, _|J],
18160 setarg(2, H, J),
18161 ( J=[K|_]
18162 -> setarg(5, K, H)
18163 ; true
18164 )
18165 ),
18166 'detach_known/1_1_$special_=:=/2___2'(G, C)
18167 )
18168 ).
18169'known/1_1_$special_=:=/2___2__0'(A, B, C) :-
18170 number(B),
18171 number(A),
18172 A=\=B,
18173 !,
18174 ( var(C)
18175 -> true
18176 ; C=suspension(_, D, _, _, _, E, F),
18177 setarg(2, C, removed),
18178 ( D==not_stored_yet
18179 -> G=[]
18180 ; term_variables(term(E, F), G),
18181 arg(5, C, H),
18182 ( var(H)
18183 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18184 I),
18185 I=[_|J],
18186 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18187 J),
18188 ( J=[K|_]
18189 -> setarg(5, K, _)
18190 ; true
18191 )
18192 ; H=[_, _|J],
18193 setarg(2, H, J),
18194 ( J=[K|_]
18195 -> setarg(5, K, H)
18196 ; true
18197 )
18198 ),
18199 'detach_known/1_1_$special_=:=/2___2'(G, C)
18200 )
18201 ),
18202 'known/1_1_$special_fail/0'.
18203'known/1_1_$special_=:=/2___2__0'(A, B, C) :-
18204 ( 'chr newvia_2'(A, B, D)
18205 -> get_attr(D, guard_entailment, E),
18206 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _, _, _)
18207 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
18208 F)
18209 ),
18210 member(G, F),
18211 G=suspension(_, active, _, _, _, H, I),
18212 H==A,
18213 I==B,
18214 !,
18215 G=suspension(_, _, _, _, _, J, K),
18216 setarg(2, G, removed),
18217 term_variables(term(J, K), L),
18218 arg(5, G, M),
18219 ( var(M)
18220 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
18221 N),
18222 N=[_|O],
18223 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
18224 O),
18225 ( O=[P|_]
18226 -> setarg(5, P, _)
18227 ; true
18228 )
18229 ; M=[_, _|O],
18230 setarg(2, M, O),
18231 ( O=[P|_]
18232 -> setarg(5, P, M)
18233 ; true
18234 )
18235 ),
18236 'detach_known/1_1_$special_=\\=/2___2'(L, G),
18237 ( var(C)
18238 -> true
18239 ; C=suspension(_, Q, _, _, _, R, S),
18240 setarg(2, C, removed),
18241 ( Q==not_stored_yet
18242 -> T=[]
18243 ; term_variables(term(R, S), T),
18244 arg(5, C, U),
18245 ( var(U)
18246 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18247 V),
18248 V=[_|W],
18249 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18250 W),
18251 ( W=[X|_]
18252 -> setarg(5, X, _)
18253 ; true
18254 )
18255 ; U=[_, _|W],
18256 setarg(2, U, W),
18257 ( W=[X|_]
18258 -> setarg(5, X, U)
18259 ; true
18260 )
18261 ),
18262 'detach_known/1_1_$special_=:=/2___2'(T, C)
18263 )
18264 ),
18265 'known/1_1_$special_fail/0'.
18266'known/1_1_$special_=:=/2___2__0'(A, B, C) :-
18267 ( 'chr newvia_1'(B, D)
18268 -> get_attr(D, guard_entailment, E),
18269 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F)
18270 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18271 F)
18272 ),
18273 !,
18274 ( var(C)
18275 -> C=suspension(G, not_stored_yet, t, 0, _, A, B),
18276 'chr gen_id'(G)
18277 ; true
18278 ),
18279 'known/1_1_$special_=:=/2___2__0__0__11'(F, A, B, C).
18280'known/1_1_$special_=:=/2___2__0__0__11'([], A, B, C) :-
18281 'known/1_1_$special_=:=/2___2__1'(A, B, C).
18282'known/1_1_$special_=:=/2___2__0__0__11'([A|B], C, D, E) :-
18283 ( A=suspension(_, active, _, _, _, F, G),
18284 F==D,
18285 H=t(193, E, A),
18286 '$novel_production'(E, H),
18287 '$novel_production'(A, H),
18288 C\==G
18289 -> '$extend_history'(E, H),
18290 arg(2, E, I),
18291 setarg(2, E, active),
18292 ( arg(4, E, J),
18293 K is J+1,
18294 setarg(4, E, K)
18295 ),
18296 ( I==not_stored_yet
18297 -> E=suspension(_, _, _, _, _, L, M),
18298 term_variables(term(L, M), N),
18299 'chr none_locked'(N),
18300 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18301 O),
18302 P=[E|O],
18303 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18304 P),
18305 ( O=[Q|_]
18306 -> setarg(5, Q, P)
18307 ; true
18308 ),
18309 'attach_known/1_1_$special_=:=/2___2'(N, E)
18310 ; true
18311 ),
18312 'known/1_1_$special_=:=/2'(C, G),
18313 ( E=suspension(_, active, _, K, _, _, _)
18314 -> setarg(2, E, inactive),
18315 'known/1_1_$special_=:=/2___2__0__0__11'(B,
18316 C,
18317 D,
18318 E)
18319 ; true
18320 )
18321 ; 'known/1_1_$special_=:=/2___2__0__0__11'(B,
18322 C,
18323 D,
18324 E)
18325 ).
18326'known/1_1_$special_=:=/2___2__0'(A, B, C) :-
18327 ( var(C)
18328 -> C=suspension(D, not_stored_yet, t, 0, _, A, B),
18329 'chr gen_id'(D)
18330 ; true
18331 ),
18332 'known/1_1_$special_=:=/2___2__1'(A, B, C).
18333'known/1_1_$special_=:=/2___2__1'(A, B, C) :-
18334 ( 'chr newvia_1'(A, D)
18335 -> get_attr(D, guard_entailment, E),
18336 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F)
18337 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18338 F)
18339 ),
18340 !,
18341 'known/1_1_$special_=:=/2___2__1__0__12'(F, A, B, C).
18342'known/1_1_$special_=:=/2___2__1__0__12'([], A, B, C) :-
18343 'known/1_1_$special_=:=/2___2__2'(A, B, C).
18344'known/1_1_$special_=:=/2___2__1__0__12'([A|B], C, D, E) :-
18345 ( A=suspension(_, active, _, _, _, F, G),
18346 G==C,
18347 H=t(193, A, E),
18348 '$novel_production'(A, H),
18349 '$novel_production'(E, H),
18350 F\==D
18351 -> '$extend_history'(E, H),
18352 arg(2, E, I),
18353 setarg(2, E, active),
18354 ( arg(4, E, J),
18355 K is J+1,
18356 setarg(4, E, K)
18357 ),
18358 ( I==not_stored_yet
18359 -> E=suspension(_, _, _, _, _, L, M),
18360 term_variables(term(L, M), N),
18361 'chr none_locked'(N),
18362 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18363 O),
18364 P=[E|O],
18365 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18366 P),
18367 ( O=[Q|_]
18368 -> setarg(5, Q, P)
18369 ; true
18370 ),
18371 'attach_known/1_1_$special_=:=/2___2'(N, E)
18372 ; true
18373 ),
18374 'known/1_1_$special_=:=/2'(F, D),
18375 ( E=suspension(_, active, _, K, _, _, _)
18376 -> setarg(2, E, inactive),
18377 'known/1_1_$special_=:=/2___2__1__0__12'(B,
18378 C,
18379 D,
18380 E)
18381 ; true
18382 )
18383 ; 'known/1_1_$special_=:=/2___2__1__0__12'(B,
18384 C,
18385 D,
18386 E)
18387 ).
18388'known/1_1_$special_=:=/2___2__1'(A, B, C) :-
18389 'known/1_1_$special_=:=/2___2__2'(A, B, C).
18390'known/1_1_$special_=:=/2___2__2'(A, B, C) :-
18391 '$novel_production'(C, 194),
18392 !,
18393 '$extend_history'(C, 194),
18394 arg(2, C, D),
18395 setarg(2, C, active),
18396 arg(4, C, E),
18397 F is E+1,
18398 setarg(4, C, F),
18399 ( D==not_stored_yet
18400 -> C=suspension(_, _, _, _, _, G, H),
18401 term_variables(term(G, H), I),
18402 'chr none_locked'(I),
18403 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18404 J),
18405 K=[C|J],
18406 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18407 K),
18408 ( J=[L|_]
18409 -> setarg(5, L, K)
18410 ; true
18411 ),
18412 'attach_known/1_1_$special_=:=/2___2'(I, C)
18413 ; true
18414 ),
18415 'known/1_1_$special_=:=/2'(B, A),
18416 ( C=suspension(_, active, _, F, _, _, _)
18417 -> setarg(2, C, inactive),
18418 'known/1_1_$special_=:=/2___2__3'(A, B, C)
18419 ; true
18420 ).
18421'known/1_1_$special_=:=/2___2__2'(A, B, C) :-
18422 'known/1_1_$special_=:=/2___2__3'(A, B, C).
18423'known/1_1_$special_=:=/2___2__3'(A, B, C) :-
18424 ( 'chr newvia_2'(A, B, D)
18425 -> get_attr(D, guard_entailment, E),
18426 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _, _)
18427 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
18428 F)
18429 ),
18430 member(G, F),
18431 G=suspension(_, active, _, _, H),
18432 nonvar(H),
18433 H=(I=:=J),
18434 I==A,
18435 J==B,
18436 !,
18437 G=suspension(_, _, _, _, K),
18438 setarg(2, G, removed),
18439 term_variables(K, L),
18440 arg(4, G, M),
18441 ( var(M)
18442 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
18443 N),
18444 N=[_|O],
18445 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
18446 O),
18447 ( O=[P|_]
18448 -> setarg(4, P, _)
18449 ; true
18450 )
18451 ; M=[_, _|O],
18452 setarg(2, M, O),
18453 ( O=[P|_]
18454 -> setarg(4, P, M)
18455 ; true
18456 )
18457 ),
18458 'detach_known/1_1_$special_\\+/1___1'(L, G),
18459 ( var(C)
18460 -> true
18461 ; C=suspension(_, Q, _, _, _, R, S),
18462 setarg(2, C, removed),
18463 ( Q==not_stored_yet
18464 -> T=[]
18465 ; term_variables(term(R, S), T),
18466 arg(5, C, U),
18467 ( var(U)
18468 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18469 V),
18470 V=[_|W],
18471 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18472 W),
18473 ( W=[X|_]
18474 -> setarg(5, X, _)
18475 ; true
18476 )
18477 ; U=[_, _|W],
18478 setarg(2, U, W),
18479 ( W=[X|_]
18480 -> setarg(5, X, U)
18481 ; true
18482 )
18483 ),
18484 'detach_known/1_1_$special_=:=/2___2'(T, C)
18485 )
18486 ),
18487 'known/1_1_$special_fail/0'.
18488'known/1_1_$special_=:=/2___2__3'(A, B, C) :-
18489 ( 'chr newvia_2'(A, B, D)
18490 -> get_attr(D, guard_entailment, E),
18491 E=v(_, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
18492 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18493 F)
18494 ),
18495 !,
18496 'known/1_1_$special_=:=/2___2__3__0__15'(F, A, B, C).
18497'known/1_1_$special_=:=/2___2__3__0__15'([], A, B, C) :-
18498 'known/1_1_$special_=:=/2___2__4'(A, B, C).
18499'known/1_1_$special_=:=/2___2__3__0__15'([A|B], C, D, E) :-
18500 ( A=suspension(_, active, _, _, F, G),
18501 nonvar(F),
18502 F=(\+H),
18503 nonvar(H),
18504 H=(I=:=J),
18505 I==C,
18506 J==D
18507 -> A=suspension(_, _, _, _, K, L),
18508 setarg(2, A, removed),
18509 term_variables(term(K, L), M),
18510 ( arg(4, A, N),
18511 ( var(N)
18512 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18513 O),
18514 O=[_|P],
18515 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18516 P),
18517 ( P=[Q|_]
18518 -> setarg(4, Q, _)
18519 ; true
18520 )
18521 ; N=[_, _|P],
18522 setarg(2, N, P),
18523 ( P=[Q|_]
18524 -> setarg(4, Q, N)
18525 ; true
18526 )
18527 )
18528 ),
18529 'detach_known/1_1_$special_;/2___2'(M, A),
18530 arg(2, E, R),
18531 setarg(2, E, active),
18532 ( arg(4, E, S),
18533 T is S+1,
18534 setarg(4, E, T)
18535 ),
18536 ( R==not_stored_yet
18537 -> E=suspension(_, _, _, _, _, U, V),
18538 term_variables(term(U, V), W),
18539 'chr none_locked'(W),
18540 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18541 X),
18542 Y=[E|X],
18543 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18544 Y),
18545 ( X=[Z|_]
18546 -> setarg(5, Z, Y)
18547 ; true
18548 ),
18549 'attach_known/1_1_$special_=:=/2___2'(W, E)
18550 ; true
18551 ),
18552 known(G),
18553 ( E=suspension(_, active, _, T, _, _, _)
18554 -> setarg(2, E, inactive),
18555 'known/1_1_$special_=:=/2___2__3__0__15'(B,
18556 C,
18557 D,
18558 E)
18559 ; true
18560 )
18561 ; 'known/1_1_$special_=:=/2___2__3__0__15'(B,
18562 C,
18563 D,
18564 E)
18565 ).
18566'known/1_1_$special_=:=/2___2__3'(A, B, C) :-
18567 'known/1_1_$special_=:=/2___2__4'(A, B, C).
18568'known/1_1_$special_=:=/2___2__4'(A, B, C) :-
18569 ( 'chr newvia_2'(A, B, D)
18570 -> get_attr(D, guard_entailment, E),
18571 E=v(_, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
18572 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18573 F)
18574 ),
18575 !,
18576 'known/1_1_$special_=:=/2___2__4__0__16'(F, A, B, C).
18577'known/1_1_$special_=:=/2___2__4__0__16'([], A, B, C) :-
18578 'known/1_1_$special_=:=/2___2__5'(A, B, C).
18579'known/1_1_$special_=:=/2___2__4__0__16'([A|B], C, D, E) :-
18580 ( A=suspension(_, active, _, _, F, G),
18581 nonvar(F),
18582 F=(H, _),
18583 nonvar(H),
18584 H=(\+I),
18585 nonvar(I),
18586 I=(J=:=K),
18587 J==C,
18588 K==D
18589 -> A=suspension(_, _, _, _, L, M),
18590 setarg(2, A, removed),
18591 term_variables(term(L, M), N),
18592 ( arg(4, A, O),
18593 ( var(O)
18594 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18595 P),
18596 P=[_|Q],
18597 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18598 Q),
18599 ( Q=[R|_]
18600 -> setarg(4, R, _)
18601 ; true
18602 )
18603 ; O=[_, _|Q],
18604 setarg(2, O, Q),
18605 ( Q=[R|_]
18606 -> setarg(4, R, O)
18607 ; true
18608 )
18609 )
18610 ),
18611 'detach_known/1_1_$special_;/2___2'(N, A),
18612 arg(2, E, S),
18613 setarg(2, E, active),
18614 ( arg(4, E, T),
18615 U is T+1,
18616 setarg(4, E, U)
18617 ),
18618 ( S==not_stored_yet
18619 -> E=suspension(_, _, _, _, _, V, W),
18620 term_variables(term(V, W), X),
18621 'chr none_locked'(X),
18622 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18623 Y),
18624 Z=[E|Y],
18625 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18626 Z),
18627 ( Y=[A1|_]
18628 -> setarg(5, A1, Z)
18629 ; true
18630 ),
18631 'attach_known/1_1_$special_=:=/2___2'(X, E)
18632 ; true
18633 ),
18634 known(G),
18635 ( E=suspension(_, active, _, U, _, _, _)
18636 -> setarg(2, E, inactive),
18637 'known/1_1_$special_=:=/2___2__4__0__16'(B,
18638 C,
18639 D,
18640 E)
18641 ; true
18642 )
18643 ; 'known/1_1_$special_=:=/2___2__4__0__16'(B,
18644 C,
18645 D,
18646 E)
18647 ).
18648'known/1_1_$special_=:=/2___2__4'(A, B, C) :-
18649 'known/1_1_$special_=:=/2___2__5'(A, B, C).
18650'known/1_1_$special_=:=/2___2__5'(_, _, A) :-
18651 arg(2, A, B),
18652 setarg(2, A, active),
18653 arg(4, A, C),
18654 D is C+1,
18655 setarg(4, A, D),
18656 ( B==not_stored_yet
18657 -> A=suspension(_, _, _, _, _, E, F),
18658 term_variables(term(E, F), G),
18659 'chr none_locked'(G),
18660 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18661 H),
18662 I=[A|H],
18663 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18664 I),
18665 ( H=[J|_]
18666 -> setarg(5, J, I)
18667 ; true
18668 ),
18669 'attach_known/1_1_$special_=:=/2___2'(G, A)
18670 ; true
18671 ).
18672'known/1_1_$special_fail/0' :-
18673 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
18674 A),
18675 member(B, A),
18676 B=suspension(_, active, _),
18677 !.
18678'known/1_1_$special_fail/0' :-
18679 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18680 A),
18681 !,
18682 'known/1_1_$special_fail/0___0__0__0__24'(A).
18683'known/1_1_$special_fail/0___0__0__0__24'([]) :-
18684 'known/1_1_$special_fail/0___0__1'.
18685'known/1_1_$special_fail/0___0__0__0__24'([A|B]) :-
18686 ( A=suspension(_, active, _, _, _, _)
18687 -> A=suspension(_, _, _, _, C, D),
18688 setarg(2, A, removed),
18689 term_variables(term(C, D), E),
18690 ( arg(4, A, F),
18691 ( var(F)
18692 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18693 G),
18694 G=[_|H],
18695 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18696 H),
18697 ( H=[I|_]
18698 -> setarg(4, I, _)
18699 ; true
18700 )
18701 ; F=[_, _|H],
18702 setarg(2, F, H),
18703 ( H=[I|_]
18704 -> setarg(4, I, F)
18705 ; true
18706 )
18707 )
18708 ),
18709 'detach_known/1_1_$special_;/2___2'(E, A),
18710 'known/1_1_$special_fail/0___0__0__0__24'(B)
18711 ; 'known/1_1_$special_fail/0___0__0__0__24'(B)
18712 ).
18713'known/1_1_$special_fail/0' :-
18714 'known/1_1_$special_fail/0___0__1'.
18715'known/1_1_$special_fail/0___0__1' :-
18716 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
18717 A),
18718 !,
18719 'known/1_1_$special_fail/0___0__1__0__25'(A).
18720'known/1_1_$special_fail/0___0__1__0__25'([]) :-
18721 'known/1_1_$special_fail/0___0__2'.
18722'known/1_1_$special_fail/0___0__1__0__25'([A|B]) :-
18723 ( A=suspension(_, active, _, _, _)
18724 -> A=suspension(_, _, _, _, C),
18725 setarg(2, A, removed),
18726 term_variables(C, D),
18727 ( arg(4, A, E),
18728 ( var(E)
18729 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
18730 F),
18731 F=[_|G],
18732 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
18733 G),
18734 ( G=[H|_]
18735 -> setarg(4, H, _)
18736 ; true
18737 )
18738 ; E=[_, _|G],
18739 setarg(2, E, G),
18740 ( G=[H|_]
18741 -> setarg(4, H, E)
18742 ; true
18743 )
18744 )
18745 ),
18746 'detach_known/1_1_$special_nonvar/1___1'(D, A),
18747 'known/1_1_$special_fail/0___0__1__0__25'(B)
18748 ; 'known/1_1_$special_fail/0___0__1__0__25'(B)
18749 ).
18750'known/1_1_$special_fail/0___0__1' :-
18751 'known/1_1_$special_fail/0___0__2'.
18752'known/1_1_$special_fail/0___0__2' :-
18753 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
18754 A),
18755 !,
18756 'known/1_1_$special_fail/0___0__2__0__26'(A).
18757'known/1_1_$special_fail/0___0__2__0__26'([]) :-
18758 'known/1_1_$special_fail/0___0__3'.
18759'known/1_1_$special_fail/0___0__2__0__26'([A|B]) :-
18760 ( A=suspension(_, active, _, _, _)
18761 -> A=suspension(_, _, _, _, C),
18762 setarg(2, A, removed),
18763 term_variables(C, D),
18764 ( arg(4, A, E),
18765 ( var(E)
18766 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
18767 F),
18768 F=[_|G],
18769 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
18770 G),
18771 ( G=[H|_]
18772 -> setarg(4, H, _)
18773 ; true
18774 )
18775 ; E=[_, _|G],
18776 setarg(2, E, G),
18777 ( G=[H|_]
18778 -> setarg(4, H, E)
18779 ; true
18780 )
18781 )
18782 ),
18783 'detach_known/1_1_$special_var/1___1'(D, A),
18784 'known/1_1_$special_fail/0___0__2__0__26'(B)
18785 ; 'known/1_1_$special_fail/0___0__2__0__26'(B)
18786 ).
18787'known/1_1_$special_fail/0___0__2' :-
18788 'known/1_1_$special_fail/0___0__3'.
18789'known/1_1_$special_fail/0___0__3' :-
18790 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
18791 A),
18792 !,
18793 'known/1_1_$special_fail/0___0__3__0__27'(A).
18794'known/1_1_$special_fail/0___0__3__0__27'([]) :-
18795 'known/1_1_$special_fail/0___0__4'.
18796'known/1_1_$special_fail/0___0__3__0__27'([A|B]) :-
18797 ( A=suspension(_, active, _, _, _, _)
18798 -> A=suspension(_, _, _, _, _, C),
18799 setarg(2, A, removed),
18800 term_variables(C, D),
18801 ( arg(5, A, E),
18802 ( var(E)
18803 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
18804 F),
18805 F=[_|G],
18806 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
18807 G),
18808 ( G=[H|_]
18809 -> setarg(5, H, _)
18810 ; true
18811 )
18812 ; E=[_, _|G],
18813 setarg(2, E, G),
18814 ( G=[H|_]
18815 -> setarg(5, H, E)
18816 ; true
18817 )
18818 )
18819 ),
18820 'detach_known/1_1_$special_atom/1___1'(D, A),
18821 'known/1_1_$special_fail/0___0__3__0__27'(B)
18822 ; 'known/1_1_$special_fail/0___0__3__0__27'(B)
18823 ).
18824'known/1_1_$special_fail/0___0__3' :-
18825 'known/1_1_$special_fail/0___0__4'.
18826'known/1_1_$special_fail/0___0__4' :-
18827 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
18828 A),
18829 !,
18830 'known/1_1_$special_fail/0___0__4__0__28'(A).
18831'known/1_1_$special_fail/0___0__4__0__28'([]) :-
18832 'known/1_1_$special_fail/0___0__5'.
18833'known/1_1_$special_fail/0___0__4__0__28'([A|B]) :-
18834 ( A=suspension(_, active, _, _, _, _)
18835 -> A=suspension(_, _, _, _, _, C),
18836 setarg(2, A, removed),
18837 term_variables(C, D),
18838 ( arg(5, A, E),
18839 ( var(E)
18840 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
18841 F),
18842 F=[_|G],
18843 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
18844 G),
18845 ( G=[H|_]
18846 -> setarg(5, H, _)
18847 ; true
18848 )
18849 ; E=[_, _|G],
18850 setarg(2, E, G),
18851 ( G=[H|_]
18852 -> setarg(5, H, E)
18853 ; true
18854 )
18855 )
18856 ),
18857 'detach_known/1_1_$special_atomic/1___1'(D, A),
18858 'known/1_1_$special_fail/0___0__4__0__28'(B)
18859 ; 'known/1_1_$special_fail/0___0__4__0__28'(B)
18860 ).
18861'known/1_1_$special_fail/0___0__4' :-
18862 'known/1_1_$special_fail/0___0__5'.
18863'known/1_1_$special_fail/0___0__5' :-
18864 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
18865 A),
18866 !,
18867 'known/1_1_$special_fail/0___0__5__0__29'(A).
18868'known/1_1_$special_fail/0___0__5__0__29'([]) :-
18869 'known/1_1_$special_fail/0___0__6'.
18870'known/1_1_$special_fail/0___0__5__0__29'([A|B]) :-
18871 ( A=suspension(_, active, _, _, _, _)
18872 -> A=suspension(_, _, _, _, _, C),
18873 setarg(2, A, removed),
18874 term_variables(C, D),
18875 ( arg(5, A, E),
18876 ( var(E)
18877 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
18878 F),
18879 F=[_|G],
18880 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
18881 G),
18882 ( G=[H|_]
18883 -> setarg(5, H, _)
18884 ; true
18885 )
18886 ; E=[_, _|G],
18887 setarg(2, E, G),
18888 ( G=[H|_]
18889 -> setarg(5, H, E)
18890 ; true
18891 )
18892 )
18893 ),
18894 'detach_known/1_1_$special_compound/1___1'(D, A),
18895 'known/1_1_$special_fail/0___0__5__0__29'(B)
18896 ; 'known/1_1_$special_fail/0___0__5__0__29'(B)
18897 ).
18898'known/1_1_$special_fail/0___0__5' :-
18899 'known/1_1_$special_fail/0___0__6'.
18900'known/1_1_$special_fail/0___0__6' :-
18901 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
18902 A),
18903 !,
18904 'known/1_1_$special_fail/0___0__6__0__30'(A).
18905'known/1_1_$special_fail/0___0__6__0__30'([]) :-
18906 'known/1_1_$special_fail/0___0__7'.
18907'known/1_1_$special_fail/0___0__6__0__30'([A|B]) :-
18908 ( A=suspension(_, active, _, _, _, _)
18909 -> A=suspension(_, _, _, _, _, C),
18910 setarg(2, A, removed),
18911 term_variables(C, D),
18912 ( arg(5, A, E),
18913 ( var(E)
18914 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
18915 F),
18916 F=[_|G],
18917 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
18918 G),
18919 ( G=[H|_]
18920 -> setarg(5, H, _)
18921 ; true
18922 )
18923 ; E=[_, _|G],
18924 setarg(2, E, G),
18925 ( G=[H|_]
18926 -> setarg(5, H, E)
18927 ; true
18928 )
18929 )
18930 ),
18931 'detach_known/1_1_$special_ground/1___1'(D, A),
18932 'known/1_1_$special_fail/0___0__6__0__30'(B)
18933 ; 'known/1_1_$special_fail/0___0__6__0__30'(B)
18934 ).
18935'known/1_1_$special_fail/0___0__6' :-
18936 'known/1_1_$special_fail/0___0__7'.
18937'known/1_1_$special_fail/0___0__7' :-
18938 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
18939 A),
18940 !,
18941 'known/1_1_$special_fail/0___0__7__0__31'(A).
18942'known/1_1_$special_fail/0___0__7__0__31'([]) :-
18943 'known/1_1_$special_fail/0___0__8'.
18944'known/1_1_$special_fail/0___0__7__0__31'([A|B]) :-
18945 ( A=suspension(_, active, _, _, _, _)
18946 -> A=suspension(_, _, _, _, _, C),
18947 setarg(2, A, removed),
18948 term_variables(C, D),
18949 ( arg(5, A, E),
18950 ( var(E)
18951 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
18952 F),
18953 F=[_|G],
18954 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
18955 G),
18956 ( G=[H|_]
18957 -> setarg(5, H, _)
18958 ; true
18959 )
18960 ; E=[_, _|G],
18961 setarg(2, E, G),
18962 ( G=[H|_]
18963 -> setarg(5, H, E)
18964 ; true
18965 )
18966 )
18967 ),
18968 'detach_known/1_1_$special_integer/1___1'(D, A),
18969 'known/1_1_$special_fail/0___0__7__0__31'(B)
18970 ; 'known/1_1_$special_fail/0___0__7__0__31'(B)
18971 ).
18972'known/1_1_$special_fail/0___0__7' :-
18973 'known/1_1_$special_fail/0___0__8'.
18974'known/1_1_$special_fail/0___0__8' :-
18975 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
18976 A),
18977 !,
18978 'known/1_1_$special_fail/0___0__8__0__32'(A).
18979'known/1_1_$special_fail/0___0__8__0__32'([]) :-
18980 'known/1_1_$special_fail/0___0__9'.
18981'known/1_1_$special_fail/0___0__8__0__32'([A|B]) :-
18982 ( A=suspension(_, active, _, _, _, _)
18983 -> A=suspension(_, _, _, _, _, C),
18984 setarg(2, A, removed),
18985 term_variables(C, D),
18986 ( arg(5, A, E),
18987 ( var(E)
18988 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
18989 F),
18990 F=[_|G],
18991 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
18992 G),
18993 ( G=[H|_]
18994 -> setarg(5, H, _)
18995 ; true
18996 )
18997 ; E=[_, _|G],
18998 setarg(2, E, G),
18999 ( G=[H|_]
19000 -> setarg(5, H, E)
19001 ; true
19002 )
19003 )
19004 ),
19005 'detach_known/1_1_$special_float/1___1'(D, A),
19006 'known/1_1_$special_fail/0___0__8__0__32'(B)
19007 ; 'known/1_1_$special_fail/0___0__8__0__32'(B)
19008 ).
19009'known/1_1_$special_fail/0___0__8' :-
19010 'known/1_1_$special_fail/0___0__9'.
19011'known/1_1_$special_fail/0___0__9' :-
19012 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
19013 A),
19014 !,
19015 'known/1_1_$special_fail/0___0__9__0__33'(A).
19016'known/1_1_$special_fail/0___0__9__0__33'([]) :-
19017 'known/1_1_$special_fail/0___0__10'.
19018'known/1_1_$special_fail/0___0__9__0__33'([A|B]) :-
19019 ( A=suspension(_, active, _, _, _, _)
19020 -> A=suspension(_, _, _, _, _, C),
19021 setarg(2, A, removed),
19022 term_variables(C, D),
19023 ( arg(5, A, E),
19024 ( var(E)
19025 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
19026 F),
19027 F=[_|G],
19028 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
19029 G),
19030 ( G=[H|_]
19031 -> setarg(5, H, _)
19032 ; true
19033 )
19034 ; E=[_, _|G],
19035 setarg(2, E, G),
19036 ( G=[H|_]
19037 -> setarg(5, H, E)
19038 ; true
19039 )
19040 )
19041 ),
19042 'detach_known/1_1_$special_number/1___1'(D, A),
19043 'known/1_1_$special_fail/0___0__9__0__33'(B)
19044 ; 'known/1_1_$special_fail/0___0__9__0__33'(B)
19045 ).
19046'known/1_1_$special_fail/0___0__9' :-
19047 'known/1_1_$special_fail/0___0__10'.
19048'known/1_1_$special_fail/0___0__10' :-
19049 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
19050 A),
19051 !,
19052 'known/1_1_$special_fail/0___0__10__0__34'(A).
19053'known/1_1_$special_fail/0___0__10__0__34'([]) :-
19054 'known/1_1_$special_fail/0___0__11'.
19055'known/1_1_$special_fail/0___0__10__0__34'([A|B]) :-
19056 ( A=suspension(_, active, _, _, _, _, _)
19057 -> A=suspension(_, _, _, _, _, C, D),
19058 setarg(2, A, removed),
19059 term_variables(term(C, D), E),
19060 ( arg(5, A, F),
19061 ( var(F)
19062 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
19063 G),
19064 G=[_|H],
19065 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
19066 H),
19067 ( H=[I|_]
19068 -> setarg(5, I, _)
19069 ; true
19070 )
19071 ; F=[_, _|H],
19072 setarg(2, F, H),
19073 ( H=[I|_]
19074 -> setarg(5, I, F)
19075 ; true
19076 )
19077 )
19078 ),
19079 'detach_known/1_1_$special_=\\=/2___2'(E, A),
19080 'known/1_1_$special_fail/0___0__10__0__34'(B)
19081 ; 'known/1_1_$special_fail/0___0__10__0__34'(B)
19082 ).
19083'known/1_1_$special_fail/0___0__10' :-
19084 'known/1_1_$special_fail/0___0__11'.
19085'known/1_1_$special_fail/0___0__11' :-
19086 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
19087 A),
19088 !,
19089 'known/1_1_$special_fail/0___0__11__0__35'(A).
19090'known/1_1_$special_fail/0___0__11__0__35'([]) :-
19091 'known/1_1_$special_fail/0___0__12'.
19092'known/1_1_$special_fail/0___0__11__0__35'([A|B]) :-
19093 ( A=suspension(_, active, _, _, _)
19094 -> A=suspension(_, _, _, _, C),
19095 setarg(2, A, removed),
19096 term_variables(C, D),
19097 ( arg(4, A, E),
19098 ( var(E)
19099 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
19100 F),
19101 F=[_|G],
19102 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
19103 G),
19104 ( G=[H|_]
19105 -> setarg(4, H, _)
19106 ; true
19107 )
19108 ; E=[_, _|G],
19109 setarg(2, E, G),
19110 ( G=[H|_]
19111 -> setarg(4, H, E)
19112 ; true
19113 )
19114 )
19115 ),
19116 'detach_known/1_1_$special_\\+/1___1'(D, A),
19117 'known/1_1_$special_fail/0___0__11__0__35'(B)
19118 ; 'known/1_1_$special_fail/0___0__11__0__35'(B)
19119 ).
19120'known/1_1_$special_fail/0___0__11' :-
19121 'known/1_1_$special_fail/0___0__12'.
19122'known/1_1_$special_fail/0___0__12' :-
19123 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
19124 A),
19125 !,
19126 'known/1_1_$special_fail/0___0__12__0__36'(A).
19127'known/1_1_$special_fail/0___0__12__0__36'([]) :-
19128 'known/1_1_$special_fail/0___0__13'.
19129'known/1_1_$special_fail/0___0__12__0__36'([A|B]) :-
19130 ( A=suspension(_, active, _, _, _, _, _)
19131 -> A=suspension(_, _, _, _, C, D, E),
19132 setarg(2, A, removed),
19133 term_variables(term(C, D, E), F),
19134 ( arg(4, A, G),
19135 ( var(G)
19136 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
19137 H),
19138 H=[_|I],
19139 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
19140 I),
19141 ( I=[J|_]
19142 -> setarg(4, J, _)
19143 ; true
19144 )
19145 ; G=[_, _|I],
19146 setarg(2, G, I),
19147 ( I=[J|_]
19148 -> setarg(4, J, G)
19149 ; true
19150 )
19151 )
19152 ),
19153 'detach_known/1_1_$special_functor/3___3'(F, A),
19154 'known/1_1_$special_fail/0___0__12__0__36'(B)
19155 ; 'known/1_1_$special_fail/0___0__12__0__36'(B)
19156 ).
19157'known/1_1_$special_fail/0___0__12' :-
19158 'known/1_1_$special_fail/0___0__13'.
19159'known/1_1_$special_fail/0___0__13' :-
19160 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
19161 A),
19162 !,
19163 'known/1_1_$special_fail/0___0__13__0__37'(A).
19164'known/1_1_$special_fail/0___0__13__0__37'([]) :-
19165 'known/1_1_$special_fail/0___0__14'.
19166'known/1_1_$special_fail/0___0__13__0__37'([A|B]) :-
19167 ( A=suspension(_, active, _, _, _, _, _)
19168 -> A=suspension(_, _, _, _, _, C, D),
19169 setarg(2, A, removed),
19170 term_variables(term(C, D), E),
19171 ( arg(5, A, F),
19172 ( var(F)
19173 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
19174 G),
19175 G=[_|H],
19176 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
19177 H),
19178 ( H=[I|_]
19179 -> setarg(5, I, _)
19180 ; true
19181 )
19182 ; F=[_, _|H],
19183 setarg(2, F, H),
19184 ( H=[I|_]
19185 -> setarg(5, I, F)
19186 ; true
19187 )
19188 )
19189 ),
19190 'detach_known/1_1_$special_\\=/2___2'(E, A),
19191 'known/1_1_$special_fail/0___0__13__0__37'(B)
19192 ; 'known/1_1_$special_fail/0___0__13__0__37'(B)
19193 ).
19194'known/1_1_$special_fail/0___0__13' :-
19195 'known/1_1_$special_fail/0___0__14'.
19196'known/1_1_$special_fail/0___0__14' :-
19197 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
19198 A),
19199 !,
19200 'known/1_1_$special_fail/0___0__14__0__38'(A).
19201'known/1_1_$special_fail/0___0__14__0__38'([]) :-
19202 'known/1_1_$special_fail/0___0__15'.
19203'known/1_1_$special_fail/0___0__14__0__38'([A|B]) :-
19204 ( A=suspension(_, active, _, _, _, _)
19205 -> A=suspension(_, _, _, _, C, D),
19206 setarg(2, A, removed),
19207 term_variables(term(C, D), E),
19208 ( arg(4, A, F),
19209 ( var(F)
19210 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
19211 G),
19212 G=[_|H],
19213 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
19214 H),
19215 ( H=[I|_]
19216 -> setarg(4, I, _)
19217 ; true
19218 )
19219 ; F=[_, _|H],
19220 setarg(2, F, H),
19221 ( H=[I|_]
19222 -> setarg(4, I, F)
19223 ; true
19224 )
19225 )
19226 ),
19227 'detach_known/1_1_$special_=/2___2'(E, A),
19228 'known/1_1_$special_fail/0___0__14__0__38'(B)
19229 ; 'known/1_1_$special_fail/0___0__14__0__38'(B)
19230 ).
19231'known/1_1_$special_fail/0___0__14' :-
19232 'known/1_1_$special_fail/0___0__15'.
19233'known/1_1_$special_fail/0___0__15' :-
19234 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
19235 A),
19236 !,
19237 'known/1_1_$special_fail/0___0__15__0__40'(A).
19238'known/1_1_$special_fail/0___0__15__0__40'([]) :-
19239 'known/1_1_$special_fail/0___0__16'.
19240'known/1_1_$special_fail/0___0__15__0__40'([A|B]) :-
19241 ( A=suspension(_, active, _, _, _, _, _)
19242 -> A=suspension(_, _, _, _, _, C, D),
19243 setarg(2, A, removed),
19244 term_variables(term(C, D), E),
19245 ( arg(5, A, F),
19246 ( var(F)
19247 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
19248 G),
19249 G=[_|H],
19250 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
19251 H),
19252 ( H=[I|_]
19253 -> setarg(5, I, _)
19254 ; true
19255 )
19256 ; F=[_, _|H],
19257 setarg(2, F, H),
19258 ( H=[I|_]
19259 -> setarg(5, I, F)
19260 ; true
19261 )
19262 )
19263 ),
19264 'detach_known/1_1_$special_\\==/2___2'(E, A),
19265 'known/1_1_$special_fail/0___0__15__0__40'(B)
19266 ; 'known/1_1_$special_fail/0___0__15__0__40'(B)
19267 ).
19268'known/1_1_$special_fail/0___0__15' :-
19269 'known/1_1_$special_fail/0___0__16'.
19270'known/1_1_$special_fail/0___0__16' :-
19271 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
19272 A),
19273 !,
19274 'known/1_1_$special_fail/0___0__16__0__41'(A).
19275'known/1_1_$special_fail/0___0__16__0__41'([]) :-
19276 'known/1_1_$special_fail/0___0__17'.
19277'known/1_1_$special_fail/0___0__16__0__41'([A|B]) :-
19278 ( A=suspension(_, active, _, _, _, _, _)
19279 -> A=suspension(_, _, _, _, _, C, D),
19280 setarg(2, A, removed),
19281 term_variables(term(C, D), E),
19282 ( arg(5, A, F),
19283 ( var(F)
19284 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
19285 G),
19286 G=[_|H],
19287 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
19288 H),
19289 ( H=[I|_]
19290 -> setarg(5, I, _)
19291 ; true
19292 )
19293 ; F=[_, _|H],
19294 setarg(2, F, H),
19295 ( H=[I|_]
19296 -> setarg(5, I, F)
19297 ; true
19298 )
19299 )
19300 ),
19301 'detach_known/1_1_$special_==/2___2'(E, A),
19302 'known/1_1_$special_fail/0___0__16__0__41'(B)
19303 ; 'known/1_1_$special_fail/0___0__16__0__41'(B)
19304 ).
19305'known/1_1_$special_fail/0___0__16' :-
19306 'known/1_1_$special_fail/0___0__17'.
19307'known/1_1_$special_fail/0___0__17' :-
19308 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
19309 A),
19310 !,
19311 'known/1_1_$special_fail/0___0__17__0__46'(A).
19312'known/1_1_$special_fail/0___0__17__0__46'([]) :-
19313 'known/1_1_$special_fail/0___0__18'.
19314'known/1_1_$special_fail/0___0__17__0__46'([A|B]) :-
19315 ( A=suspension(_, active, _, _, _, _, _)
19316 -> A=suspension(_, _, _, _, _, C, D),
19317 setarg(2, A, removed),
19318 term_variables(term(C, D), E),
19319 ( arg(5, A, F),
19320 ( var(F)
19321 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
19322 G),
19323 G=[_|H],
19324 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
19325 H),
19326 ( H=[I|_]
19327 -> setarg(5, I, _)
19328 ; true
19329 )
19330 ; F=[_, _|H],
19331 setarg(2, F, H),
19332 ( H=[I|_]
19333 -> setarg(5, I, F)
19334 ; true
19335 )
19336 )
19337 ),
19338 'detach_known/1_1_$special_=</2___2'(E, A),
19339 'known/1_1_$special_fail/0___0__17__0__46'(B)
19340 ; 'known/1_1_$special_fail/0___0__17__0__46'(B)
19341 ).
19342'known/1_1_$special_fail/0___0__17' :-
19343 'known/1_1_$special_fail/0___0__18'.
19344'known/1_1_$special_fail/0___0__18' :-
19345 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
19346 A),
19347 !,
19348 'known/1_1_$special_fail/0___0__18__0__47'(A).
19349'known/1_1_$special_fail/0___0__18__0__47'([]) :-
19350 'known/1_1_$special_fail/0___0__19'.
19351'known/1_1_$special_fail/0___0__18__0__47'([A|B]) :-
19352 ( A=suspension(_, active, _, _, _, _, _)
19353 -> A=suspension(_, _, _, _, _, C, D),
19354 setarg(2, A, removed),
19355 term_variables(term(C, D), E),
19356 ( arg(5, A, F),
19357 ( var(F)
19358 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
19359 G),
19360 G=[_|H],
19361 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
19362 H),
19363 ( H=[I|_]
19364 -> setarg(5, I, _)
19365 ; true
19366 )
19367 ; F=[_, _|H],
19368 setarg(2, F, H),
19369 ( H=[I|_]
19370 -> setarg(5, I, F)
19371 ; true
19372 )
19373 )
19374 ),
19375 'detach_known/1_1_$special_=:=/2___2'(E, A),
19376 'known/1_1_$special_fail/0___0__18__0__47'(B)
19377 ; 'known/1_1_$special_fail/0___0__18__0__47'(B)
19378 ).
19379'known/1_1_$special_fail/0___0__18' :-
19380 'known/1_1_$special_fail/0___0__19'.
19381'known/1_1_$special_fail/0___0__19' :-
19382 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
19383 A),
19384 !,
19385 'known/1_1_$special_fail/0___0__19__0__50'(A).
19386'known/1_1_$special_fail/0___0__19__0__50'([]) :-
19387 'known/1_1_$special_fail/0___0__20'.
19388'known/1_1_$special_fail/0___0__19__0__50'([A|B]) :-
19389 ( A=suspension(_, active, _, _, _)
19390 -> A=suspension(_, _, _, _, C),
19391 setarg(2, A, removed),
19392 term_variables(C, D),
19393 ( arg(4, A, E),
19394 ( var(E)
19395 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
19396 F),
19397 F=[_|G],
19398 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
19399 G),
19400 ( G=[H|_]
19401 -> setarg(4, H, _)
19402 ; true
19403 )
19404 ; E=[_, _|G],
19405 setarg(2, E, G),
19406 ( G=[H|_]
19407 -> setarg(4, H, E)
19408 ; true
19409 )
19410 )
19411 ),
19412 'detach_known/1_1_$default___1'(D, A),
19413 'known/1_1_$special_fail/0___0__19__0__50'(B)
19414 ; 'known/1_1_$special_fail/0___0__19__0__50'(B)
19415 ).
19416'known/1_1_$special_fail/0___0__19' :-
19417 'known/1_1_$special_fail/0___0__20'.
19418'known/1_1_$special_fail/0___0__20' :-
19419 A=suspension(B, active, _),
19420 'chr gen_id'(B),
19421 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
19422 C),
19423 D=[A|C],
19424 b_setval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
19425 D),
19426 ( C=[E|_]
19427 -> setarg(3, E, D)
19428 ; true
19429 ).
19430:- (multifile chr:'$chr_module'/1).19431chr:'$chr_module'(guard_entailment)