7
8:- module(guard_entailment,
9 [ entails_guard/2,
10 simplify_guards/5
11 ]). 12:- use_module(chr_runtime). 13:- style_check(- (discontiguous)). 14:- style_check(-singleton). 15:- style_check(-no_effect). 16:- include(chr_op). 17:- use_module(library(dialect/hprolog)). 18:- use_module(builtins). 19:- use_module(chr_compiler_errors). 20entails_guard(A, B) :-
21 copy_term_nat((A, B), (C, F)),
22 term_variables(C, D),
23 variables(D),
24 sort(C, E),
25 entails_guard2(E), !,
26 test(F), !,
27 cleanup.
28entails_guard2([]).
29entails_guard2([A|B]) :-
30 known(A),
31 entails_guard2(B).
32simplify_guards(A, I, B, H, J) :-
33 copy_term_nat((A, B), (C, F)),
34 term_variables(C, D),
35 variables(D),
36 sort(C, E),
37 entails_guard2(E), !,
38 simplify(F, G),
39 simplified(B, G, H, I, J), !,
40 cleanup.
41simplified([], [], [], A, A).
42simplified([A|B], [keep|C], [A|D], E, F) :-
43 simplified(B, C, D, E, F).
44simplified([_|_], [fail|_], fail, A, A).
45simplified([A|B], [true|L], [I|M], F, J) :-
46 builtins:binds_b(A, C),
47 term_variables(B, D),
48 intersect_eq(C, D, E), !,
49 ( E=[]
50 -> term_variables(F, G),
51 intersect_eq(C, G, H), !,
52 ( H=[]
53 -> I=true,
54 J=K
55 ; I=true,
56 J=(A, K)
57 )
58 ; I=A,
59 J=K
60 ),
61 simplified(B, L, M, F, K).
62simplify([], []).
63simplify([A|D], [B|E]) :-
64 ( \+ try(true, A)
65 -> B=true
66 ; builtins:negate_b(A, C),
67 ( \+ try(true, C)
68 -> B=fail
69 ; B=keep
70 )
71 ),
72 known(A),
73 simplify(D, E).
74try(A, B) :-
75 ( known(A)
76 -> true
77 ; chr_error(internal, 'Entailment Checker: try/2.\n', [])
78 ),
79 ( test(B)
80 -> fail
81 ; true
82 ).
83add_args_unif([], [], true).
84add_args_unif([A|C], [B|D], (A=B, E)) :-
85 add_args_unif(C, D, E).
86add_args_nunif([], [], fail).
87add_args_nunif([A|C], [B|D], (A\=B;E)) :-
88 add_args_nunif(C, D, E).
89add_args_nmatch([], [], fail).
90add_args_nmatch([A|C], [B|D], (A\==B;E)) :-
91 add_args_nmatch(C, D, E).
92all_unique_vars(A, B) :-
93 all_unique_vars(A, B, []).
94all_unique_vars([], _, _).
95all_unique_vars([A|D], B, C) :-
96 var(A),
97 \+ memberchk_eq(A, B),
98 \+ memberchk_eq(A, C),
99 all_unique_vars(D, [A|C]).
100:- use_module(chr(chr_runtime)). 101attach_variables___1([], _).
102attach_variables___1([A|B1], D) :-
103 ( get_attr(A, guard_entailment, B)
104 -> ( B=v(C, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y),
105 ( C/\1=:=1
106 -> Z=v(C, [D|E], F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)
107 ; A1 is C\/1,
108 Z=v(A1, [D], F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)
109 )
110 ),
111 put_attr(A, guard_entailment, Z)
112 ; put_attr(A,
113 guard_entailment,
114 v(1,
115 [D],
116 [],
117 [],
118 [],
119 [],
120 [],
121 [],
122 [],
123 [],
124 [],
125 [],
126 [],
127 [],
128 [],
129 [],
130 [],
131 [],
132 [],
133 [],
134 [],
135 []))
136 ),
137 attach_variables___1(B1, D).
138detach_variables___1([], _).
139detach_variables___1([A|B1], E) :-
140 ( get_attr(A, guard_entailment, B)
141 -> B=v(C, D, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1),
142 ( C/\1=:=1
143 -> 'chr sbag_del_element'(D, E, F),
144 ( F==[]
145 -> G is C/\ -2,
146 ( G==0
147 -> del_attr(A, guard_entailment)
148 ; put_attr(A,
149 guard_entailment,
150 v(G,
151 [],
152 H,
153 I,
154 J,
155 K,
156 L,
157 M,
158 N,
159 O,
160 P,
161 Q,
162 R,
163 S,
164 T,
165 U,
166 V,
167 W,
168 X,
169 Y,
170 Z,
171 A1))
172 )
173 ; put_attr(A,
174 guard_entailment,
175 v(C,
176 F,
177 H,
178 I,
179 J,
180 K,
181 L,
182 M,
183 N,
184 O,
185 P,
186 Q,
187 R,
188 S,
189 T,
190 U,
191 V,
192 W,
193 X,
194 Y,
195 Z,
196 A1))
197 )
198 ; true
199 )
200 ; true
201 ),
202 detach_variables___1(B1, E).
203'attach_known/1_1_$default___1'([], _).
204'attach_known/1_1_$default___1'([A|B1], E) :-
205 ( get_attr(A, guard_entailment, B)
206 -> ( B=v(C, D, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y),
207 ( C/\2=:=2
208 -> Z=v(C, D, [E|F], G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)
209 ; A1 is C\/2,
210 Z=v(A1, D, [E], G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)
211 )
212 ),
213 put_attr(A, guard_entailment, Z)
214 ; put_attr(A,
215 guard_entailment,
216 v(2,
217 [],
218 [E],
219 [],
220 [],
221 [],
222 [],
223 [],
224 [],
225 [],
226 [],
227 [],
228 [],
229 [],
230 [],
231 [],
232 [],
233 [],
234 [],
235 [],
236 [],
237 []))
238 ),
239 'attach_known/1_1_$default___1'(B1, E).
240'detach_known/1_1_$default___1'([], _).
241'detach_known/1_1_$default___1'([A|B1], E) :-
242 ( get_attr(A, guard_entailment, B)
243 -> B=v(C, H, D, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1),
244 ( C/\2=:=2
245 -> 'chr sbag_del_element'(D, E, F),
246 ( F==[]
247 -> G is C/\ -3,
248 ( G==0
249 -> del_attr(A, guard_entailment)
250 ; put_attr(A,
251 guard_entailment,
252 v(G,
253 H,
254 [],
255 I,
256 J,
257 K,
258 L,
259 M,
260 N,
261 O,
262 P,
263 Q,
264 R,
265 S,
266 T,
267 U,
268 V,
269 W,
270 X,
271 Y,
272 Z,
273 A1))
274 )
275 ; put_attr(A,
276 guard_entailment,
277 v(C,
278 H,
279 F,
280 I,
281 J,
282 K,
283 L,
284 M,
285 N,
286 O,
287 P,
288 Q,
289 R,
290 S,
291 T,
292 U,
293 V,
294 W,
295 X,
296 Y,
297 Z,
298 A1))
299 )
300 ; true
301 )
302 ; true
303 ),
304 'detach_known/1_1_$default___1'(B1, E).
305'attach_known/1_1_$special_;/2___2'([], _).
306'attach_known/1_1_$special_;/2___2'([A|B1], F) :-
307 ( get_attr(A, guard_entailment, B)
308 -> ( B=v(C, D, E, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y),
309 ( C/\4=:=4
310 -> Z=v(C, D, E, [F|G], H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)
311 ; A1 is C\/4,
312 Z=v(A1, D, E, [F], H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)
313 )
314 ),
315 put_attr(A, guard_entailment, Z)
316 ; put_attr(A,
317 guard_entailment,
318 v(4,
319 [],
320 [],
321 [F],
322 [],
323 [],
324 [],
325 [],
326 [],
327 [],
328 [],
329 [],
330 [],
331 [],
332 [],
333 [],
334 [],
335 [],
336 [],
337 [],
338 [],
339 []))
340 ),
341 'attach_known/1_1_$special_;/2___2'(B1, F).
342'detach_known/1_1_$special_;/2___2'([], _).
343'detach_known/1_1_$special_;/2___2'([A|B1], E) :-
344 ( get_attr(A, guard_entailment, B)
345 -> B=v(C, H, I, D, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1),
346 ( C/\4=:=4
347 -> 'chr sbag_del_element'(D, E, F),
348 ( F==[]
349 -> G is C/\ -5,
350 ( G==0
351 -> del_attr(A, guard_entailment)
352 ; put_attr(A,
353 guard_entailment,
354 v(G,
355 H,
356 I,
357 [],
358 J,
359 K,
360 L,
361 M,
362 N,
363 O,
364 P,
365 Q,
366 R,
367 S,
368 T,
369 U,
370 V,
371 W,
372 X,
373 Y,
374 Z,
375 A1))
376 )
377 ; put_attr(A,
378 guard_entailment,
379 v(C,
380 H,
381 I,
382 F,
383 J,
384 K,
385 L,
386 M,
387 N,
388 O,
389 P,
390 Q,
391 R,
392 S,
393 T,
394 U,
395 V,
396 W,
397 X,
398 Y,
399 Z,
400 A1))
401 )
402 ; true
403 )
404 ; true
405 ),
406 'detach_known/1_1_$special_;/2___2'(B1, E).
407'attach_known/1_1_$special_nonvar/1___1'([], _).
408'attach_known/1_1_$special_nonvar/1___1'([A|B1], G) :-
409 ( get_attr(A, guard_entailment, B)
410 -> ( B=v(C, D, E, F, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y),
411 ( C/\8=:=8
412 -> Z=v(C, D, E, F, [G|H], I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)
413 ; A1 is C\/8,
414 Z=v(A1, D, E, F, [G], I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)
415 )
416 ),
417 put_attr(A, guard_entailment, Z)
418 ; put_attr(A,
419 guard_entailment,
420 v(8,
421 [],
422 [],
423 [],
424 [G],
425 [],
426 [],
427 [],
428 [],
429 [],
430 [],
431 [],
432 [],
433 [],
434 [],
435 [],
436 [],
437 [],
438 [],
439 [],
440 [],
441 []))
442 ),
443 'attach_known/1_1_$special_nonvar/1___1'(B1, G).
444'detach_known/1_1_$special_nonvar/1___1'([], _).
445'detach_known/1_1_$special_nonvar/1___1'([A|B1], E) :-
446 ( get_attr(A, guard_entailment, B)
447 -> B=v(C, H, I, J, D, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1),
448 ( C/\8=:=8
449 -> 'chr sbag_del_element'(D, E, F),
450 ( F==[]
451 -> G is C/\ -9,
452 ( G==0
453 -> del_attr(A, guard_entailment)
454 ; put_attr(A,
455 guard_entailment,
456 v(G,
457 H,
458 I,
459 J,
460 [],
461 K,
462 L,
463 M,
464 N,
465 O,
466 P,
467 Q,
468 R,
469 S,
470 T,
471 U,
472 V,
473 W,
474 X,
475 Y,
476 Z,
477 A1))
478 )
479 ; put_attr(A,
480 guard_entailment,
481 v(C,
482 H,
483 I,
484 J,
485 F,
486 K,
487 L,
488 M,
489 N,
490 O,
491 P,
492 Q,
493 R,
494 S,
495 T,
496 U,
497 V,
498 W,
499 X,
500 Y,
501 Z,
502 A1))
503 )
504 ; true
505 )
506 ; true
507 ),
508 'detach_known/1_1_$special_nonvar/1___1'(B1, E).
509'attach_known/1_1_$special_var/1___1'([], _).
510'attach_known/1_1_$special_var/1___1'([A|B1], H) :-
511 ( get_attr(A, guard_entailment, B)
512 -> ( B=v(C, D, E, F, G, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y),
513 ( C/\16=:=16
514 -> Z=v(C, D, E, F, G, [H|I], J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)
515 ; A1 is C\/16,
516 Z=v(A1, D, E, F, G, [H], J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)
517 )
518 ),
519 put_attr(A, guard_entailment, Z)
520 ; put_attr(A,
521 guard_entailment,
522 v(16,
523 [],
524 [],
525 [],
526 [],
527 [H],
528 [],
529 [],
530 [],
531 [],
532 [],
533 [],
534 [],
535 [],
536 [],
537 [],
538 [],
539 [],
540 [],
541 [],
542 [],
543 []))
544 ),
545 'attach_known/1_1_$special_var/1___1'(B1, H).
546'detach_known/1_1_$special_var/1___1'([], _).
547'detach_known/1_1_$special_var/1___1'([A|B1], E) :-
548 ( get_attr(A, guard_entailment, B)
549 -> B=v(C, H, I, J, K, D, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1),
550 ( C/\16=:=16
551 -> 'chr sbag_del_element'(D, E, F),
552 ( F==[]
553 -> G is C/\ -17,
554 ( G==0
555 -> del_attr(A, guard_entailment)
556 ; put_attr(A,
557 guard_entailment,
558 v(G,
559 H,
560 I,
561 J,
562 K,
563 [],
564 L,
565 M,
566 N,
567 O,
568 P,
569 Q,
570 R,
571 S,
572 T,
573 U,
574 V,
575 W,
576 X,
577 Y,
578 Z,
579 A1))
580 )
581 ; put_attr(A,
582 guard_entailment,
583 v(C,
584 H,
585 I,
586 J,
587 K,
588 F,
589 L,
590 M,
591 N,
592 O,
593 P,
594 Q,
595 R,
596 S,
597 T,
598 U,
599 V,
600 W,
601 X,
602 Y,
603 Z,
604 A1))
605 )
606 ; true
607 )
608 ; true
609 ),
610 'detach_known/1_1_$special_var/1___1'(B1, E).
611'attach_known/1_1_$special_atom/1___1'([], _).
612'attach_known/1_1_$special_atom/1___1'([A|B1], I) :-
613 ( get_attr(A, guard_entailment, B)
614 -> ( B=v(C, D, E, F, G, H, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y),
615 ( C/\32=:=32
616 -> Z=v(C, D, E, F, G, H, [I|J], K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)
617 ; A1 is C\/32,
618 Z=v(A1, D, E, F, G, H, [I], K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)
619 )
620 ),
621 put_attr(A, guard_entailment, Z)
622 ; put_attr(A,
623 guard_entailment,
624 v(32,
625 [],
626 [],
627 [],
628 [],
629 [],
630 [I],
631 [],
632 [],
633 [],
634 [],
635 [],
636 [],
637 [],
638 [],
639 [],
640 [],
641 [],
642 [],
643 [],
644 [],
645 []))
646 ),
647 'attach_known/1_1_$special_atom/1___1'(B1, I).
648'detach_known/1_1_$special_atom/1___1'([], _).
649'detach_known/1_1_$special_atom/1___1'([A|B1], E) :-
650 ( get_attr(A, guard_entailment, B)
651 -> B=v(C, H, I, J, K, L, D, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1),
652 ( C/\32=:=32
653 -> 'chr sbag_del_element'(D, E, F),
654 ( F==[]
655 -> G is C/\ -33,
656 ( G==0
657 -> del_attr(A, guard_entailment)
658 ; put_attr(A,
659 guard_entailment,
660 v(G,
661 H,
662 I,
663 J,
664 K,
665 L,
666 [],
667 M,
668 N,
669 O,
670 P,
671 Q,
672 R,
673 S,
674 T,
675 U,
676 V,
677 W,
678 X,
679 Y,
680 Z,
681 A1))
682 )
683 ; put_attr(A,
684 guard_entailment,
685 v(C,
686 H,
687 I,
688 J,
689 K,
690 L,
691 F,
692 M,
693 N,
694 O,
695 P,
696 Q,
697 R,
698 S,
699 T,
700 U,
701 V,
702 W,
703 X,
704 Y,
705 Z,
706 A1))
707 )
708 ; true
709 )
710 ; true
711 ),
712 'detach_known/1_1_$special_atom/1___1'(B1, E).
713'attach_known/1_1_$special_atomic/1___1'([], _).
714'attach_known/1_1_$special_atomic/1___1'([A|B1], J) :-
715 ( get_attr(A, guard_entailment, B)
716 -> ( B=v(C, D, E, F, G, H, I, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y),
717 ( C/\64=:=64
718 -> Z=v(C, D, E, F, G, H, I, [J|K], L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)
719 ; A1 is C\/64,
720 Z=v(A1, D, E, F, G, H, I, [J], L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)
721 )
722 ),
723 put_attr(A, guard_entailment, Z)
724 ; put_attr(A,
725 guard_entailment,
726 v(64,
727 [],
728 [],
729 [],
730 [],
731 [],
732 [],
733 [J],
734 [],
735 [],
736 [],
737 [],
738 [],
739 [],
740 [],
741 [],
742 [],
743 [],
744 [],
745 [],
746 [],
747 []))
748 ),
749 'attach_known/1_1_$special_atomic/1___1'(B1, J).
750'detach_known/1_1_$special_atomic/1___1'([], _).
751'detach_known/1_1_$special_atomic/1___1'([A|B1], E) :-
752 ( get_attr(A, guard_entailment, B)
753 -> B=v(C, H, I, J, K, L, M, D, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1),
754 ( C/\64=:=64
755 -> 'chr sbag_del_element'(D, E, F),
756 ( F==[]
757 -> G is C/\ -65,
758 ( G==0
759 -> del_attr(A, guard_entailment)
760 ; put_attr(A,
761 guard_entailment,
762 v(G,
763 H,
764 I,
765 J,
766 K,
767 L,
768 M,
769 [],
770 N,
771 O,
772 P,
773 Q,
774 R,
775 S,
776 T,
777 U,
778 V,
779 W,
780 X,
781 Y,
782 Z,
783 A1))
784 )
785 ; put_attr(A,
786 guard_entailment,
787 v(C,
788 H,
789 I,
790 J,
791 K,
792 L,
793 M,
794 F,
795 N,
796 O,
797 P,
798 Q,
799 R,
800 S,
801 T,
802 U,
803 V,
804 W,
805 X,
806 Y,
807 Z,
808 A1))
809 )
810 ; true
811 )
812 ; true
813 ),
814 'detach_known/1_1_$special_atomic/1___1'(B1, E).
815'attach_known/1_1_$special_compound/1___1'([], _).
816'attach_known/1_1_$special_compound/1___1'([A|B1], K) :-
817 ( get_attr(A, guard_entailment, B)
818 -> ( B=v(C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y),
819 ( C/\128=:=128
820 -> Z=v(C, D, E, F, G, H, I, J, [K|L], M, N, O, P, Q, R, S, T, U, V, W, X, Y)
821 ; A1 is C\/128,
822 Z=v(A1, D, E, F, G, H, I, J, [K], M, N, O, P, Q, R, S, T, U, V, W, X, Y)
823 )
824 ),
825 put_attr(A, guard_entailment, Z)
826 ; put_attr(A,
827 guard_entailment,
828 v(128,
829 [],
830 [],
831 [],
832 [],
833 [],
834 [],
835 [],
836 [K],
837 [],
838 [],
839 [],
840 [],
841 [],
842 [],
843 [],
844 [],
845 [],
846 [],
847 [],
848 [],
849 []))
850 ),
851 'attach_known/1_1_$special_compound/1___1'(B1, K).
852'detach_known/1_1_$special_compound/1___1'([], _).
853'detach_known/1_1_$special_compound/1___1'([A|B1], E) :-
854 ( get_attr(A, guard_entailment, B)
855 -> B=v(C, H, I, J, K, L, M, N, D, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1),
856 ( C/\128=:=128
857 -> 'chr sbag_del_element'(D, E, F),
858 ( F==[]
859 -> G is C/\ -129,
860 ( G==0
861 -> del_attr(A, guard_entailment)
862 ; put_attr(A,
863 guard_entailment,
864 v(G,
865 H,
866 I,
867 J,
868 K,
869 L,
870 M,
871 N,
872 [],
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 A1))
886 )
887 ; put_attr(A,
888 guard_entailment,
889 v(C,
890 H,
891 I,
892 J,
893 K,
894 L,
895 M,
896 N,
897 F,
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 A1))
911 )
912 ; true
913 )
914 ; true
915 ),
916 'detach_known/1_1_$special_compound/1___1'(B1, E).
917'attach_known/1_1_$special_ground/1___1'([], _).
918'attach_known/1_1_$special_ground/1___1'([A|B1], L) :-
919 ( get_attr(A, guard_entailment, B)
920 -> ( B=v(C, D, E, F, G, H, I, J, K, M, N, O, P, Q, R, S, T, U, V, W, X, Y),
921 ( C/\256=:=256
922 -> Z=v(C, D, E, F, G, H, I, J, K, [L|M], N, O, P, Q, R, S, T, U, V, W, X, Y)
923 ; A1 is C\/256,
924 Z=v(A1, D, E, F, G, H, I, J, K, [L], N, O, P, Q, R, S, T, U, V, W, X, Y)
925 )
926 ),
927 put_attr(A, guard_entailment, Z)
928 ; put_attr(A,
929 guard_entailment,
930 v(256,
931 [],
932 [],
933 [],
934 [],
935 [],
936 [],
937 [],
938 [],
939 [L],
940 [],
941 [],
942 [],
943 [],
944 [],
945 [],
946 [],
947 [],
948 [],
949 [],
950 [],
951 []))
952 ),
953 'attach_known/1_1_$special_ground/1___1'(B1, L).
954'detach_known/1_1_$special_ground/1___1'([], _).
955'detach_known/1_1_$special_ground/1___1'([A|B1], E) :-
956 ( get_attr(A, guard_entailment, B)
957 -> B=v(C, H, I, J, K, L, M, N, O, D, P, Q, R, S, T, U, V, W, X, Y, Z, A1),
958 ( C/\256=:=256
959 -> 'chr sbag_del_element'(D, E, F),
960 ( F==[]
961 -> G is C/\ -257,
962 ( G==0
963 -> del_attr(A, guard_entailment)
964 ; put_attr(A,
965 guard_entailment,
966 v(G,
967 H,
968 I,
969 J,
970 K,
971 L,
972 M,
973 N,
974 O,
975 [],
976 P,
977 Q,
978 R,
979 S,
980 T,
981 U,
982 V,
983 W,
984 X,
985 Y,
986 Z,
987 A1))
988 )
989 ; put_attr(A,
990 guard_entailment,
991 v(C,
992 H,
993 I,
994 J,
995 K,
996 L,
997 M,
998 N,
999 O,
1000 F,
1001 P,
1002 Q,
1003 R,
1004 S,
1005 T,
1006 U,
1007 V,
1008 W,
1009 X,
1010 Y,
1011 Z,
1012 A1))
1013 )
1014 ; true
1015 )
1016 ; true
1017 ),
1018 'detach_known/1_1_$special_ground/1___1'(B1, E).
1019'attach_known/1_1_$special_integer/1___1'([], _).
1020'attach_known/1_1_$special_integer/1___1'([A|B1], M) :-
1021 ( get_attr(A, guard_entailment, B)
1022 -> ( B=v(C, D, E, F, G, H, I, J, K, L, N, O, P, Q, R, S, T, U, V, W, X, Y),
1023 ( C/\512=:=512
1024 -> Z=v(C, D, E, F, G, H, I, J, K, L, [M|N], O, P, Q, R, S, T, U, V, W, X, Y)
1025 ; A1 is C\/512,
1026 Z=v(A1, D, E, F, G, H, I, J, K, L, [M], O, P, Q, R, S, T, U, V, W, X, Y)
1027 )
1028 ),
1029 put_attr(A, guard_entailment, Z)
1030 ; put_attr(A,
1031 guard_entailment,
1032 v(512,
1033 [],
1034 [],
1035 [],
1036 [],
1037 [],
1038 [],
1039 [],
1040 [],
1041 [],
1042 [M],
1043 [],
1044 [],
1045 [],
1046 [],
1047 [],
1048 [],
1049 [],
1050 [],
1051 [],
1052 [],
1053 []))
1054 ),
1055 'attach_known/1_1_$special_integer/1___1'(B1, M).
1056'detach_known/1_1_$special_integer/1___1'([], _).
1057'detach_known/1_1_$special_integer/1___1'([A|B1], E) :-
1058 ( get_attr(A, guard_entailment, B)
1059 -> B=v(C, H, I, J, K, L, M, N, O, P, D, Q, R, S, T, U, V, W, X, Y, Z, A1),
1060 ( C/\512=:=512
1061 -> 'chr sbag_del_element'(D, E, F),
1062 ( F==[]
1063 -> G is C/\ -513,
1064 ( G==0
1065 -> del_attr(A, guard_entailment)
1066 ; put_attr(A,
1067 guard_entailment,
1068 v(G,
1069 H,
1070 I,
1071 J,
1072 K,
1073 L,
1074 M,
1075 N,
1076 O,
1077 P,
1078 [],
1079 Q,
1080 R,
1081 S,
1082 T,
1083 U,
1084 V,
1085 W,
1086 X,
1087 Y,
1088 Z,
1089 A1))
1090 )
1091 ; put_attr(A,
1092 guard_entailment,
1093 v(C,
1094 H,
1095 I,
1096 J,
1097 K,
1098 L,
1099 M,
1100 N,
1101 O,
1102 P,
1103 F,
1104 Q,
1105 R,
1106 S,
1107 T,
1108 U,
1109 V,
1110 W,
1111 X,
1112 Y,
1113 Z,
1114 A1))
1115 )
1116 ; true
1117 )
1118 ; true
1119 ),
1120 'detach_known/1_1_$special_integer/1___1'(B1, E).
1121'attach_known/1_1_$special_float/1___1'([], _).
1122'attach_known/1_1_$special_float/1___1'([A|B1], N) :-
1123 ( get_attr(A, guard_entailment, B)
1124 -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, O, P, Q, R, S, T, U, V, W, X, Y),
1125 ( C/\1024=:=1024
1126 -> Z=v(C, D, E, F, G, H, I, J, K, L, M, [N|O], P, Q, R, S, T, U, V, W, X, Y)
1127 ; A1 is C\/1024,
1128 Z=v(A1, D, E, F, G, H, I, J, K, L, M, [N], P, Q, R, S, T, U, V, W, X, Y)
1129 )
1130 ),
1131 put_attr(A, guard_entailment, Z)
1132 ; put_attr(A,
1133 guard_entailment,
1134 v(1024,
1135 [],
1136 [],
1137 [],
1138 [],
1139 [],
1140 [],
1141 [],
1142 [],
1143 [],
1144 [],
1145 [N],
1146 [],
1147 [],
1148 [],
1149 [],
1150 [],
1151 [],
1152 [],
1153 [],
1154 [],
1155 []))
1156 ),
1157 'attach_known/1_1_$special_float/1___1'(B1, N).
1158'detach_known/1_1_$special_float/1___1'([], _).
1159'detach_known/1_1_$special_float/1___1'([A|B1], E) :-
1160 ( get_attr(A, guard_entailment, B)
1161 -> B=v(C, H, I, J, K, L, M, N, O, P, Q, D, R, S, T, U, V, W, X, Y, Z, A1),
1162 ( C/\1024=:=1024
1163 -> 'chr sbag_del_element'(D, E, F),
1164 ( F==[]
1165 -> G is C/\ -1025,
1166 ( G==0
1167 -> del_attr(A, guard_entailment)
1168 ; put_attr(A,
1169 guard_entailment,
1170 v(G,
1171 H,
1172 I,
1173 J,
1174 K,
1175 L,
1176 M,
1177 N,
1178 O,
1179 P,
1180 Q,
1181 [],
1182 R,
1183 S,
1184 T,
1185 U,
1186 V,
1187 W,
1188 X,
1189 Y,
1190 Z,
1191 A1))
1192 )
1193 ; put_attr(A,
1194 guard_entailment,
1195 v(C,
1196 H,
1197 I,
1198 J,
1199 K,
1200 L,
1201 M,
1202 N,
1203 O,
1204 P,
1205 Q,
1206 F,
1207 R,
1208 S,
1209 T,
1210 U,
1211 V,
1212 W,
1213 X,
1214 Y,
1215 Z,
1216 A1))
1217 )
1218 ; true
1219 )
1220 ; true
1221 ),
1222 'detach_known/1_1_$special_float/1___1'(B1, E).
1223'attach_known/1_1_$special_number/1___1'([], _).
1224'attach_known/1_1_$special_number/1___1'([A|B1], O) :-
1225 ( get_attr(A, guard_entailment, B)
1226 -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, P, Q, R, S, T, U, V, W, X, Y),
1227 ( C/\2048=:=2048
1228 -> Z=v(C, D, E, F, G, H, I, J, K, L, M, N, [O|P], Q, R, S, T, U, V, W, X, Y)
1229 ; A1 is C\/2048,
1230 Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, [O], Q, R, S, T, U, V, W, X, Y)
1231 )
1232 ),
1233 put_attr(A, guard_entailment, Z)
1234 ; put_attr(A,
1235 guard_entailment,
1236 v(2048,
1237 [],
1238 [],
1239 [],
1240 [],
1241 [],
1242 [],
1243 [],
1244 [],
1245 [],
1246 [],
1247 [],
1248 [O],
1249 [],
1250 [],
1251 [],
1252 [],
1253 [],
1254 [],
1255 [],
1256 [],
1257 []))
1258 ),
1259 'attach_known/1_1_$special_number/1___1'(B1, O).
1260'detach_known/1_1_$special_number/1___1'([], _).
1261'detach_known/1_1_$special_number/1___1'([A|B1], E) :-
1262 ( get_attr(A, guard_entailment, B)
1263 -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, D, S, T, U, V, W, X, Y, Z, A1),
1264 ( C/\2048=:=2048
1265 -> 'chr sbag_del_element'(D, E, F),
1266 ( F==[]
1267 -> G is C/\ -2049,
1268 ( G==0
1269 -> del_attr(A, guard_entailment)
1270 ; put_attr(A,
1271 guard_entailment,
1272 v(G,
1273 H,
1274 I,
1275 J,
1276 K,
1277 L,
1278 M,
1279 N,
1280 O,
1281 P,
1282 Q,
1283 R,
1284 [],
1285 S,
1286 T,
1287 U,
1288 V,
1289 W,
1290 X,
1291 Y,
1292 Z,
1293 A1))
1294 )
1295 ; put_attr(A,
1296 guard_entailment,
1297 v(C,
1298 H,
1299 I,
1300 J,
1301 K,
1302 L,
1303 M,
1304 N,
1305 O,
1306 P,
1307 Q,
1308 R,
1309 F,
1310 S,
1311 T,
1312 U,
1313 V,
1314 W,
1315 X,
1316 Y,
1317 Z,
1318 A1))
1319 )
1320 ; true
1321 )
1322 ; true
1323 ),
1324 'detach_known/1_1_$special_number/1___1'(B1, E).
1325'attach_known/1_1_$special_=\\=/2___2'([], _).
1326'attach_known/1_1_$special_=\\=/2___2'([A|B1], P) :-
1327 ( get_attr(A, guard_entailment, B)
1328 -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, Q, R, S, T, U, V, W, X, Y),
1329 ( C/\4096=:=4096
1330 -> Z=v(C, D, E, F, G, H, I, J, K, L, M, N, O, [P|Q], R, S, T, U, V, W, X, Y)
1331 ; A1 is C\/4096,
1332 Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, [P], R, S, T, U, V, W, X, Y)
1333 )
1334 ),
1335 put_attr(A, guard_entailment, Z)
1336 ; put_attr(A,
1337 guard_entailment,
1338 v(4096,
1339 [],
1340 [],
1341 [],
1342 [],
1343 [],
1344 [],
1345 [],
1346 [],
1347 [],
1348 [],
1349 [],
1350 [],
1351 [P],
1352 [],
1353 [],
1354 [],
1355 [],
1356 [],
1357 [],
1358 [],
1359 []))
1360 ),
1361 'attach_known/1_1_$special_=\\=/2___2'(B1, P).
1362'detach_known/1_1_$special_=\\=/2___2'([], _).
1363'detach_known/1_1_$special_=\\=/2___2'([A|B1], E) :-
1364 ( get_attr(A, guard_entailment, B)
1365 -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, D, T, U, V, W, X, Y, Z, A1),
1366 ( C/\4096=:=4096
1367 -> 'chr sbag_del_element'(D, E, F),
1368 ( F==[]
1369 -> G is C/\ -4097,
1370 ( G==0
1371 -> del_attr(A, guard_entailment)
1372 ; put_attr(A,
1373 guard_entailment,
1374 v(G,
1375 H,
1376 I,
1377 J,
1378 K,
1379 L,
1380 M,
1381 N,
1382 O,
1383 P,
1384 Q,
1385 R,
1386 S,
1387 [],
1388 T,
1389 U,
1390 V,
1391 W,
1392 X,
1393 Y,
1394 Z,
1395 A1))
1396 )
1397 ; put_attr(A,
1398 guard_entailment,
1399 v(C,
1400 H,
1401 I,
1402 J,
1403 K,
1404 L,
1405 M,
1406 N,
1407 O,
1408 P,
1409 Q,
1410 R,
1411 S,
1412 F,
1413 T,
1414 U,
1415 V,
1416 W,
1417 X,
1418 Y,
1419 Z,
1420 A1))
1421 )
1422 ; true
1423 )
1424 ; true
1425 ),
1426 'detach_known/1_1_$special_=\\=/2___2'(B1, E).
1427'attach_known/1_1_$special_\\+/1___1'([], _).
1428'attach_known/1_1_$special_\\+/1___1'([A|B1], Q) :-
1429 ( get_attr(A, guard_entailment, B)
1430 -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, R, S, T, U, V, W, X, Y),
1431 ( C/\8192=:=8192
1432 -> Z=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, [Q|R], S, T, U, V, W, X, Y)
1433 ; A1 is C\/8192,
1434 Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, [Q], S, T, U, V, W, X, Y)
1435 )
1436 ),
1437 put_attr(A, guard_entailment, Z)
1438 ; put_attr(A,
1439 guard_entailment,
1440 v(8192,
1441 [],
1442 [],
1443 [],
1444 [],
1445 [],
1446 [],
1447 [],
1448 [],
1449 [],
1450 [],
1451 [],
1452 [],
1453 [],
1454 [Q],
1455 [],
1456 [],
1457 [],
1458 [],
1459 [],
1460 [],
1461 []))
1462 ),
1463 'attach_known/1_1_$special_\\+/1___1'(B1, Q).
1464'detach_known/1_1_$special_\\+/1___1'([], _).
1465'detach_known/1_1_$special_\\+/1___1'([A|B1], E) :-
1466 ( get_attr(A, guard_entailment, B)
1467 -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, D, U, V, W, X, Y, Z, A1),
1468 ( C/\8192=:=8192
1469 -> 'chr sbag_del_element'(D, E, F),
1470 ( F==[]
1471 -> G is C/\ -8193,
1472 ( G==0
1473 -> del_attr(A, guard_entailment)
1474 ; put_attr(A,
1475 guard_entailment,
1476 v(G,
1477 H,
1478 I,
1479 J,
1480 K,
1481 L,
1482 M,
1483 N,
1484 O,
1485 P,
1486 Q,
1487 R,
1488 S,
1489 T,
1490 [],
1491 U,
1492 V,
1493 W,
1494 X,
1495 Y,
1496 Z,
1497 A1))
1498 )
1499 ; put_attr(A,
1500 guard_entailment,
1501 v(C,
1502 H,
1503 I,
1504 J,
1505 K,
1506 L,
1507 M,
1508 N,
1509 O,
1510 P,
1511 Q,
1512 R,
1513 S,
1514 T,
1515 F,
1516 U,
1517 V,
1518 W,
1519 X,
1520 Y,
1521 Z,
1522 A1))
1523 )
1524 ; true
1525 )
1526 ; true
1527 ),
1528 'detach_known/1_1_$special_\\+/1___1'(B1, E).
1529'attach_known/1_1_$special_functor/3___3'([], _).
1530'attach_known/1_1_$special_functor/3___3'([A|B1], R) :-
1531 ( get_attr(A, guard_entailment, B)
1532 -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, S, T, U, V, W, X, Y),
1533 ( C/\16384=:=16384
1534 -> Z=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, [R|S], T, U, V, W, X, Y)
1535 ; A1 is C\/16384,
1536 Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, [R], T, U, V, W, X, Y)
1537 )
1538 ),
1539 put_attr(A, guard_entailment, Z)
1540 ; put_attr(A,
1541 guard_entailment,
1542 v(16384,
1543 [],
1544 [],
1545 [],
1546 [],
1547 [],
1548 [],
1549 [],
1550 [],
1551 [],
1552 [],
1553 [],
1554 [],
1555 [],
1556 [],
1557 [R],
1558 [],
1559 [],
1560 [],
1561 [],
1562 [],
1563 []))
1564 ),
1565 'attach_known/1_1_$special_functor/3___3'(B1, R).
1566'detach_known/1_1_$special_functor/3___3'([], _).
1567'detach_known/1_1_$special_functor/3___3'([A|B1], E) :-
1568 ( get_attr(A, guard_entailment, B)
1569 -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, D, V, W, X, Y, Z, A1),
1570 ( C/\16384=:=16384
1571 -> 'chr sbag_del_element'(D, E, F),
1572 ( F==[]
1573 -> G is C/\ -16385,
1574 ( G==0
1575 -> del_attr(A, guard_entailment)
1576 ; put_attr(A,
1577 guard_entailment,
1578 v(G,
1579 H,
1580 I,
1581 J,
1582 K,
1583 L,
1584 M,
1585 N,
1586 O,
1587 P,
1588 Q,
1589 R,
1590 S,
1591 T,
1592 U,
1593 [],
1594 V,
1595 W,
1596 X,
1597 Y,
1598 Z,
1599 A1))
1600 )
1601 ; put_attr(A,
1602 guard_entailment,
1603 v(C,
1604 H,
1605 I,
1606 J,
1607 K,
1608 L,
1609 M,
1610 N,
1611 O,
1612 P,
1613 Q,
1614 R,
1615 S,
1616 T,
1617 U,
1618 F,
1619 V,
1620 W,
1621 X,
1622 Y,
1623 Z,
1624 A1))
1625 )
1626 ; true
1627 )
1628 ; true
1629 ),
1630 'detach_known/1_1_$special_functor/3___3'(B1, E).
1631'attach_known/1_1_$special_\\=/2___2'([], _).
1632'attach_known/1_1_$special_\\=/2___2'([A|B1], S) :-
1633 ( get_attr(A, guard_entailment, B)
1634 -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, T, U, V, W, X, Y),
1635 ( C/\32768=:=32768
1636 -> Z=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, [S|T], U, V, W, X, Y)
1637 ; A1 is C\/32768,
1638 Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, [S], U, V, W, X, Y)
1639 )
1640 ),
1641 put_attr(A, guard_entailment, Z)
1642 ; put_attr(A,
1643 guard_entailment,
1644 v(32768,
1645 [],
1646 [],
1647 [],
1648 [],
1649 [],
1650 [],
1651 [],
1652 [],
1653 [],
1654 [],
1655 [],
1656 [],
1657 [],
1658 [],
1659 [],
1660 [S],
1661 [],
1662 [],
1663 [],
1664 [],
1665 []))
1666 ),
1667 'attach_known/1_1_$special_\\=/2___2'(B1, S).
1668'detach_known/1_1_$special_\\=/2___2'([], _).
1669'detach_known/1_1_$special_\\=/2___2'([A|B1], E) :-
1670 ( get_attr(A, guard_entailment, B)
1671 -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, D, W, X, Y, Z, A1),
1672 ( C/\32768=:=32768
1673 -> 'chr sbag_del_element'(D, E, F),
1674 ( F==[]
1675 -> G is C/\ -32769,
1676 ( G==0
1677 -> del_attr(A, guard_entailment)
1678 ; put_attr(A,
1679 guard_entailment,
1680 v(G,
1681 H,
1682 I,
1683 J,
1684 K,
1685 L,
1686 M,
1687 N,
1688 O,
1689 P,
1690 Q,
1691 R,
1692 S,
1693 T,
1694 U,
1695 V,
1696 [],
1697 W,
1698 X,
1699 Y,
1700 Z,
1701 A1))
1702 )
1703 ; put_attr(A,
1704 guard_entailment,
1705 v(C,
1706 H,
1707 I,
1708 J,
1709 K,
1710 L,
1711 M,
1712 N,
1713 O,
1714 P,
1715 Q,
1716 R,
1717 S,
1718 T,
1719 U,
1720 V,
1721 F,
1722 W,
1723 X,
1724 Y,
1725 Z,
1726 A1))
1727 )
1728 ; true
1729 )
1730 ; true
1731 ),
1732 'detach_known/1_1_$special_\\=/2___2'(B1, E).
1733'attach_known/1_1_$special_=/2___2'([], _).
1734'attach_known/1_1_$special_=/2___2'([A|B1], T) :-
1735 ( get_attr(A, guard_entailment, B)
1736 -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, U, V, W, X, Y),
1737 ( C/\65536=:=65536
1738 -> Z=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, [T|U], V, W, X, Y)
1739 ; A1 is C\/65536,
1740 Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, [T], V, W, X, Y)
1741 )
1742 ),
1743 put_attr(A, guard_entailment, Z)
1744 ; put_attr(A,
1745 guard_entailment,
1746 v(65536,
1747 [],
1748 [],
1749 [],
1750 [],
1751 [],
1752 [],
1753 [],
1754 [],
1755 [],
1756 [],
1757 [],
1758 [],
1759 [],
1760 [],
1761 [],
1762 [],
1763 [T],
1764 [],
1765 [],
1766 [],
1767 []))
1768 ),
1769 'attach_known/1_1_$special_=/2___2'(B1, T).
1770'detach_known/1_1_$special_=/2___2'([], _).
1771'detach_known/1_1_$special_=/2___2'([A|B1], E) :-
1772 ( get_attr(A, guard_entailment, B)
1773 -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, D, X, Y, Z, A1),
1774 ( C/\65536=:=65536
1775 -> 'chr sbag_del_element'(D, E, F),
1776 ( F==[]
1777 -> G is C/\ -65537,
1778 ( G==0
1779 -> del_attr(A, guard_entailment)
1780 ; put_attr(A,
1781 guard_entailment,
1782 v(G,
1783 H,
1784 I,
1785 J,
1786 K,
1787 L,
1788 M,
1789 N,
1790 O,
1791 P,
1792 Q,
1793 R,
1794 S,
1795 T,
1796 U,
1797 V,
1798 W,
1799 [],
1800 X,
1801 Y,
1802 Z,
1803 A1))
1804 )
1805 ; put_attr(A,
1806 guard_entailment,
1807 v(C,
1808 H,
1809 I,
1810 J,
1811 K,
1812 L,
1813 M,
1814 N,
1815 O,
1816 P,
1817 Q,
1818 R,
1819 S,
1820 T,
1821 U,
1822 V,
1823 W,
1824 F,
1825 X,
1826 Y,
1827 Z,
1828 A1))
1829 )
1830 ; true
1831 )
1832 ; true
1833 ),
1834 'detach_known/1_1_$special_=/2___2'(B1, E).
1835'attach_known/1_1_$special_\\==/2___2'([], _).
1836'attach_known/1_1_$special_\\==/2___2'([A|B1], U) :-
1837 ( get_attr(A, guard_entailment, B)
1838 -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, V, W, X, Y),
1839 ( C/\131072=:=131072
1840 -> Z=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, [U|V], W, X, Y)
1841 ; A1 is C\/131072,
1842 Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, [U], W, X, Y)
1843 )
1844 ),
1845 put_attr(A, guard_entailment, Z)
1846 ; put_attr(A,
1847 guard_entailment,
1848 v(131072,
1849 [],
1850 [],
1851 [],
1852 [],
1853 [],
1854 [],
1855 [],
1856 [],
1857 [],
1858 [],
1859 [],
1860 [],
1861 [],
1862 [],
1863 [],
1864 [],
1865 [],
1866 [U],
1867 [],
1868 [],
1869 []))
1870 ),
1871 'attach_known/1_1_$special_\\==/2___2'(B1, U).
1872'detach_known/1_1_$special_\\==/2___2'([], _).
1873'detach_known/1_1_$special_\\==/2___2'([A|B1], E) :-
1874 ( get_attr(A, guard_entailment, B)
1875 -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, D, Y, Z, A1),
1876 ( C/\131072=:=131072
1877 -> 'chr sbag_del_element'(D, E, F),
1878 ( F==[]
1879 -> G is C/\ -131073,
1880 ( G==0
1881 -> del_attr(A, guard_entailment)
1882 ; put_attr(A,
1883 guard_entailment,
1884 v(G,
1885 H,
1886 I,
1887 J,
1888 K,
1889 L,
1890 M,
1891 N,
1892 O,
1893 P,
1894 Q,
1895 R,
1896 S,
1897 T,
1898 U,
1899 V,
1900 W,
1901 X,
1902 [],
1903 Y,
1904 Z,
1905 A1))
1906 )
1907 ; put_attr(A,
1908 guard_entailment,
1909 v(C,
1910 H,
1911 I,
1912 J,
1913 K,
1914 L,
1915 M,
1916 N,
1917 O,
1918 P,
1919 Q,
1920 R,
1921 S,
1922 T,
1923 U,
1924 V,
1925 W,
1926 X,
1927 F,
1928 Y,
1929 Z,
1930 A1))
1931 )
1932 ; true
1933 )
1934 ; true
1935 ),
1936 'detach_known/1_1_$special_\\==/2___2'(B1, E).
1937'attach_known/1_1_$special_==/2___2'([], _).
1938'attach_known/1_1_$special_==/2___2'([A|B1], V) :-
1939 ( get_attr(A, guard_entailment, B)
1940 -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, W, X, Y),
1941 ( C/\262144=:=262144
1942 -> Z=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, [V|W], X, Y)
1943 ; A1 is C\/262144,
1944 Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, [V], X, Y)
1945 )
1946 ),
1947 put_attr(A, guard_entailment, Z)
1948 ; put_attr(A,
1949 guard_entailment,
1950 v(262144,
1951 [],
1952 [],
1953 [],
1954 [],
1955 [],
1956 [],
1957 [],
1958 [],
1959 [],
1960 [],
1961 [],
1962 [],
1963 [],
1964 [],
1965 [],
1966 [],
1967 [],
1968 [],
1969 [V],
1970 [],
1971 []))
1972 ),
1973 'attach_known/1_1_$special_==/2___2'(B1, V).
1974'detach_known/1_1_$special_==/2___2'([], _).
1975'detach_known/1_1_$special_==/2___2'([A|B1], E) :-
1976 ( get_attr(A, guard_entailment, B)
1977 -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, D, Z, A1),
1978 ( C/\262144=:=262144
1979 -> 'chr sbag_del_element'(D, E, F),
1980 ( F==[]
1981 -> G is C/\ -262145,
1982 ( G==0
1983 -> del_attr(A, guard_entailment)
1984 ; put_attr(A,
1985 guard_entailment,
1986 v(G,
1987 H,
1988 I,
1989 J,
1990 K,
1991 L,
1992 M,
1993 N,
1994 O,
1995 P,
1996 Q,
1997 R,
1998 S,
1999 T,
2000 U,
2001 V,
2002 W,
2003 X,
2004 Y,
2005 [],
2006 Z,
2007 A1))
2008 )
2009 ; put_attr(A,
2010 guard_entailment,
2011 v(C,
2012 H,
2013 I,
2014 J,
2015 K,
2016 L,
2017 M,
2018 N,
2019 O,
2020 P,
2021 Q,
2022 R,
2023 S,
2024 T,
2025 U,
2026 V,
2027 W,
2028 X,
2029 Y,
2030 F,
2031 Z,
2032 A1))
2033 )
2034 ; true
2035 )
2036 ; true
2037 ),
2038 'detach_known/1_1_$special_==/2___2'(B1, E).
2039'attach_known/1_1_$special_=</2___2'([], _).
2040'attach_known/1_1_$special_=</2___2'([A|B1], W) :-
2041 ( get_attr(A, guard_entailment, B)
2042 -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, X, Y),
2043 ( C/\524288=:=524288
2044 -> Z=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, [W|X], Y)
2045 ; A1 is C\/524288,
2046 Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, [W], Y)
2047 )
2048 ),
2049 put_attr(A, guard_entailment, Z)
2050 ; put_attr(A,
2051 guard_entailment,
2052 v(524288,
2053 [],
2054 [],
2055 [],
2056 [],
2057 [],
2058 [],
2059 [],
2060 [],
2061 [],
2062 [],
2063 [],
2064 [],
2065 [],
2066 [],
2067 [],
2068 [],
2069 [],
2070 [],
2071 [],
2072 [W],
2073 []))
2074 ),
2075 'attach_known/1_1_$special_=</2___2'(B1, W).
2076'detach_known/1_1_$special_=</2___2'([], _).
2077'detach_known/1_1_$special_=</2___2'([A|B1], E) :-
2078 ( get_attr(A, guard_entailment, B)
2079 -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, D, A1),
2080 ( C/\524288=:=524288
2081 -> 'chr sbag_del_element'(D, E, F),
2082 ( F==[]
2083 -> G is C/\ -524289,
2084 ( G==0
2085 -> del_attr(A, guard_entailment)
2086 ; put_attr(A,
2087 guard_entailment,
2088 v(G,
2089 H,
2090 I,
2091 J,
2092 K,
2093 L,
2094 M,
2095 N,
2096 O,
2097 P,
2098 Q,
2099 R,
2100 S,
2101 T,
2102 U,
2103 V,
2104 W,
2105 X,
2106 Y,
2107 Z,
2108 [],
2109 A1))
2110 )
2111 ; put_attr(A,
2112 guard_entailment,
2113 v(C,
2114 H,
2115 I,
2116 J,
2117 K,
2118 L,
2119 M,
2120 N,
2121 O,
2122 P,
2123 Q,
2124 R,
2125 S,
2126 T,
2127 U,
2128 V,
2129 W,
2130 X,
2131 Y,
2132 Z,
2133 F,
2134 A1))
2135 )
2136 ; true
2137 )
2138 ; true
2139 ),
2140 'detach_known/1_1_$special_=</2___2'(B1, E).
2141'attach_known/1_1_$special_=:=/2___2'([], _).
2142'attach_known/1_1_$special_=:=/2___2'([A|B1], X) :-
2143 ( get_attr(A, guard_entailment, B)
2144 -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, Y),
2145 ( C/\1048576=:=1048576
2146 -> Z=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, [X|Y])
2147 ; A1 is C\/1048576,
2148 Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, [X])
2149 )
2150 ),
2151 put_attr(A, guard_entailment, Z)
2152 ; put_attr(A,
2153 guard_entailment,
2154 v(1048576,
2155 [],
2156 [],
2157 [],
2158 [],
2159 [],
2160 [],
2161 [],
2162 [],
2163 [],
2164 [],
2165 [],
2166 [],
2167 [],
2168 [],
2169 [],
2170 [],
2171 [],
2172 [],
2173 [],
2174 [],
2175 [X]))
2176 ),
2177 'attach_known/1_1_$special_=:=/2___2'(B1, X).
2178'detach_known/1_1_$special_=:=/2___2'([], _).
2179'detach_known/1_1_$special_=:=/2___2'([A|B1], E) :-
2180 ( get_attr(A, guard_entailment, B)
2181 -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1, D),
2182 ( C/\1048576=:=1048576
2183 -> 'chr sbag_del_element'(D, E, F),
2184 ( F==[]
2185 -> G is C/\ -1048577,
2186 ( G==0
2187 -> del_attr(A, guard_entailment)
2188 ; put_attr(A,
2189 guard_entailment,
2190 v(G,
2191 H,
2192 I,
2193 J,
2194 K,
2195 L,
2196 M,
2197 N,
2198 O,
2199 P,
2200 Q,
2201 R,
2202 S,
2203 T,
2204 U,
2205 V,
2206 W,
2207 X,
2208 Y,
2209 Z,
2210 A1,
2211 []))
2212 )
2213 ; put_attr(A,
2214 guard_entailment,
2215 v(C,
2216 H,
2217 I,
2218 J,
2219 K,
2220 L,
2221 M,
2222 N,
2223 O,
2224 P,
2225 Q,
2226 R,
2227 S,
2228 T,
2229 U,
2230 V,
2231 W,
2232 X,
2233 Y,
2234 Z,
2235 A1,
2236 F))
2237 )
2238 ; true
2239 )
2240 ; true
2241 ),
2242 'detach_known/1_1_$special_=:=/2___2'(B1, E).
2243attach_increment([], _).
2244attach_increment([A|M3], B) :-
2245 'chr not_locked'(A),
2246 ( get_attr(A, guard_entailment, C)
2247 -> ( B=v(O2, E, H, K, N, Q, T, W, Z, C1, F1, I1, L1, O1, R1, U1, X1, A2, D2, G2, J2, M2),
2248 C=v(P2, D, G, J, M, P, S, V, Y, B1, E1, H1, K1, N1, Q1, T1, W1, Z1, C2, F2, I2, L2),
2249 ( ( sort(D, F),
2250 'chr merge_attributes'(E, F, R2)
2251 ),
2252 ( sort(G, I),
2253 'chr merge_attributes'(H, I, S2)
2254 ),
2255 ( sort(J, L),
2256 'chr merge_attributes'(K, L, T2)
2257 ),
2258 ( sort(M, O),
2259 'chr merge_attributes'(N, O, U2)
2260 ),
2261 ( sort(P, R),
2262 'chr merge_attributes'(Q, R, V2)
2263 ),
2264 ( sort(S, U),
2265 'chr merge_attributes'(T, U, W2)
2266 ),
2267 ( sort(V, X),
2268 'chr merge_attributes'(W, X, X2)
2269 ),
2270 ( sort(Y, A1),
2271 'chr merge_attributes'(Z, A1, Y2)
2272 ),
2273 ( sort(B1, D1),
2274 'chr merge_attributes'(C1, D1, Z2)
2275 ),
2276 ( sort(E1, G1),
2277 'chr merge_attributes'(F1, G1, A3)
2278 ),
2279 ( sort(H1, J1),
2280 'chr merge_attributes'(I1, J1, B3)
2281 ),
2282 ( sort(K1, M1),
2283 'chr merge_attributes'(L1, M1, C3)
2284 ),
2285 ( sort(N1, P1),
2286 'chr merge_attributes'(O1, P1, D3)
2287 ),
2288 ( sort(Q1, S1),
2289 'chr merge_attributes'(R1, S1, E3)
2290 ),
2291 ( sort(T1, V1),
2292 'chr merge_attributes'(U1, V1, F3)
2293 ),
2294 ( sort(W1, Y1),
2295 'chr merge_attributes'(X1, Y1, G3)
2296 ),
2297 ( sort(Z1, B2),
2298 'chr merge_attributes'(A2, B2, H3)
2299 ),
2300 ( sort(C2, E2),
2301 'chr merge_attributes'(D2, E2, I3)
2302 ),
2303 ( sort(F2, H2),
2304 'chr merge_attributes'(G2, H2, J3)
2305 ),
2306 ( sort(I2, K2),
2307 'chr merge_attributes'(J2, K2, K3)
2308 ),
2309 sort(L2, N2),
2310 'chr merge_attributes'(M2, N2, L3)
2311 ),
2312 Q2 is O2\/P2
2313 ),
2314 put_attr(A,
2315 guard_entailment,
2316 v(Q2,
2317 R2,
2318 S2,
2319 T2,
2320 U2,
2321 V2,
2322 W2,
2323 X2,
2324 Y2,
2325 Z2,
2326 A3,
2327 B3,
2328 C3,
2329 D3,
2330 E3,
2331 F3,
2332 G3,
2333 H3,
2334 I3,
2335 J3,
2336 K3,
2337 L3))
2338 ; put_attr(A, guard_entailment, B)
2339 ),
2340 attach_increment(M3, B).
2341attribute_goals(_, A, A).
2342attr_unify_hook(v(I3, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U), V) :-
2343 sort(A, Y),
2344 sort(B, B1),
2345 sort(C, E1),
2346 sort(D, H1),
2347 sort(E, K1),
2348 sort(F, N1),
2349 sort(G, Q1),
2350 sort(H, T1),
2351 sort(I, W1),
2352 sort(J, Z1),
2353 sort(K, C2),
2354 sort(L, F2),
2355 sort(M, I2),
2356 sort(N, L2),
2357 sort(O, O2),
2358 sort(P, R2),
2359 sort(Q, U2),
2360 sort(R, X2),
2361 sort(S, A3),
2362 sort(T, D3),
2363 sort(U, G3),
2364 ( var(V)
2365 -> ( get_attr(V, guard_entailment, W)
2366 -> ( W=v(J3, X, A1, D1, G1, J1, M1, P1, S1, V1, Y1, B2, E2, H2, K2, N2, Q2, T2, W2, Z2, C3, F3),
2367 ( ( sort(X, Z),
2368 'chr merge_attributes'(Y, Z, L3)
2369 ),
2370 ( sort(A1, C1),
2371 'chr merge_attributes'(B1, C1, M3)
2372 ),
2373 ( sort(D1, F1),
2374 'chr merge_attributes'(E1, F1, N3)
2375 ),
2376 ( sort(G1, I1),
2377 'chr merge_attributes'(H1, I1, O3)
2378 ),
2379 ( sort(J1, L1),
2380 'chr merge_attributes'(K1, L1, P3)
2381 ),
2382 ( sort(M1, O1),
2383 'chr merge_attributes'(N1, O1, Q3)
2384 ),
2385 ( sort(P1, R1),
2386 'chr merge_attributes'(Q1, R1, R3)
2387 ),
2388 ( sort(S1, U1),
2389 'chr merge_attributes'(T1, U1, S3)
2390 ),
2391 ( sort(V1, X1),
2392 'chr merge_attributes'(W1, X1, T3)
2393 ),
2394 ( sort(Y1, A2),
2395 'chr merge_attributes'(Z1, A2, U3)
2396 ),
2397 ( sort(B2, D2),
2398 'chr merge_attributes'(C2, D2, V3)
2399 ),
2400 ( sort(E2, G2),
2401 'chr merge_attributes'(F2, G2, W3)
2402 ),
2403 ( sort(H2, J2),
2404 'chr merge_attributes'(I2, J2, X3)
2405 ),
2406 ( sort(K2, M2),
2407 'chr merge_attributes'(L2, M2, Y3)
2408 ),
2409 ( sort(N2, P2),
2410 'chr merge_attributes'(O2, P2, Z3)
2411 ),
2412 ( sort(Q2, S2),
2413 'chr merge_attributes'(R2, S2, A4)
2414 ),
2415 ( sort(T2, V2),
2416 'chr merge_attributes'(U2, V2, B4)
2417 ),
2418 ( sort(W2, Y2),
2419 'chr merge_attributes'(X2, Y2, C4)
2420 ),
2421 ( sort(Z2, B3),
2422 'chr merge_attributes'(A3, B3, D4)
2423 ),
2424 ( sort(C3, E3),
2425 'chr merge_attributes'(D3, E3, E4)
2426 ),
2427 sort(F3, H3),
2428 'chr merge_attributes'(G3, H3, F4)
2429 ),
2430 K3 is I3\/J3
2431 ),
2432 put_attr(V,
2433 guard_entailment,
2434 v(K3,
2435 L3,
2436 M3,
2437 N3,
2438 O3,
2439 P3,
2440 Q3,
2441 R3,
2442 S3,
2443 T3,
2444 U3,
2445 V3,
2446 W3,
2447 X3,
2448 Y3,
2449 Z3,
2450 A4,
2451 B4,
2452 C4,
2453 D4,
2454 E4,
2455 F4)),
2456 '$run_suspensions_variables___1'(Y),
2457 '$run_suspensions_known/1_1_$default___1'(B1),
2458 '$run_suspensions_known/1_1_$special_;/2___2'(N3),
2459 '$run_suspensions_known/1_1_$special_nonvar/1___1'(H1),
2460 '$run_suspensions_known/1_1_$special_var/1___1'(K1),
2461 '$run_suspensions_known/1_1_$special_atom/1___1'(N1),
2462 '$run_suspensions_known/1_1_$special_atomic/1___1'(Q1),
2463 '$run_suspensions_known/1_1_$special_compound/1___1'(T1),
2464 '$run_suspensions_known/1_1_$special_ground/1___1'(W1),
2465 '$run_suspensions_known/1_1_$special_integer/1___1'(U3),
2466 '$run_suspensions_known/1_1_$special_float/1___1'(V3),
2467 '$run_suspensions_known/1_1_$special_number/1___1'(W3),
2468 '$run_suspensions_known/1_1_$special_=\\=/2___2'(X3),
2469 '$run_suspensions_known/1_1_$special_\\+/1___1'(Y3),
2470 '$run_suspensions_known/1_1_$special_functor/3___3'(Z3),
2471 '$run_suspensions_known/1_1_$special_\\=/2___2'(A4),
2472 '$run_suspensions_known/1_1_$special_=/2___2'(B4),
2473 '$run_suspensions_known/1_1_$special_\\==/2___2'(C4),
2474 '$run_suspensions_known/1_1_$special_==/2___2'(D4),
2475 '$run_suspensions_known/1_1_$special_=</2___2'(E4),
2476 '$run_suspensions_known/1_1_$special_=:=/2___2'(F4)
2477 ; put_attr(V,
2478 guard_entailment,
2479 v(I3,
2480 Y,
2481 B1,
2482 E1,
2483 H1,
2484 K1,
2485 N1,
2486 Q1,
2487 T1,
2488 W1,
2489 Z1,
2490 C2,
2491 F2,
2492 I2,
2493 L2,
2494 O2,
2495 R2,
2496 U2,
2497 X2,
2498 A3,
2499 D3,
2500 G3)),
2501 '$run_suspensions_variables___1'(Y),
2502 '$run_suspensions_known/1_1_$default___1'(B1),
2503 '$run_suspensions_known/1_1_$special_;/2___2'(E1),
2504 '$run_suspensions_known/1_1_$special_nonvar/1___1'(H1),
2505 '$run_suspensions_known/1_1_$special_var/1___1'(K1),
2506 '$run_suspensions_known/1_1_$special_atom/1___1'(N1),
2507 '$run_suspensions_known/1_1_$special_atomic/1___1'(Q1),
2508 '$run_suspensions_known/1_1_$special_compound/1___1'(T1),
2509 '$run_suspensions_known/1_1_$special_ground/1___1'(W1),
2510 '$run_suspensions_known/1_1_$special_integer/1___1'(Z1),
2511 '$run_suspensions_known/1_1_$special_float/1___1'(C2),
2512 '$run_suspensions_known/1_1_$special_number/1___1'(F2),
2513 '$run_suspensions_known/1_1_$special_=\\=/2___2'(I2),
2514 '$run_suspensions_known/1_1_$special_\\+/1___1'(L2),
2515 '$run_suspensions_known/1_1_$special_functor/3___3'(O2),
2516 '$run_suspensions_known/1_1_$special_\\=/2___2'(R2),
2517 '$run_suspensions_known/1_1_$special_=/2___2'(U2),
2518 '$run_suspensions_known/1_1_$special_\\==/2___2'(X2),
2519 '$run_suspensions_known/1_1_$special_==/2___2'(A3),
2520 '$run_suspensions_known/1_1_$special_=</2___2'(D3),
2521 '$run_suspensions_known/1_1_$special_=:=/2___2'(G3)
2522 )
2523 ; ( compound(V)
2524 -> term_variables(V, G4),
2525 attach_increment(G4,
2526 v(I3,
2527 Y,
2528 B1,
2529 E1,
2530 H1,
2531 K1,
2532 N1,
2533 Q1,
2534 T1,
2535 W1,
2536 Z1,
2537 C2,
2538 F2,
2539 I2,
2540 L2,
2541 O2,
2542 R2,
2543 U2,
2544 X2,
2545 A3,
2546 D3,
2547 G3))
2548 ; true
2549 ),
2550 '$run_suspensions_variables___1'(Y),
2551 '$run_suspensions_known/1_1_$default___1'(B1),
2552 '$run_suspensions_known/1_1_$special_;/2___2'(E1),
2553 '$run_suspensions_known/1_1_$special_nonvar/1___1'(H1),
2554 '$run_suspensions_known/1_1_$special_var/1___1'(K1),
2555 '$run_suspensions_known/1_1_$special_atom/1___1'(N1),
2556 '$run_suspensions_known/1_1_$special_atomic/1___1'(Q1),
2557 '$run_suspensions_known/1_1_$special_compound/1___1'(T1),
2558 '$run_suspensions_known/1_1_$special_ground/1___1'(W1),
2559 '$run_suspensions_known/1_1_$special_integer/1___1'(Z1),
2560 '$run_suspensions_known/1_1_$special_float/1___1'(C2),
2561 '$run_suspensions_known/1_1_$special_number/1___1'(F2),
2562 '$run_suspensions_known/1_1_$special_=\\=/2___2'(I2),
2563 '$run_suspensions_known/1_1_$special_\\+/1___1'(L2),
2564 '$run_suspensions_known/1_1_$special_functor/3___3'(O2),
2565 '$run_suspensions_known/1_1_$special_\\=/2___2'(R2),
2566 '$run_suspensions_known/1_1_$special_=/2___2'(U2),
2567 '$run_suspensions_known/1_1_$special_\\==/2___2'(X2),
2568 '$run_suspensions_known/1_1_$special_==/2___2'(A3),
2569 '$run_suspensions_known/1_1_$special_=</2___2'(D3),
2570 '$run_suspensions_known/1_1_$special_=:=/2___2'(G3)
2571 ).
2572'$novel_production'(A, B) :-
2573 arg(3, A, C),
2574 ( hprolog:get_ds(B, C, _)
2575 -> fail
2576 ; true
2577 ).
2578'$extend_history'(A, B) :-
2579 arg(3, A, C),
2580 hprolog:put_ds(B, C, x, D),
2581 setarg(3, A, D).
2582'$run_suspensions_variables___1'([]).
2583'$run_suspensions_variables___1'([A|D]) :-
2584 A=suspension(_, B, _, C),
2585 ( B==active
2586 -> setarg(2, A, triggered),
2587 variables___1__0(C, A),
2588 ( B==triggered
2589 -> setarg(2, A, active)
2590 ; true
2591 )
2592 ; true
2593 ),
2594 '$run_suspensions_variables___1'(D).
2595'$run_suspensions_known/1_1_$default___1'([]).
2596'$run_suspensions_known/1_1_$default___1'([A|F]) :-
2597 A=suspension(_, B, C, _, E),
2598 ( B==active
2599 -> setarg(2, A, triggered),
2600 ( D is C+1,
2601 setarg(3, A, D)
2602 ),
2603 'known/1_1_$default___1__0'(E, A),
2604 ( B==triggered
2605 -> setarg(2, A, active)
2606 ; true
2607 )
2608 ; true
2609 ),
2610 '$run_suspensions_known/1_1_$default___1'(F).
2611'$run_suspensions_known/1_1_$special_;/2___2'([]).
2612'$run_suspensions_known/1_1_$special_;/2___2'([A|G]) :-
2613 A=suspension(_, B, C, _, E, F),
2614 ( B==active
2615 -> setarg(2, A, triggered),
2616 ( D is C+1,
2617 setarg(3, A, D)
2618 ),
2619 'known/1_1_$special_;/2___2__0'(E, F, A),
2620 ( B==triggered
2621 -> setarg(2, A, active)
2622 ; true
2623 )
2624 ; true
2625 ),
2626 '$run_suspensions_known/1_1_$special_;/2___2'(G).
2627'$run_suspensions_known/1_1_$special_nonvar/1___1'([]).
2628'$run_suspensions_known/1_1_$special_nonvar/1___1'([A|F]) :-
2629 A=suspension(_, B, C, _, E),
2630 ( B==active
2631 -> setarg(2, A, triggered),
2632 ( D is C+1,
2633 setarg(3, A, D)
2634 ),
2635 'known/1_1_$special_nonvar/1___1__0'(E, A),
2636 ( B==triggered
2637 -> setarg(2, A, active)
2638 ; true
2639 )
2640 ; true
2641 ),
2642 '$run_suspensions_known/1_1_$special_nonvar/1___1'(F).
2643'$run_suspensions_known/1_1_$special_var/1___1'([]).
2644'$run_suspensions_known/1_1_$special_var/1___1'([A|F]) :-
2645 A=suspension(_, B, C, _, E),
2646 ( B==active
2647 -> setarg(2, A, triggered),
2648 ( D is C+1,
2649 setarg(3, A, D)
2650 ),
2651 'known/1_1_$special_var/1___1__0'(E, A),
2652 ( B==triggered
2653 -> setarg(2, A, active)
2654 ; true
2655 )
2656 ; true
2657 ),
2658 '$run_suspensions_known/1_1_$special_var/1___1'(F).
2659'$run_suspensions_known/1_1_$special_atom/1___1'([]).
2660'$run_suspensions_known/1_1_$special_atom/1___1'([A|F]) :-
2661 A=suspension(_, B, _, C, _, E),
2662 ( B==active
2663 -> setarg(2, A, triggered),
2664 ( D is C+1,
2665 setarg(4, A, D)
2666 ),
2667 'known/1_1_$special_atom/1___1__0'(E, A),
2668 ( B==triggered
2669 -> setarg(2, A, active)
2670 ; true
2671 )
2672 ; true
2673 ),
2674 '$run_suspensions_known/1_1_$special_atom/1___1'(F).
2675'$run_suspensions_known/1_1_$special_atomic/1___1'([]).
2676'$run_suspensions_known/1_1_$special_atomic/1___1'([A|F]) :-
2677 A=suspension(_, B, _, C, _, E),
2678 ( B==active
2679 -> setarg(2, A, triggered),
2680 ( D is C+1,
2681 setarg(4, A, D)
2682 ),
2683 'known/1_1_$special_atomic/1___1__0'(E, A),
2684 ( B==triggered
2685 -> setarg(2, A, active)
2686 ; true
2687 )
2688 ; true
2689 ),
2690 '$run_suspensions_known/1_1_$special_atomic/1___1'(F).
2691'$run_suspensions_known/1_1_$special_compound/1___1'([]).
2692'$run_suspensions_known/1_1_$special_compound/1___1'([A|F]) :-
2693 A=suspension(_, B, _, C, _, E),
2694 ( B==active
2695 -> setarg(2, A, triggered),
2696 ( D is C+1,
2697 setarg(4, A, D)
2698 ),
2699 'known/1_1_$special_compound/1___1__0'(E, A),
2700 ( B==triggered
2701 -> setarg(2, A, active)
2702 ; true
2703 )
2704 ; true
2705 ),
2706 '$run_suspensions_known/1_1_$special_compound/1___1'(F).
2707'$run_suspensions_known/1_1_$special_ground/1___1'([]).
2708'$run_suspensions_known/1_1_$special_ground/1___1'([A|F]) :-
2709 A=suspension(_, B, _, C, _, E),
2710 ( B==active
2711 -> setarg(2, A, triggered),
2712 ( D is C+1,
2713 setarg(4, A, D)
2714 ),
2715 'known/1_1_$special_ground/1___1__0'(E, A),
2716 ( B==triggered
2717 -> setarg(2, A, active)
2718 ; true
2719 )
2720 ; true
2721 ),
2722 '$run_suspensions_known/1_1_$special_ground/1___1'(F).
2723'$run_suspensions_known/1_1_$special_integer/1___1'([]).
2724'$run_suspensions_known/1_1_$special_integer/1___1'([A|F]) :-
2725 A=suspension(_, B, _, C, _, E),
2726 ( B==active
2727 -> setarg(2, A, triggered),
2728 ( D is C+1,
2729 setarg(4, A, D)
2730 ),
2731 'known/1_1_$special_integer/1___1__0'(E, A),
2732 ( B==triggered
2733 -> setarg(2, A, active)
2734 ; true
2735 )
2736 ; true
2737 ),
2738 '$run_suspensions_known/1_1_$special_integer/1___1'(F).
2739'$run_suspensions_known/1_1_$special_float/1___1'([]).
2740'$run_suspensions_known/1_1_$special_float/1___1'([A|F]) :-
2741 A=suspension(_, B, _, C, _, E),
2742 ( B==active
2743 -> setarg(2, A, triggered),
2744 ( D is C+1,
2745 setarg(4, A, D)
2746 ),
2747 'known/1_1_$special_float/1___1__0'(E, A),
2748 ( B==triggered
2749 -> setarg(2, A, active)
2750 ; true
2751 )
2752 ; true
2753 ),
2754 '$run_suspensions_known/1_1_$special_float/1___1'(F).
2755'$run_suspensions_known/1_1_$special_number/1___1'([]).
2756'$run_suspensions_known/1_1_$special_number/1___1'([A|F]) :-
2757 A=suspension(_, B, _, C, _, E),
2758 ( B==active
2759 -> setarg(2, A, triggered),
2760 ( D is C+1,
2761 setarg(4, A, D)
2762 ),
2763 'known/1_1_$special_number/1___1__0'(E, A),
2764 ( B==triggered
2765 -> setarg(2, A, active)
2766 ; true
2767 )
2768 ; true
2769 ),
2770 '$run_suspensions_known/1_1_$special_number/1___1'(F).
2771'$run_suspensions_known/1_1_$special_=\\=/2___2'([]).
2772'$run_suspensions_known/1_1_$special_=\\=/2___2'([A|G]) :-
2773 A=suspension(_, B, _, C, _, E, F),
2774 ( B==active
2775 -> setarg(2, A, triggered),
2776 ( D is C+1,
2777 setarg(4, A, D)
2778 ),
2779 'known/1_1_$special_=\\=/2___2__0'(E, F, A),
2780 ( B==triggered
2781 -> setarg(2, A, active)
2782 ; true
2783 )
2784 ; true
2785 ),
2786 '$run_suspensions_known/1_1_$special_=\\=/2___2'(G).
2787'$run_suspensions_known/1_1_$special_\\+/1___1'([]).
2788'$run_suspensions_known/1_1_$special_\\+/1___1'([A|F]) :-
2789 A=suspension(_, B, C, _, E),
2790 ( B==active
2791 -> setarg(2, A, triggered),
2792 ( D is C+1,
2793 setarg(3, A, D)
2794 ),
2795 'known/1_1_$special_\\+/1___1__0'(E, A),
2796 ( B==triggered
2797 -> setarg(2, A, active)
2798 ; true
2799 )
2800 ; true
2801 ),
2802 '$run_suspensions_known/1_1_$special_\\+/1___1'(F).
2803'$run_suspensions_known/1_1_$special_functor/3___3'([]).
2804'$run_suspensions_known/1_1_$special_functor/3___3'([A|H]) :-
2805 A=suspension(_, B, C, _, E, F, G),
2806 ( B==active
2807 -> setarg(2, A, triggered),
2808 ( D is C+1,
2809 setarg(3, A, D)
2810 ),
2811 'known/1_1_$special_functor/3___3__0'(E,
2812 F,
2813 G,
2814 A),
2815 ( B==triggered
2816 -> setarg(2, A, active)
2817 ; true
2818 )
2819 ; true
2820 ),
2821 '$run_suspensions_known/1_1_$special_functor/3___3'(H).
2822'$run_suspensions_known/1_1_$special_\\=/2___2'([]).
2823'$run_suspensions_known/1_1_$special_\\=/2___2'([A|G]) :-
2824 A=suspension(_, B, _, C, _, E, F),
2825 ( B==active
2826 -> setarg(2, A, triggered),
2827 ( D is C+1,
2828 setarg(4, A, D)
2829 ),
2830 'known/1_1_$special_\\=/2___2__0'(E, F, A),
2831 ( B==triggered
2832 -> setarg(2, A, active)
2833 ; true
2834 )
2835 ; true
2836 ),
2837 '$run_suspensions_known/1_1_$special_\\=/2___2'(G).
2838'$run_suspensions_known/1_1_$special_=/2___2'([]).
2839'$run_suspensions_known/1_1_$special_=/2___2'([A|G]) :-
2840 A=suspension(_, B, C, _, E, F),
2841 ( B==active
2842 -> setarg(2, A, triggered),
2843 ( D is C+1,
2844 setarg(3, A, D)
2845 ),
2846 'known/1_1_$special_=/2___2__0'(E, F, A),
2847 ( B==triggered
2848 -> setarg(2, A, active)
2849 ; true
2850 )
2851 ; true
2852 ),
2853 '$run_suspensions_known/1_1_$special_=/2___2'(G).
2854'$run_suspensions_known/1_1_$special_\\==/2___2'([]).
2855'$run_suspensions_known/1_1_$special_\\==/2___2'([A|G]) :-
2856 A=suspension(_, B, _, C, _, E, F),
2857 ( B==active
2858 -> setarg(2, A, triggered),
2859 ( D is C+1,
2860 setarg(4, A, D)
2861 ),
2862 'known/1_1_$special_\\==/2___2__0'(E, F, A),
2863 ( B==triggered
2864 -> setarg(2, A, active)
2865 ; true
2866 )
2867 ; true
2868 ),
2869 '$run_suspensions_known/1_1_$special_\\==/2___2'(G).
2870'$run_suspensions_known/1_1_$special_==/2___2'([]).
2871'$run_suspensions_known/1_1_$special_==/2___2'([A|G]) :-
2872 A=suspension(_, B, _, C, _, E, F),
2873 ( B==active
2874 -> setarg(2, A, triggered),
2875 ( D is C+1,
2876 setarg(4, A, D)
2877 ),
2878 'known/1_1_$special_==/2___2__0'(E, F, A),
2879 ( B==triggered
2880 -> setarg(2, A, active)
2881 ; true
2882 )
2883 ; true
2884 ),
2885 '$run_suspensions_known/1_1_$special_==/2___2'(G).
2886'$run_suspensions_known/1_1_$special_=</2___2'([]).
2887'$run_suspensions_known/1_1_$special_=</2___2'([A|G]) :-
2888 A=suspension(_, B, _, C, _, E, F),
2889 ( B==active
2890 -> setarg(2, A, triggered),
2891 ( D is C+1,
2892 setarg(4, A, D)
2893 ),
2894 'known/1_1_$special_=</2___2__0'(E, F, A),
2895 ( B==triggered
2896 -> setarg(2, A, active)
2897 ; true
2898 )
2899 ; true
2900 ),
2901 '$run_suspensions_known/1_1_$special_=</2___2'(G).
2902'$run_suspensions_known/1_1_$special_=:=/2___2'([]).
2903'$run_suspensions_known/1_1_$special_=:=/2___2'([A|G]) :-
2904 A=suspension(_, B, _, C, _, E, F),
2905 ( B==active
2906 -> setarg(2, A, triggered),
2907 ( D is C+1,
2908 setarg(4, A, D)
2909 ),
2910 'known/1_1_$special_=:=/2___2__0'(E, F, A),
2911 ( B==triggered
2912 -> setarg(2, A, active)
2913 ; true
2914 )
2915 ; true
2916 ),
2917 '$run_suspensions_known/1_1_$special_=:=/2___2'(G).
2918'$enumerate_constraints'(A) :-
2919 ( nonvar(A)
2920 -> functor(A, B, _),
2921 '$enumerate_constraints'(B, A)
2922 ; '$enumerate_constraints'(_, A)
2923 ).
2924'$enumerate_constraints'(variables, C) :-
2925 nb_current('$chr_store_global_list_guard_entailment____variables___1',
2926 A),
2927 member(B, A),
2928 B=suspension(_, _, _, D),
2929 C=variables(D).
2930'$enumerate_constraints'('known/1_1_$default', C) :-
2931 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
2932 A),
2933 member(B, A),
2934 B=suspension(_, _, _, _, D),
2935 C='known/1_1_$default'(D).
2936'$enumerate_constraints'('known/1_1_$special_;/2', C) :-
2937 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
2938 A),
2939 member(B, A),
2940 B=suspension(_, _, _, _, D, E),
2941 C='known/1_1_$special_;/2'(D, E).
2942'$enumerate_constraints'('known/1_1_$special_nonvar/1', C) :-
2943 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
2944 A),
2945 member(B, A),
2946 B=suspension(_, _, _, _, D),
2947 C='known/1_1_$special_nonvar/1'(D).
2948'$enumerate_constraints'('known/1_1_$special_var/1', C) :-
2949 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
2950 A),
2951 member(B, A),
2952 B=suspension(_, _, _, _, D),
2953 C='known/1_1_$special_var/1'(D).
2954'$enumerate_constraints'('known/1_1_$special_atom/1', C) :-
2955 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
2956 A),
2957 member(B, A),
2958 B=suspension(_, _, _, _, _, D),
2959 C='known/1_1_$special_atom/1'(D).
2960'$enumerate_constraints'('known/1_1_$special_atomic/1', C) :-
2961 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
2962 A),
2963 member(B, A),
2964 B=suspension(_, _, _, _, _, D),
2965 C='known/1_1_$special_atomic/1'(D).
2966'$enumerate_constraints'('known/1_1_$special_compound/1', C) :-
2967 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
2968 A),
2969 member(B, A),
2970 B=suspension(_, _, _, _, _, D),
2971 C='known/1_1_$special_compound/1'(D).
2972'$enumerate_constraints'('known/1_1_$special_ground/1', C) :-
2973 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
2974 A),
2975 member(B, A),
2976 B=suspension(_, _, _, _, _, D),
2977 C='known/1_1_$special_ground/1'(D).
2978'$enumerate_constraints'('known/1_1_$special_integer/1', C) :-
2979 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
2980 A),
2981 member(B, A),
2982 B=suspension(_, _, _, _, _, D),
2983 C='known/1_1_$special_integer/1'(D).
2984'$enumerate_constraints'('known/1_1_$special_float/1', C) :-
2985 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
2986 A),
2987 member(B, A),
2988 B=suspension(_, _, _, _, _, D),
2989 C='known/1_1_$special_float/1'(D).
2990'$enumerate_constraints'('known/1_1_$special_number/1', C) :-
2991 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
2992 A),
2993 member(B, A),
2994 B=suspension(_, _, _, _, _, D),
2995 C='known/1_1_$special_number/1'(D).
2996'$enumerate_constraints'('known/1_1_$special_=\\=/2', C) :-
2997 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
2998 A),
2999 member(B, A),
3000 B=suspension(_, _, _, _, _, D, E),
3001 C='known/1_1_$special_=\\=/2'(D, E).
3002'$enumerate_constraints'('known/1_1_$special_\\+/1', C) :-
3003 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
3004 A),
3005 member(B, A),
3006 B=suspension(_, _, _, _, D),
3007 C='known/1_1_$special_\\+/1'(D).
3008'$enumerate_constraints'('known/1_1_$special_functor/3', C) :-
3009 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
3010 A),
3011 member(B, A),
3012 B=suspension(_, _, _, _, D, E, F),
3013 C='known/1_1_$special_functor/3'(D, E, F).
3014'$enumerate_constraints'('known/1_1_$special_\\=/2', C) :-
3015 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
3016 A),
3017 member(B, A),
3018 B=suspension(_, _, _, _, _, D, E),
3019 C='known/1_1_$special_\\=/2'(D, E).
3020'$enumerate_constraints'('known/1_1_$special_=/2', C) :-
3021 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
3022 A),
3023 member(B, A),
3024 B=suspension(_, _, _, _, D, E),
3025 C='known/1_1_$special_=/2'(D, E).
3026'$enumerate_constraints'('known/1_1_$special_\\==/2', C) :-
3027 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
3028 A),
3029 member(B, A),
3030 B=suspension(_, _, _, _, _, D, E),
3031 C='known/1_1_$special_\\==/2'(D, E).
3032'$enumerate_constraints'('known/1_1_$special_==/2', C) :-
3033 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
3034 A),
3035 member(B, A),
3036 B=suspension(_, _, _, _, _, D, E),
3037 C='known/1_1_$special_==/2'(D, E).
3038'$enumerate_constraints'('known/1_1_$special_=</2', C) :-
3039 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
3040 A),
3041 member(B, A),
3042 B=suspension(_, _, _, _, _, D, E),
3043 C='known/1_1_$special_=</2'(D, E).
3044'$enumerate_constraints'('known/1_1_$special_=:=/2', C) :-
3045 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
3046 A),
3047 member(B, A),
3048 B=suspension(_, _, _, _, _, D, E),
3049 C='known/1_1_$special_=:=/2'(D, E).
3050'$enumerate_constraints'('known/1_1_$special_fail/0', C) :-
3051 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
3052 A),
3053 member(B, A),
3054 B=suspension(_, _, _),
3055 C='known/1_1_$special_fail/0'.
3056'$chr_initialization' :-
3057 nb_setval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
3058 []),
3059 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
3060 []),
3061 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
3062 []),
3063 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
3064 []),
3065 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
3066 []),
3067 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
3068 []),
3069 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
3070 []),
3071 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
3072 []),
3073 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
3074 []),
3075 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
3076 []),
3077 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
3078 []),
3079 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
3080 []),
3081 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
3082 []),
3083 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
3084 []),
3085 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
3086 []),
3087 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
3088 []),
3089 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
3090 []),
3091 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
3092 []),
3093 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
3094 []),
3095 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
3096 []),
3097 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
3098 []),
3099 nb_setval('$chr_store_global_list_guard_entailment____variables___1', []).
3100:- (initialization'$chr_initialization'). 3101:- (dynamic user:exception/3). 3102:- (multifile user:exception/3). 3103user:exception(undefined_global_variable, A, retry) :-
3104 '$chr_prolog_global_variable'(A),
3105 '$chr_initialization'.
3106'$chr_prolog_global_variable'('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0').
3107'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2').
3108'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2').
3109'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2').
3110'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2').
3111'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2').
3112'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2').
3113'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3').
3114'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1').
3115'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2').
3116'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1').
3117'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1').
3118'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1').
3119'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1').
3120'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1').
3121'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1').
3122'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1').
3123'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1').
3124'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1').
3125'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2').
3126'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$default___1').
3127'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____variables___1').
3128known(A) :-
3129 nonvar(A),
3130 ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( A=(B;C), !,
3131 'known/1_1_$special_;/2'(B,
3132 C)
3133 ; A=nonvar(D), !,
3134 'known/1_1_$special_nonvar/1'(D)
3135 )
3136 ; A=var(E), !,
3137 'known/1_1_$special_var/1'(E)
3138 )
3139 ; A=atom(F), !,
3140 'known/1_1_$special_atom/1'(F)
3141 )
3142 ; A=atomic(G), !,
3143 'known/1_1_$special_atomic/1'(G)
3144 )
3145 ; A=compound(H), !,
3146 'known/1_1_$special_compound/1'(H)
3147 )
3148 ; A=ground(I), !,
3149 'known/1_1_$special_ground/1'(I)
3150 )
3151 ; A=integer(J), !,
3152 'known/1_1_$special_integer/1'(J)
3153 )
3154 ; A=float(K), !,
3155 'known/1_1_$special_float/1'(K)
3156 )
3157 ; A=number(L), !,
3158 'known/1_1_$special_number/1'(L)
3159 )
3160 ; A=(M=\=N), !,
3161 'known/1_1_$special_=\\=/2'(M,
3162 N)
3163 )
3164 ; A=(\+O), !,
3165 'known/1_1_$special_\\+/1'(O)
3166 )
3167 ; A=functor(P, Q, R), !,
3168 'known/1_1_$special_functor/3'(P,
3169 Q,
3170 R)
3171 )
3172 ; A=(S\=T), !,
3173 'known/1_1_$special_\\=/2'(S,
3174 T)
3175 )
3176 ; A=(U=V), !,
3177 'known/1_1_$special_=/2'(U,
3178 V)
3179 )
3180 ; A=(W, X), !,
3181 'known/1_1_$special_,/2'(W,
3182 X)
3183 )
3184 ; A=(Y\==Z), !,
3185 'known/1_1_$special_\\==/2'(Y,
3186 Z)
3187 )
3188 ; A=(A1==B1), !,
3189 'known/1_1_$special_==/2'(A1, B1)
3190 )
3191 ; A=(C1 is D1), !,
3192 'known/1_1_$special_is/2'(C1, D1)
3193 )
3194 ; A=(E1<F1), !,
3195 'known/1_1_$special_</2'(E1, F1)
3196 )
3197 ; A=(G1>=H1), !,
3198 'known/1_1_$special_>=/2'(G1, H1)
3199 )
3200 ; A=(I1>J1), !,
3201 'known/1_1_$special_>/2'(I1, J1)
3202 )
3203 ; A=(K1=<L1), !,
3204 'known/1_1_$special_=</2'(K1, L1)
3205 )
3206 ; A=(M1=:=N1), !,
3207 'known/1_1_$special_=:=/2'(M1, N1)
3208 ).
3209known(A) :-
3210 A==fail, !,
3211 'known/1_1_$special_fail/0'.
3212known(A) :-
3213 'known/1_1_$default'(A).
3214test(A) :-
3215 nonvar(A),
3216 ( ( ( ( ( ( ( A=(B, C), !,
3217 'test/1_1_$special_,/2'(B, C)
3218 ; A=(\+D), !,
3219 'test/1_1_$special_\\+/1'(D)
3220 )
3221 ; A=integer(E), !,
3222 'test/1_1_$special_integer/1'(E)
3223 )
3224 ; A=float(F), !,
3225 'test/1_1_$special_float/1'(F)
3226 )
3227 ; A=number(G), !,
3228 'test/1_1_$special_number/1'(G)
3229 )
3230 ; A=ground(H), !,
3231 'test/1_1_$special_ground/1'(H)
3232 )
3233 ; A=(I=:=J), !,
3234 'test/1_1_$special_=:=/2'(I, J)
3235 )
3236 ; A=(K==L), !,
3237 'test/1_1_$special_==/2'(K, L)
3238 ).
3239test(A) :-
3240 A==true, !,
3241 'test/1_1_$special_true/0'.
3242test(A) :-
3243 nonvar(A),
3244 ( ( ( ( ( ( ( ( ( A=functor(B, C, D), !,
3245 'test/1_1_$special_functor/3'(B,
3246 C,
3247 D)
3248 ; A=(E=F), !,
3249 'test/1_1_$special_=/2'(E,
3250 F)
3251 )
3252 ; A=(G;H), !,
3253 'test/1_1_$special_;/2'(G, H)
3254 )
3255 ; A=(I is J), !,
3256 'test/1_1_$special_is/2'(I, J)
3257 )
3258 ; A=(K<L), !,
3259 'test/1_1_$special_</2'(K, L)
3260 )
3261 ; A=(M>=N), !,
3262 'test/1_1_$special_>=/2'(M, N)
3263 )
3264 ; A=(O>P), !,
3265 'test/1_1_$special_>/2'(O, P)
3266 )
3267 ; A=(Q=\=R), !,
3268 'test/1_1_$special_=\\=/2'(Q, R)
3269 )
3270 ; A=(S=<T), !,
3271 'test/1_1_$special_=</2'(S, T)
3272 )
3273 ; A=(U\==V), !,
3274 'test/1_1_$special_\\==/2'(U, V)
3275 ).
3276test(A) :-
3277 'test/1_1_$default'(A).
3278cleanup :-
3279 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
3280 A), !,
3281 cleanup___0__0__0__1(A).
3282cleanup___0__0__0__1([]) :-
3283 cleanup___0__1.
3284cleanup___0__0__0__1([A|I]) :-
3285 ( A=suspension(_, active, _, _, _, _)
3286 -> ( A=suspension(_, _, _, _, B, C),
3287 setarg(2, A, removed),
3288 term_variables(term(B, C), H),
3289 ( arg(4, A, D),
3290 ( var(D)
3291 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
3292 E),
3293 E=[_|F],
3294 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
3295 F),
3296 ( F=[G|_]
3297 -> setarg(4, G, _)
3298 ; true
3299 )
3300 ; D=[_, _|F],
3301 setarg(2, D, F),
3302 ( F=[G|_]
3303 -> setarg(4, G, D)
3304 ; true
3305 )
3306 )
3307 ),
3308 'detach_known/1_1_$special_;/2___2'(H, A)
3309 ),
3310 cleanup___0__0__0__1(I)
3311 ; cleanup___0__0__0__1(I)
3312 ).
3313cleanup :-
3314 cleanup___0__1.
3315cleanup___0__1 :-
3316 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
3317 A), !,
3318 cleanup___0__1__0__2(A).
3319cleanup___0__1__0__2([]) :-
3320 cleanup___0__2.
3321cleanup___0__1__0__2([A|H]) :-
3322 ( A=suspension(_, active, _, _, _)
3323 -> ( A=suspension(_, _, _, _, B),
3324 setarg(2, A, removed),
3325 term_variables(B, G),
3326 ( arg(4, A, C),
3327 ( var(C)
3328 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
3329 D),
3330 D=[_|E],
3331 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
3332 E),
3333 ( E=[F|_]
3334 -> setarg(4, F, _)
3335 ; true
3336 )
3337 ; C=[_, _|E],
3338 setarg(2, C, E),
3339 ( E=[F|_]
3340 -> setarg(4, F, C)
3341 ; true
3342 )
3343 )
3344 ),
3345 'detach_known/1_1_$special_nonvar/1___1'(G, A)
3346 ),
3347 cleanup___0__1__0__2(H)
3348 ; cleanup___0__1__0__2(H)
3349 ).
3350cleanup___0__1 :-
3351 cleanup___0__2.
3352cleanup___0__2 :-
3353 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
3354 A), !,
3355 cleanup___0__2__0__3(A).
3356cleanup___0__2__0__3([]) :-
3357 cleanup___0__3.
3358cleanup___0__2__0__3([A|H]) :-
3359 ( A=suspension(_, active, _, _, _)
3360 -> ( A=suspension(_, _, _, _, B),
3361 setarg(2, A, removed),
3362 term_variables(B, G),
3363 ( arg(4, A, C),
3364 ( var(C)
3365 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
3366 D),
3367 D=[_|E],
3368 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
3369 E),
3370 ( E=[F|_]
3371 -> setarg(4, F, _)
3372 ; true
3373 )
3374 ; C=[_, _|E],
3375 setarg(2, C, E),
3376 ( E=[F|_]
3377 -> setarg(4, F, C)
3378 ; true
3379 )
3380 )
3381 ),
3382 'detach_known/1_1_$special_var/1___1'(G, A)
3383 ),
3384 cleanup___0__2__0__3(H)
3385 ; cleanup___0__2__0__3(H)
3386 ).
3387cleanup___0__2 :-
3388 cleanup___0__3.
3389cleanup___0__3 :-
3390 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
3391 A), !,
3392 cleanup___0__3__0__4(A).
3393cleanup___0__3__0__4([]) :-
3394 cleanup___0__4.
3395cleanup___0__3__0__4([A|H]) :-
3396 ( A=suspension(_, active, _, _, _, _)
3397 -> ( A=suspension(_, _, _, _, _, B),
3398 setarg(2, A, removed),
3399 term_variables(B, G),
3400 ( arg(5, A, C),
3401 ( var(C)
3402 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
3403 D),
3404 D=[_|E],
3405 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
3406 E),
3407 ( E=[F|_]
3408 -> setarg(5, F, _)
3409 ; true
3410 )
3411 ; C=[_, _|E],
3412 setarg(2, C, E),
3413 ( E=[F|_]
3414 -> setarg(5, F, C)
3415 ; true
3416 )
3417 )
3418 ),
3419 'detach_known/1_1_$special_atom/1___1'(G, A)
3420 ),
3421 cleanup___0__3__0__4(H)
3422 ; cleanup___0__3__0__4(H)
3423 ).
3424cleanup___0__3 :-
3425 cleanup___0__4.
3426cleanup___0__4 :-
3427 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
3428 A), !,
3429 cleanup___0__4__0__5(A).
3430cleanup___0__4__0__5([]) :-
3431 cleanup___0__5.
3432cleanup___0__4__0__5([A|H]) :-
3433 ( A=suspension(_, active, _, _, _, _)
3434 -> ( A=suspension(_, _, _, _, _, B),
3435 setarg(2, A, removed),
3436 term_variables(B, G),
3437 ( arg(5, A, C),
3438 ( var(C)
3439 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
3440 D),
3441 D=[_|E],
3442 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
3443 E),
3444 ( E=[F|_]
3445 -> setarg(5, F, _)
3446 ; true
3447 )
3448 ; C=[_, _|E],
3449 setarg(2, C, E),
3450 ( E=[F|_]
3451 -> setarg(5, F, C)
3452 ; true
3453 )
3454 )
3455 ),
3456 'detach_known/1_1_$special_atomic/1___1'(G, A)
3457 ),
3458 cleanup___0__4__0__5(H)
3459 ; cleanup___0__4__0__5(H)
3460 ).
3461cleanup___0__4 :-
3462 cleanup___0__5.
3463cleanup___0__5 :-
3464 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
3465 A), !,
3466 cleanup___0__5__0__6(A).
3467cleanup___0__5__0__6([]) :-
3468 cleanup___0__6.
3469cleanup___0__5__0__6([A|H]) :-
3470 ( A=suspension(_, active, _, _, _, _)
3471 -> ( A=suspension(_, _, _, _, _, B),
3472 setarg(2, A, removed),
3473 term_variables(B, G),
3474 ( arg(5, A, C),
3475 ( var(C)
3476 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
3477 D),
3478 D=[_|E],
3479 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
3480 E),
3481 ( E=[F|_]
3482 -> setarg(5, F, _)
3483 ; true
3484 )
3485 ; C=[_, _|E],
3486 setarg(2, C, E),
3487 ( E=[F|_]
3488 -> setarg(5, F, C)
3489 ; true
3490 )
3491 )
3492 ),
3493 'detach_known/1_1_$special_compound/1___1'(G, A)
3494 ),
3495 cleanup___0__5__0__6(H)
3496 ; cleanup___0__5__0__6(H)
3497 ).
3498cleanup___0__5 :-
3499 cleanup___0__6.
3500cleanup___0__6 :-
3501 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
3502 A), !,
3503 cleanup___0__6__0__7(A).
3504cleanup___0__6__0__7([]) :-
3505 cleanup___0__7.
3506cleanup___0__6__0__7([A|H]) :-
3507 ( A=suspension(_, active, _, _, _, _)
3508 -> ( A=suspension(_, _, _, _, _, B),
3509 setarg(2, A, removed),
3510 term_variables(B, G),
3511 ( arg(5, A, C),
3512 ( var(C)
3513 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
3514 D),
3515 D=[_|E],
3516 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
3517 E),
3518 ( E=[F|_]
3519 -> setarg(5, F, _)
3520 ; true
3521 )
3522 ; C=[_, _|E],
3523 setarg(2, C, E),
3524 ( E=[F|_]
3525 -> setarg(5, F, C)
3526 ; true
3527 )
3528 )
3529 ),
3530 'detach_known/1_1_$special_ground/1___1'(G, A)
3531 ),
3532 cleanup___0__6__0__7(H)
3533 ; cleanup___0__6__0__7(H)
3534 ).
3535cleanup___0__6 :-
3536 cleanup___0__7.
3537cleanup___0__7 :-
3538 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
3539 A), !,
3540 cleanup___0__7__0__8(A).
3541cleanup___0__7__0__8([]) :-
3542 cleanup___0__8.
3543cleanup___0__7__0__8([A|H]) :-
3544 ( A=suspension(_, active, _, _, _, _)
3545 -> ( A=suspension(_, _, _, _, _, B),
3546 setarg(2, A, removed),
3547 term_variables(B, G),
3548 ( arg(5, A, C),
3549 ( var(C)
3550 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
3551 D),
3552 D=[_|E],
3553 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
3554 E),
3555 ( E=[F|_]
3556 -> setarg(5, F, _)
3557 ; true
3558 )
3559 ; C=[_, _|E],
3560 setarg(2, C, E),
3561 ( E=[F|_]
3562 -> setarg(5, F, C)
3563 ; true
3564 )
3565 )
3566 ),
3567 'detach_known/1_1_$special_integer/1___1'(G, A)
3568 ),
3569 cleanup___0__7__0__8(H)
3570 ; cleanup___0__7__0__8(H)
3571 ).
3572cleanup___0__7 :-
3573 cleanup___0__8.
3574cleanup___0__8 :-
3575 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
3576 A), !,
3577 cleanup___0__8__0__9(A).
3578cleanup___0__8__0__9([]) :-
3579 cleanup___0__9.
3580cleanup___0__8__0__9([A|H]) :-
3581 ( A=suspension(_, active, _, _, _, _)
3582 -> ( A=suspension(_, _, _, _, _, B),
3583 setarg(2, A, removed),
3584 term_variables(B, G),
3585 ( arg(5, A, C),
3586 ( var(C)
3587 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
3588 D),
3589 D=[_|E],
3590 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
3591 E),
3592 ( E=[F|_]
3593 -> setarg(5, F, _)
3594 ; true
3595 )
3596 ; C=[_, _|E],
3597 setarg(2, C, E),
3598 ( E=[F|_]
3599 -> setarg(5, F, C)
3600 ; true
3601 )
3602 )
3603 ),
3604 'detach_known/1_1_$special_float/1___1'(G, A)
3605 ),
3606 cleanup___0__8__0__9(H)
3607 ; cleanup___0__8__0__9(H)
3608 ).
3609cleanup___0__8 :-
3610 cleanup___0__9.
3611cleanup___0__9 :-
3612 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
3613 A), !,
3614 cleanup___0__9__0__10(A).
3615cleanup___0__9__0__10([]) :-
3616 cleanup___0__10.
3617cleanup___0__9__0__10([A|H]) :-
3618 ( A=suspension(_, active, _, _, _, _)
3619 -> ( A=suspension(_, _, _, _, _, B),
3620 setarg(2, A, removed),
3621 term_variables(B, G),
3622 ( arg(5, A, C),
3623 ( var(C)
3624 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
3625 D),
3626 D=[_|E],
3627 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
3628 E),
3629 ( E=[F|_]
3630 -> setarg(5, F, _)
3631 ; true
3632 )
3633 ; C=[_, _|E],
3634 setarg(2, C, E),
3635 ( E=[F|_]
3636 -> setarg(5, F, C)
3637 ; true
3638 )
3639 )
3640 ),
3641 'detach_known/1_1_$special_number/1___1'(G, A)
3642 ),
3643 cleanup___0__9__0__10(H)
3644 ; cleanup___0__9__0__10(H)
3645 ).
3646cleanup___0__9 :-
3647 cleanup___0__10.
3648cleanup___0__10 :-
3649 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
3650 A), !,
3651 cleanup___0__10__0__11(A).
3652cleanup___0__10__0__11([]) :-
3653 cleanup___0__11.
3654cleanup___0__10__0__11([A|I]) :-
3655 ( A=suspension(_, active, _, _, _, _, _)
3656 -> ( A=suspension(_, _, _, _, _, B, C),
3657 setarg(2, A, removed),
3658 term_variables(term(B, C), H),
3659 ( arg(5, A, D),
3660 ( var(D)
3661 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
3662 E),
3663 E=[_|F],
3664 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
3665 F),
3666 ( F=[G|_]
3667 -> setarg(5, G, _)
3668 ; true
3669 )
3670 ; D=[_, _|F],
3671 setarg(2, D, F),
3672 ( F=[G|_]
3673 -> setarg(5, G, D)
3674 ; true
3675 )
3676 )
3677 ),
3678 'detach_known/1_1_$special_=\\=/2___2'(H, A)
3679 ),
3680 cleanup___0__10__0__11(I)
3681 ; cleanup___0__10__0__11(I)
3682 ).
3683cleanup___0__10 :-
3684 cleanup___0__11.
3685cleanup___0__11 :-
3686 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
3687 A), !,
3688 cleanup___0__11__0__12(A).
3689cleanup___0__11__0__12([]) :-
3690 cleanup___0__12.
3691cleanup___0__11__0__12([A|H]) :-
3692 ( A=suspension(_, active, _, _, _)
3693 -> ( A=suspension(_, _, _, _, B),
3694 setarg(2, A, removed),
3695 term_variables(B, G),
3696 ( arg(4, A, C),
3697 ( var(C)
3698 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
3699 D),
3700 D=[_|E],
3701 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
3702 E),
3703 ( E=[F|_]
3704 -> setarg(4, F, _)
3705 ; true
3706 )
3707 ; C=[_, _|E],
3708 setarg(2, C, E),
3709 ( E=[F|_]
3710 -> setarg(4, F, C)
3711 ; true
3712 )
3713 )
3714 ),
3715 'detach_known/1_1_$special_\\+/1___1'(G, A)
3716 ),
3717 cleanup___0__11__0__12(H)
3718 ; cleanup___0__11__0__12(H)
3719 ).
3720cleanup___0__11 :-
3721 cleanup___0__12.
3722cleanup___0__12 :-
3723 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
3724 A), !,
3725 cleanup___0__12__0__13(A).
3726cleanup___0__12__0__13([]) :-
3727 cleanup___0__13.
3728cleanup___0__12__0__13([A|J]) :-
3729 ( A=suspension(_, active, _, _, _, _, _)
3730 -> ( A=suspension(_, _, _, _, B, C, D),
3731 setarg(2, A, removed),
3732 term_variables(term(B, C, D), I),
3733 ( arg(4, A, E),
3734 ( var(E)
3735 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
3736 F),
3737 F=[_|G],
3738 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
3739 G),
3740 ( G=[H|_]
3741 -> setarg(4, H, _)
3742 ; true
3743 )
3744 ; E=[_, _|G],
3745 setarg(2, E, G),
3746 ( G=[H|_]
3747 -> setarg(4, H, E)
3748 ; true
3749 )
3750 )
3751 ),
3752 'detach_known/1_1_$special_functor/3___3'(I, A)
3753 ),
3754 cleanup___0__12__0__13(J)
3755 ; cleanup___0__12__0__13(J)
3756 ).
3757cleanup___0__12 :-
3758 cleanup___0__13.
3759cleanup___0__13 :-
3760 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
3761 A), !,
3762 cleanup___0__13__0__14(A).
3763cleanup___0__13__0__14([]) :-
3764 cleanup___0__14.
3765cleanup___0__13__0__14([A|I]) :-
3766 ( A=suspension(_, active, _, _, _, _, _)
3767 -> ( A=suspension(_, _, _, _, _, B, C),
3768 setarg(2, A, removed),
3769 term_variables(term(B, C), H),
3770 ( arg(5, A, D),
3771 ( var(D)
3772 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
3773 E),
3774 E=[_|F],
3775 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
3776 F),
3777 ( F=[G|_]
3778 -> setarg(5, G, _)
3779 ; true
3780 )
3781 ; D=[_, _|F],
3782 setarg(2, D, F),
3783 ( F=[G|_]
3784 -> setarg(5, G, D)
3785 ; true
3786 )
3787 )
3788 ),
3789 'detach_known/1_1_$special_\\=/2___2'(H, A)
3790 ),
3791 cleanup___0__13__0__14(I)
3792 ; cleanup___0__13__0__14(I)
3793 ).
3794cleanup___0__13 :-
3795 cleanup___0__14.
3796cleanup___0__14 :-
3797 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
3798 A), !,
3799 cleanup___0__14__0__15(A).
3800cleanup___0__14__0__15([]) :-
3801 cleanup___0__15.
3802cleanup___0__14__0__15([A|I]) :-
3803 ( A=suspension(_, active, _, _, _, _)
3804 -> ( A=suspension(_, _, _, _, B, C),
3805 setarg(2, A, removed),
3806 term_variables(term(B, C), H),
3807 ( arg(4, A, D),
3808 ( var(D)
3809 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
3810 E),
3811 E=[_|F],
3812 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
3813 F),
3814 ( F=[G|_]
3815 -> setarg(4, G, _)
3816 ; true
3817 )
3818 ; D=[_, _|F],
3819 setarg(2, D, F),
3820 ( F=[G|_]
3821 -> setarg(4, G, D)
3822 ; true
3823 )
3824 )
3825 ),
3826 'detach_known/1_1_$special_=/2___2'(H, A)
3827 ),
3828 cleanup___0__14__0__15(I)
3829 ; cleanup___0__14__0__15(I)
3830 ).
3831cleanup___0__14 :-
3832 cleanup___0__15.
3833cleanup___0__15 :-
3834 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
3835 A), !,
3836 cleanup___0__15__0__17(A).
3837cleanup___0__15__0__17([]) :-
3838 cleanup___0__16.
3839cleanup___0__15__0__17([A|I]) :-
3840 ( A=suspension(_, active, _, _, _, _, _)
3841 -> ( A=suspension(_, _, _, _, _, B, C),
3842 setarg(2, A, removed),
3843 term_variables(term(B, C), H),
3844 ( arg(5, A, D),
3845 ( var(D)
3846 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
3847 E),
3848 E=[_|F],
3849 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
3850 F),
3851 ( F=[G|_]
3852 -> setarg(5, G, _)
3853 ; true
3854 )
3855 ; D=[_, _|F],
3856 setarg(2, D, F),
3857 ( F=[G|_]
3858 -> setarg(5, G, D)
3859 ; true
3860 )
3861 )
3862 ),
3863 'detach_known/1_1_$special_\\==/2___2'(H, A)
3864 ),
3865 cleanup___0__15__0__17(I)
3866 ; cleanup___0__15__0__17(I)
3867 ).
3868cleanup___0__15 :-
3869 cleanup___0__16.
3870cleanup___0__16 :-
3871 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
3872 A), !,
3873 cleanup___0__16__0__18(A).
3874cleanup___0__16__0__18([]) :-
3875 cleanup___0__17.
3876cleanup___0__16__0__18([A|I]) :-
3877 ( A=suspension(_, active, _, _, _, _, _)
3878 -> ( A=suspension(_, _, _, _, _, B, C),
3879 setarg(2, A, removed),
3880 term_variables(term(B, C), H),
3881 ( arg(5, A, D),
3882 ( var(D)
3883 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
3884 E),
3885 E=[_|F],
3886 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
3887 F),
3888 ( F=[G|_]
3889 -> setarg(5, G, _)
3890 ; true
3891 )
3892 ; D=[_, _|F],
3893 setarg(2, D, F),
3894 ( F=[G|_]
3895 -> setarg(5, G, D)
3896 ; true
3897 )
3898 )
3899 ),
3900 'detach_known/1_1_$special_==/2___2'(H, A)
3901 ),
3902 cleanup___0__16__0__18(I)
3903 ; cleanup___0__16__0__18(I)
3904 ).
3905cleanup___0__16 :-
3906 cleanup___0__17.
3907cleanup___0__17 :-
3908 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
3909 A), !,
3910 cleanup___0__17__0__23(A).
3911cleanup___0__17__0__23([]) :-
3912 cleanup___0__18.
3913cleanup___0__17__0__23([A|I]) :-
3914 ( A=suspension(_, active, _, _, _, _, _)
3915 -> ( A=suspension(_, _, _, _, _, B, C),
3916 setarg(2, A, removed),
3917 term_variables(term(B, C), H),
3918 ( arg(5, A, D),
3919 ( var(D)
3920 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
3921 E),
3922 E=[_|F],
3923 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
3924 F),
3925 ( F=[G|_]
3926 -> setarg(5, G, _)
3927 ; true
3928 )
3929 ; D=[_, _|F],
3930 setarg(2, D, F),
3931 ( F=[G|_]
3932 -> setarg(5, G, D)
3933 ; true
3934 )
3935 )
3936 ),
3937 'detach_known/1_1_$special_=</2___2'(H, A)
3938 ),
3939 cleanup___0__17__0__23(I)
3940 ; cleanup___0__17__0__23(I)
3941 ).
3942cleanup___0__17 :-
3943 cleanup___0__18.
3944cleanup___0__18 :-
3945 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
3946 A), !,
3947 cleanup___0__18__0__24(A).
3948cleanup___0__18__0__24([]) :-
3949 cleanup___0__19.
3950cleanup___0__18__0__24([A|I]) :-
3951 ( A=suspension(_, active, _, _, _, _, _)
3952 -> ( A=suspension(_, _, _, _, _, B, C),
3953 setarg(2, A, removed),
3954 term_variables(term(B, C), H),
3955 ( arg(5, A, D),
3956 ( var(D)
3957 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
3958 E),
3959 E=[_|F],
3960 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
3961 F),
3962 ( F=[G|_]
3963 -> setarg(5, G, _)
3964 ; true
3965 )
3966 ; D=[_, _|F],
3967 setarg(2, D, F),
3968 ( F=[G|_]
3969 -> setarg(5, G, D)
3970 ; true
3971 )
3972 )
3973 ),
3974 'detach_known/1_1_$special_=:=/2___2'(H, A)
3975 ),
3976 cleanup___0__18__0__24(I)
3977 ; cleanup___0__18__0__24(I)
3978 ).
3979cleanup___0__18 :-
3980 cleanup___0__19.
3981cleanup___0__19 :-
3982 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
3983 A), !,
3984 cleanup___0__19__0__25(A).
3985cleanup___0__19__0__25([]) :-
3986 cleanup___0__20.
3987cleanup___0__19__0__25([A|F]) :-
3988 ( A=suspension(_, active, _)
3989 -> ( setarg(2, A, removed),
3990 arg(3, A, B),
3991 ( var(B)
3992 -> nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
3993 C),
3994 C=[_|D],
3995 b_setval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
3996 D),
3997 ( D=[E|_]
3998 -> setarg(3, E, _)
3999 ; true
4000 )
4001 ; B=[_, _|D],
4002 setarg(2, B, D),
4003 ( D=[E|_]
4004 -> setarg(3, E, B)
4005 ; true
4006 )
4007 )
4008 ),
4009 cleanup___0__19__0__25(F)
4010 ; cleanup___0__19__0__25(F)
4011 ).
4012cleanup___0__19 :-
4013 cleanup___0__20.
4014cleanup___0__20 :-
4015 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
4016 A), !,
4017 cleanup___0__20__0__26(A).
4018cleanup___0__20__0__26([]) :-
4019 cleanup___0__21.
4020cleanup___0__20__0__26([A|H]) :-
4021 ( A=suspension(_, active, _, _, _)
4022 -> ( A=suspension(_, _, _, _, B),
4023 setarg(2, A, removed),
4024 term_variables(B, G),
4025 ( arg(4, A, C),
4026 ( var(C)
4027 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
4028 D),
4029 D=[_|E],
4030 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
4031 E),
4032 ( E=[F|_]
4033 -> setarg(4, F, _)
4034 ; true
4035 )
4036 ; C=[_, _|E],
4037 setarg(2, C, E),
4038 ( E=[F|_]
4039 -> setarg(4, F, C)
4040 ; true
4041 )
4042 )
4043 ),
4044 'detach_known/1_1_$default___1'(G, A)
4045 ),
4046 cleanup___0__20__0__26(H)
4047 ; cleanup___0__20__0__26(H)
4048 ).
4049cleanup___0__20 :-
4050 cleanup___0__21.
4051cleanup___0__21 :-
4052 nb_getval('$chr_store_global_list_guard_entailment____variables___1',
4053 A), !,
4054 cleanup___0__21__0__27(A).
4055cleanup___0__21__0__27([]) :-
4056 cleanup___0__22.
4057cleanup___0__21__0__27([A|H]) :-
4058 ( A=suspension(_, active, _, _)
4059 -> ( A=suspension(_, _, _, B),
4060 setarg(2, A, removed),
4061 term_variables(B, G),
4062 ( arg(3, A, C),
4063 ( var(C)
4064 -> nb_getval('$chr_store_global_list_guard_entailment____variables___1',
4065 D),
4066 D=[_|E],
4067 b_setval('$chr_store_global_list_guard_entailment____variables___1',
4068 E),
4069 ( E=[F|_]
4070 -> setarg(3, F, _)
4071 ; true
4072 )
4073 ; C=[_, _|E],
4074 setarg(2, C, E),
4075 ( E=[F|_]
4076 -> setarg(3, F, C)
4077 ; true
4078 )
4079 )
4080 ),
4081 detach_variables___1(G, A)
4082 ),
4083 cleanup___0__21__0__27(H)
4084 ; cleanup___0__21__0__27(H)
4085 ).
4086cleanup___0__21 :-
4087 cleanup___0__22.
4088cleanup___0__22.
4089variables(A) :-
4090 variables___1__0(A, _).
4091variables___1__0(V, N) :-
4092 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
4093 A),
4094 member(B, A),
4095 B=suspension(_, active, _, _, E, D, C),
4096 ground(C),
4097 ground(D),
4098 var(E), !,
4099 B=suspension(_, _, _, _, F, G, H),
4100 setarg(2, B, removed),
4101 term_variables(term(F, G, H), M),
4102 arg(4, B, I),
4103 ( var(I)
4104 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
4105 J),
4106 J=[_|K],
4107 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
4108 K),
4109 ( K=[L|_]
4110 -> setarg(4, L, _)
4111 ; true
4112 )
4113 ; I=[_, _|K],
4114 setarg(2, I, K),
4115 ( K=[L|_]
4116 -> setarg(4, L, I)
4117 ; true
4118 )
4119 ),
4120 'detach_known/1_1_$special_functor/3___3'(M, B),
4121 ( var(N)
4122 -> true
4123 ; N=suspension(_, _, _, O),
4124 setarg(2, N, removed),
4125 term_variables(O, T),
4126 ( arg(3, N, P),
4127 ( var(P)
4128 -> nb_getval('$chr_store_global_list_guard_entailment____variables___1',
4129 Q),
4130 Q=[_|R],
4131 b_setval('$chr_store_global_list_guard_entailment____variables___1',
4132 R),
4133 ( R=[S|_]
4134 -> setarg(3, S, _)
4135 ; true
4136 )
4137 ; P=[_, _|R],
4138 setarg(2, P, R),
4139 ( R=[S|_]
4140 -> setarg(3, S, P)
4141 ; true
4142 )
4143 )
4144 ),
4145 detach_variables___1(T, N)
4146 ),
4147 functor(E, D, C),
4148 E=..[_|U],
4149 append(U, V, W),
4150 variables(W).
4151variables___1__0(B, A) :-
4152 ( var(A)
4153 -> ( A=suspension(D, active, _, B),
4154 term_variables(B, C),
4155 'chr none_locked'(C),
4156 'chr gen_id'(D)
4157 ),
4158 ( nb_getval('$chr_store_global_list_guard_entailment____variables___1',
4159 E),
4160 F=[A|E],
4161 b_setval('$chr_store_global_list_guard_entailment____variables___1',
4162 F),
4163 ( E=[G|_]
4164 -> setarg(3, G, F)
4165 ; true
4166 )
4167 ),
4168 attach_variables___1(C, A)
4169 ; setarg(2, A, active)
4170 ).
4171'test/1_1_$default'(_) :-
4172 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4173 A),
4174 member(B, A),
4175 B=suspension(_, active, _), !.
4176'test/1_1_$default'(A) :-
4177 nonvar(A),
4178 ( ( ( ( ( A=nonvar(B),
4179 ( 'chr newvia_1'(B, C)
4180 -> get_attr(C, guard_entailment, D),
4181 D=v(_, _, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
4182 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
4183 E)
4184 ),
4185 member(F, E),
4186 F=suspension(_, active, _, _, G),
4187 G==B, !
4188 ; A=var(H),
4189 ( 'chr newvia_1'(H, I)
4190 -> get_attr(I, guard_entailment, J),
4191 J=v(_, _, _, _, _, K, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
4192 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
4193 K)
4194 ),
4195 member(L, K),
4196 L=suspension(_, active, _, _, M),
4197 M==H, !
4198 )
4199 ; A=atom(N),
4200 ( 'chr newvia_1'(N, O)
4201 -> get_attr(O, guard_entailment, P),
4202 P=v(_, _, _, _, _, _, Q, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
4203 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
4204 Q)
4205 ),
4206 member(R, Q),
4207 R=suspension(_, active, _, _, _, S),
4208 S==N, !
4209 )
4210 ; A=atomic(T),
4211 ( 'chr newvia_1'(T, U)
4212 -> get_attr(U, guard_entailment, V),
4213 V=v(_, _, _, _, _, _, _, W, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
4214 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
4215 W)
4216 ),
4217 member(X, W),
4218 X=suspension(_, active, _, _, _, Y),
4219 Y==T, !
4220 )
4221 ; A=compound(Z),
4222 ( 'chr newvia_1'(Z, A1)
4223 -> get_attr(A1, guard_entailment, B1),
4224 B1=v(_, _, _, _, _, _, _, _, C1, _, _, _, _, _, _, _, _, _, _, _, _, _)
4225 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
4226 C1)
4227 ),
4228 member(D1, C1),
4229 D1=suspension(_, active, _, _, _, E1),
4230 E1==Z, !
4231 )
4232 ; A=(F1\=G1),
4233 ( 'chr newvia_2'(F1, G1, H1)
4234 -> get_attr(H1, guard_entailment, I1),
4235 I1=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, J1, _, _, _, _, _)
4236 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
4237 J1)
4238 ),
4239 member(K1, J1),
4240 K1=suspension(_, active, _, _, _, L1, M1),
4241 L1==F1,
4242 M1==G1, !
4243 ).
4244'test/1_1_$default'(A) :-
4245 ( 'chr newvia_1'(A, B)
4246 -> get_attr(B, guard_entailment, C),
4247 C=v(_, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
4248 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
4249 D)
4250 ),
4251 member(E, D),
4252 E=suspension(_, active, _, _, F),
4253 F==A, !.
4254'test/1_1_$default'(K) :-
4255 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4256 A),
4257 member(B, A),
4258 B=suspension(_, active, _, _, J, M), !,
4259 B=suspension(_, _, _, _, C, D),
4260 setarg(2, B, removed),
4261 term_variables(term(C, D), I),
4262 arg(4, B, E),
4263 ( var(E)
4264 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4265 F),
4266 F=[_|G],
4267 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4268 G),
4269 ( G=[H|_]
4270 -> setarg(4, H, _)
4271 ; true
4272 )
4273 ; E=[_, _|G],
4274 setarg(2, E, G),
4275 ( G=[H|_]
4276 -> setarg(4, H, E)
4277 ; true
4278 )
4279 ),
4280 'detach_known/1_1_$special_;/2___2'(I, B),
4281 \+ try(J, K), !,
4282 negate_b(J, L),
4283 known(L),
4284 \+ try(M, K).
4285'test/1_1_$default'(_) :-
4286 fail.
4287'test/1_1_$special_,/2'(_, _) :-
4288 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4289 A),
4290 member(B, A),
4291 B=suspension(_, active, _), !.
4292'test/1_1_$special_,/2'(A, B) :-
4293 test(A),
4294 known(A),
4295 test(B).
4296'test/1_1_$special_\\+/1'(_) :-
4297 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4298 A),
4299 member(B, A),
4300 B=suspension(_, active, _), !.
4301'test/1_1_$special_\\+/1'(A) :-
4302 ( 'chr newvia_1'(A, B)
4303 -> get_attr(B, guard_entailment, C),
4304 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
4305 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
4306 D)
4307 ),
4308 member(E, D),
4309 E=suspension(_, active, _, _, F),
4310 F==A, !.
4311'test/1_1_$special_\\+/1'(A) :-
4312 nonvar(A),
4313 ( ( ( ( ( ( ( A=functor(B, C, D),
4314 nonvar(B),
4315 ( 'chr lock'(B),
4316 'chr lock'(C),
4317 'chr lock'(D),
4318 functor(B, C, D),
4319 'chr unlock'(B),
4320 'chr unlock'(C),
4321 'chr unlock'(D), !,
4322 fail
4323 ; !
4324 )
4325 ; A=ground(E),
4326 ground(E), !,
4327 fail
4328 )
4329 ; A=number(F),
4330 number(F), !,
4331 fail
4332 )
4333 ; A=float(G),
4334 float(G), !,
4335 fail
4336 )
4337 ; A=integer(H),
4338 integer(H), !,
4339 fail
4340 )
4341 ; A=number(I),
4342 nonvar(I), !
4343 )
4344 ; A=float(J),
4345 nonvar(J), !
4346 )
4347 ; A=integer(K),
4348 nonvar(K), !
4349 ).
4350'test/1_1_$special_\\+/1'(K) :-
4351 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4352 A),
4353 member(B, A),
4354 B=suspension(_, active, _, _, J, M), !,
4355 B=suspension(_, _, _, _, C, D),
4356 setarg(2, B, removed),
4357 term_variables(term(C, D), I),
4358 arg(4, B, E),
4359 ( var(E)
4360 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4361 F),
4362 F=[_|G],
4363 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4364 G),
4365 ( G=[H|_]
4366 -> setarg(4, H, _)
4367 ; true
4368 )
4369 ; E=[_, _|G],
4370 setarg(2, E, G),
4371 ( G=[H|_]
4372 -> setarg(4, H, E)
4373 ; true
4374 )
4375 ),
4376 'detach_known/1_1_$special_;/2___2'(I, B),
4377 \+ try(J, \+K), !,
4378 negate_b(J, L),
4379 known(L),
4380 \+ try(M, \+K).
4381'test/1_1_$special_\\+/1'(_) :-
4382 fail.
4383'test/1_1_$special_integer/1'(_) :-
4384 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4385 A),
4386 member(B, A),
4387 B=suspension(_, active, _), !.
4388'test/1_1_$special_integer/1'(A) :-
4389 ( 'chr newvia_1'(A, B)
4390 -> get_attr(B, guard_entailment, C),
4391 C=v(_, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _)
4392 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
4393 D)
4394 ),
4395 member(E, D),
4396 E=suspension(_, active, _, _, _, F),
4397 F==A, !.
4398'test/1_1_$special_integer/1'(A) :-
4399 integer(A), !.
4400'test/1_1_$special_integer/1'(A) :-
4401 nonvar(A), !,
4402 fail.
4403'test/1_1_$special_integer/1'(K) :-
4404 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4405 A),
4406 member(B, A),
4407 B=suspension(_, active, _, _, J, M), !,
4408 B=suspension(_, _, _, _, C, D),
4409 setarg(2, B, removed),
4410 term_variables(term(C, D), I),
4411 arg(4, B, E),
4412 ( var(E)
4413 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4414 F),
4415 F=[_|G],
4416 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4417 G),
4418 ( G=[H|_]
4419 -> setarg(4, H, _)
4420 ; true
4421 )
4422 ; E=[_, _|G],
4423 setarg(2, E, G),
4424 ( G=[H|_]
4425 -> setarg(4, H, E)
4426 ; true
4427 )
4428 ),
4429 'detach_known/1_1_$special_;/2___2'(I, B),
4430 \+ try(J, integer(K)), !,
4431 negate_b(J, L),
4432 known(L),
4433 \+ try(M, integer(K)).
4434'test/1_1_$special_integer/1'(_) :-
4435 fail.
4436'test/1_1_$special_float/1'(_) :-
4437 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4438 A),
4439 member(B, A),
4440 B=suspension(_, active, _), !.
4441'test/1_1_$special_float/1'(A) :-
4442 ( 'chr newvia_1'(A, B)
4443 -> get_attr(B, guard_entailment, C),
4444 C=v(_, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _)
4445 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
4446 D)
4447 ),
4448 member(E, D),
4449 E=suspension(_, active, _, _, _, F),
4450 F==A, !.
4451'test/1_1_$special_float/1'(A) :-
4452 float(A), !.
4453'test/1_1_$special_float/1'(A) :-
4454 nonvar(A), !,
4455 fail.
4456'test/1_1_$special_float/1'(K) :-
4457 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4458 A),
4459 member(B, A),
4460 B=suspension(_, active, _, _, J, M), !,
4461 B=suspension(_, _, _, _, C, D),
4462 setarg(2, B, removed),
4463 term_variables(term(C, D), I),
4464 arg(4, B, E),
4465 ( var(E)
4466 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4467 F),
4468 F=[_|G],
4469 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4470 G),
4471 ( G=[H|_]
4472 -> setarg(4, H, _)
4473 ; true
4474 )
4475 ; E=[_, _|G],
4476 setarg(2, E, G),
4477 ( G=[H|_]
4478 -> setarg(4, H, E)
4479 ; true
4480 )
4481 ),
4482 'detach_known/1_1_$special_;/2___2'(I, B),
4483 \+ try(J, float(K)), !,
4484 negate_b(J, L),
4485 known(L),
4486 \+ try(M, float(K)).
4487'test/1_1_$special_float/1'(_) :-
4488 fail.
4489'test/1_1_$special_number/1'(_) :-
4490 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4491 A),
4492 member(B, A),
4493 B=suspension(_, active, _), !.
4494'test/1_1_$special_number/1'(A) :-
4495 ( 'chr newvia_1'(A, B)
4496 -> get_attr(B, guard_entailment, C),
4497 C=v(_, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _)
4498 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
4499 D)
4500 ),
4501 member(E, D),
4502 E=suspension(_, active, _, _, _, F),
4503 F==A, !.
4504'test/1_1_$special_number/1'(A) :-
4505 number(A), !.
4506'test/1_1_$special_number/1'(A) :-
4507 nonvar(A), !,
4508 fail.
4509'test/1_1_$special_number/1'(K) :-
4510 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4511 A),
4512 member(B, A),
4513 B=suspension(_, active, _, _, J, M), !,
4514 B=suspension(_, _, _, _, C, D),
4515 setarg(2, B, removed),
4516 term_variables(term(C, D), I),
4517 arg(4, B, E),
4518 ( var(E)
4519 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4520 F),
4521 F=[_|G],
4522 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4523 G),
4524 ( G=[H|_]
4525 -> setarg(4, H, _)
4526 ; true
4527 )
4528 ; E=[_, _|G],
4529 setarg(2, E, G),
4530 ( G=[H|_]
4531 -> setarg(4, H, E)
4532 ; true
4533 )
4534 ),
4535 'detach_known/1_1_$special_;/2___2'(I, B),
4536 \+ try(J, number(K)), !,
4537 negate_b(J, L),
4538 known(L),
4539 \+ try(M, number(K)).
4540'test/1_1_$special_number/1'(_) :-
4541 fail.
4542'test/1_1_$special_ground/1'(_) :-
4543 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4544 A),
4545 member(B, A),
4546 B=suspension(_, active, _), !.
4547'test/1_1_$special_ground/1'(A) :-
4548 ( 'chr newvia_1'(A, B)
4549 -> get_attr(B, guard_entailment, C),
4550 C=v(_, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _)
4551 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
4552 D)
4553 ),
4554 member(E, D),
4555 E=suspension(_, active, _, _, _, F),
4556 F==A, !.
4557'test/1_1_$special_ground/1'(A) :-
4558 ground(A), !.
4559'test/1_1_$special_ground/1'(K) :-
4560 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4561 A),
4562 member(B, A),
4563 B=suspension(_, active, _, _, J, M), !,
4564 B=suspension(_, _, _, _, C, D),
4565 setarg(2, B, removed),
4566 term_variables(term(C, D), I),
4567 arg(4, B, E),
4568 ( var(E)
4569 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4570 F),
4571 F=[_|G],
4572 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4573 G),
4574 ( G=[H|_]
4575 -> setarg(4, H, _)
4576 ; true
4577 )
4578 ; E=[_, _|G],
4579 setarg(2, E, G),
4580 ( G=[H|_]
4581 -> setarg(4, H, E)
4582 ; true
4583 )
4584 ),
4585 'detach_known/1_1_$special_;/2___2'(I, B),
4586 \+ try(J, ground(K)), !,
4587 negate_b(J, L),
4588 known(L),
4589 \+ try(M, ground(K)).
4590'test/1_1_$special_ground/1'(_) :-
4591 fail.
4592'test/1_1_$special_=:=/2'(_, _) :-
4593 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4594 A),
4595 member(B, A),
4596 B=suspension(_, active, _), !.
4597'test/1_1_$special_=:=/2'(A, B) :-
4598 ( 'chr newvia_2'(A, B, C)
4599 -> get_attr(C, guard_entailment, D),
4600 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E)
4601 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
4602 E)
4603 ),
4604 member(F, E),
4605 F=suspension(_, active, _, _, _, G, H),
4606 G==A,
4607 H==B, !.
4608'test/1_1_$special_=:=/2'(A, B) :-
4609 A==B, !.
4610'test/1_1_$special_=:=/2'(B, A) :-
4611 ( ground(A),
4612 ground(B)
4613 ),
4614 ( B=:=A, !
4615 ; !,
4616 fail
4617 ).
4618'test/1_1_$special_=:=/2'(K, L) :-
4619 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4620 A),
4621 member(B, A),
4622 B=suspension(_, active, _, _, J, N), !,
4623 B=suspension(_, _, _, _, C, D),
4624 setarg(2, B, removed),
4625 term_variables(term(C, D), I),
4626 arg(4, B, E),
4627 ( var(E)
4628 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4629 F),
4630 F=[_|G],
4631 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4632 G),
4633 ( G=[H|_]
4634 -> setarg(4, H, _)
4635 ; true
4636 )
4637 ; E=[_, _|G],
4638 setarg(2, E, G),
4639 ( G=[H|_]
4640 -> setarg(4, H, E)
4641 ; true
4642 )
4643 ),
4644 'detach_known/1_1_$special_;/2___2'(I, B),
4645 \+ try(J, K=:=L), !,
4646 negate_b(J, M),
4647 known(M),
4648 \+ try(N, K=:=L).
4649'test/1_1_$special_=:=/2'(_, _) :-
4650 fail.
4651'test/1_1_$special_==/2'(_, _) :-
4652 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4653 A),
4654 member(B, A),
4655 B=suspension(_, active, _), !.
4656'test/1_1_$special_==/2'(A, B) :-
4657 ( 'chr newvia_2'(A, B, C)
4658 -> get_attr(C, guard_entailment, D),
4659 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _)
4660 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
4661 E)
4662 ),
4663 member(F, E),
4664 F=suspension(_, active, _, _, _, G, H),
4665 G==A,
4666 H==B, !.
4667'test/1_1_$special_==/2'(A, B) :-
4668 A==B, !.
4669'test/1_1_$special_==/2'(K, L) :-
4670 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4671 A),
4672 member(B, A),
4673 B=suspension(_, active, _, _, J, N), !,
4674 B=suspension(_, _, _, _, C, D),
4675 setarg(2, B, removed),
4676 term_variables(term(C, D), I),
4677 arg(4, B, E),
4678 ( var(E)
4679 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4680 F),
4681 F=[_|G],
4682 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4683 G),
4684 ( G=[H|_]
4685 -> setarg(4, H, _)
4686 ; true
4687 )
4688 ; E=[_, _|G],
4689 setarg(2, E, G),
4690 ( G=[H|_]
4691 -> setarg(4, H, E)
4692 ; true
4693 )
4694 ),
4695 'detach_known/1_1_$special_;/2___2'(I, B),
4696 \+ try(J, K==L), !,
4697 negate_b(J, M),
4698 known(M),
4699 \+ try(N, K==L).
4700'test/1_1_$special_==/2'(_, _) :-
4701 fail.
4702'test/1_1_$special_true/0' :-
4703 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4704 A),
4705 member(B, A),
4706 B=suspension(_, active, _), !.
4707'test/1_1_$special_true/0'.
4708'test/1_1_$special_functor/3'(_, _, _) :-
4709 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4710 A),
4711 member(B, A),
4712 B=suspension(_, active, _), !.
4713'test/1_1_$special_functor/3'(A, B, C) :-
4714 ( 'chr newvia'([A, B, C], D)
4715 -> get_attr(D, guard_entailment, E),
4716 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _)
4717 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
4718 F)
4719 ),
4720 member(G, F),
4721 G=suspension(_, active, _, _, H, I, J),
4722 H==A,
4723 I==B,
4724 J==C, !.
4725'test/1_1_$special_functor/3'(C, B, A) :-
4726 ground(A),
4727 ground(B),
4728 var(C),
4729 nb_getval('$chr_store_global_list_guard_entailment____variables___1',
4730 D),
4731 member(E, D),
4732 E=suspension(_, active, _, F),
4733 'chr lock'(C),
4734 'chr lock'(F),
4735 \+ memberchk_eq(C, F),
4736 'chr unlock'(C),
4737 'chr unlock'(F), !,
4738 functor(C, B, A).
4739'test/1_1_$special_functor/3'(A, B, C) :-
4740 nonvar(A),
4741 ( 'chr lock'(A),
4742 'chr lock'(B),
4743 'chr lock'(C),
4744 functor(A, B, C),
4745 'chr unlock'(A),
4746 'chr unlock'(B),
4747 'chr unlock'(C), !
4748 ; !,
4749 fail
4750 ).
4751'test/1_1_$special_functor/3'(K, L, M) :-
4752 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4753 A),
4754 member(B, A),
4755 B=suspension(_, active, _, _, J, O), !,
4756 B=suspension(_, _, _, _, C, D),
4757 setarg(2, B, removed),
4758 term_variables(term(C, D), I),
4759 arg(4, B, E),
4760 ( var(E)
4761 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4762 F),
4763 F=[_|G],
4764 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4765 G),
4766 ( G=[H|_]
4767 -> setarg(4, H, _)
4768 ; true
4769 )
4770 ; E=[_, _|G],
4771 setarg(2, E, G),
4772 ( G=[H|_]
4773 -> setarg(4, H, E)
4774 ; true
4775 )
4776 ),
4777 'detach_known/1_1_$special_;/2___2'(I, B),
4778 \+ try(J, functor(K, L, M)), !,
4779 negate_b(J, N),
4780 known(N),
4781 \+ try(O, functor(K, L, M)).
4782'test/1_1_$special_functor/3'(_, _, _) :-
4783 fail.
4784'test/1_1_$special_=/2'(_, _) :-
4785 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4786 A),
4787 member(B, A),
4788 B=suspension(_, active, _), !.
4789'test/1_1_$special_=/2'(A, B) :-
4790 ( 'chr newvia_2'(A, B, C)
4791 -> get_attr(C, guard_entailment, D),
4792 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _)
4793 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
4794 E)
4795 ),
4796 member(F, E),
4797 F=suspension(_, active, _, _, G, H),
4798 G==A,
4799 H==B, !.
4800'test/1_1_$special_=/2'(B, A) :-
4801 ground(A),
4802 ground(B), !,
4803 B=A.
4804'test/1_1_$special_=/2'(K, L) :-
4805 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4806 A),
4807 member(B, A),
4808 B=suspension(_, active, _, _, J, N), !,
4809 B=suspension(_, _, _, _, C, D),
4810 setarg(2, B, removed),
4811 term_variables(term(C, D), I),
4812 arg(4, B, E),
4813 ( var(E)
4814 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4815 F),
4816 F=[_|G],
4817 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4818 G),
4819 ( G=[H|_]
4820 -> setarg(4, H, _)
4821 ; true
4822 )
4823 ; E=[_, _|G],
4824 setarg(2, E, G),
4825 ( G=[H|_]
4826 -> setarg(4, H, E)
4827 ; true
4828 )
4829 ),
4830 'detach_known/1_1_$special_;/2___2'(I, B),
4831 \+ try(J, K=L), !,
4832 negate_b(J, M),
4833 known(M),
4834 \+ try(N, K=L).
4835'test/1_1_$special_=/2'(_, _) :-
4836 fail.
4837'test/1_1_$special_;/2'(_, _) :-
4838 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4839 A),
4840 member(B, A),
4841 B=suspension(_, active, _), !.
4842'test/1_1_$special_;/2'(A, B) :-
4843 ( 'chr newvia_2'(A, B, C)
4844 -> get_attr(C, guard_entailment, D),
4845 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
4846 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4847 E)
4848 ),
4849 member(F, E),
4850 F=suspension(_, active, _, _, G, H),
4851 G==A,
4852 H==B, !.
4853'test/1_1_$special_;/2'(A, B) :-
4854 A==fail, !,
4855 test(B).
4856'test/1_1_$special_;/2'(B, A) :-
4857 A==fail, !,
4858 test(B).
4859'test/1_1_$special_;/2'(A, B) :-
4860 negate_b(A, D),
4861 negate_b(B, C),
4862 ( known(C),
4863 test(A)
4864 ; known(D),
4865 test(B)
4866 ).
4867'test/1_1_$special_is/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'test/1_1_$special_is/2'(A, B) :-
4873 'test/1_1_$special_=:=/2'(A, B).
4874'test/1_1_$special_</2'(_, _) :-
4875 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4876 A),
4877 member(B, A),
4878 B=suspension(_, active, _), !.
4879'test/1_1_$special_</2'(A, B) :-
4880 'test/1_1_$special_,/2'(A=<B, A=\=B).
4881'test/1_1_$special_>=/2'(_, _) :-
4882 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4883 A),
4884 member(B, A),
4885 B=suspension(_, active, _), !.
4886'test/1_1_$special_>=/2'(B, A) :-
4887 'test/1_1_$special_=</2'(A, B).
4888'test/1_1_$special_>/2'(_, _) :-
4889 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4890 A),
4891 member(B, A),
4892 B=suspension(_, active, _), !.
4893'test/1_1_$special_>/2'(B, A) :-
4894 'test/1_1_$special_</2'(A, B).
4895'test/1_1_$special_=\\=/2'(_, _) :-
4896 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4897 A),
4898 member(B, A),
4899 B=suspension(_, active, _), !.
4900'test/1_1_$special_=\\=/2'(A, B) :-
4901 ( 'chr newvia_2'(A, B, C)
4902 -> get_attr(C, guard_entailment, D),
4903 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _, _)
4904 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
4905 E)
4906 ),
4907 member(F, E),
4908 F=suspension(_, active, _, _, _, G, H),
4909 G==A,
4910 H==B, !.
4911'test/1_1_$special_=\\=/2'(B, A) :-
4912 ( number(A),
4913 ( 'chr newvia_1'(B, C)
4914 -> get_attr(C, guard_entailment, D),
4915 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _)
4916 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
4917 E)
4918 ),
4919 member(F, E),
4920 F=suspension(_, active, _, _, _, G, H)
4921 ),
4922 ( G==B,
4923 number(H),
4924 A>H, !
4925 ; H==B,
4926 number(G),
4927 A<G, !
4928 ).
4929'test/1_1_$special_=\\=/2'(B, A) :-
4930 ( ground(A),
4931 ground(B)
4932 ),
4933 ( B=\=A, !
4934 ; !,
4935 fail
4936 ).
4937'test/1_1_$special_=\\=/2'(K, L) :-
4938 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4939 A),
4940 member(B, A),
4941 B=suspension(_, active, _, _, J, N), !,
4942 B=suspension(_, _, _, _, C, D),
4943 setarg(2, B, removed),
4944 term_variables(term(C, D), I),
4945 arg(4, B, E),
4946 ( var(E)
4947 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4948 F),
4949 F=[_|G],
4950 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4951 G),
4952 ( G=[H|_]
4953 -> setarg(4, H, _)
4954 ; true
4955 )
4956 ; E=[_, _|G],
4957 setarg(2, E, G),
4958 ( G=[H|_]
4959 -> setarg(4, H, E)
4960 ; true
4961 )
4962 ),
4963 'detach_known/1_1_$special_;/2___2'(I, B),
4964 \+ try(J, K=\=L), !,
4965 negate_b(J, M),
4966 known(M),
4967 \+ try(N, K=\=L).
4968'test/1_1_$special_=\\=/2'(_, _) :-
4969 fail.
4970'test/1_1_$special_=</2'(_, _) :-
4971 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4972 A),
4973 member(B, A),
4974 B=suspension(_, active, _), !.
4975'test/1_1_$special_=</2'(A, B) :-
4976 ( 'chr newvia_2'(A, B, C)
4977 -> get_attr(C, guard_entailment, D),
4978 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _)
4979 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
4980 E)
4981 ),
4982 member(F, E),
4983 F=suspension(_, active, _, _, _, G, H),
4984 G==A,
4985 H==B, !.
4986'test/1_1_$special_=</2'(A, B) :-
4987 ( 'chr newvia_2'(A, B, C)
4988 -> get_attr(C, guard_entailment, D),
4989 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E)
4990 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
4991 E)
4992 ),
4993 member(F, E),
4994 F=suspension(_, active, _, _, _, G, H),
4995 G==A,
4996 H==B, !.
4997'test/1_1_$special_=</2'(B, A) :-
4998 number(A),
4999 ( 'chr newvia_1'(B, C)
5000 -> get_attr(C, guard_entailment, D),
5001 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E)
5002 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
5003 E)
5004 ),
5005 member(F, E),
5006 F=suspension(_, active, _, _, _, G, H),
5007 G==B,
5008 number(H),
5009 H=<A, !.
5010'test/1_1_$special_=</2'(A, B) :-
5011 number(A),
5012 ( 'chr newvia_1'(B, C)
5013 -> get_attr(C, guard_entailment, D),
5014 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E)
5015 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
5016 E)
5017 ),
5018 member(F, E),
5019 F=suspension(_, active, _, _, _, G, H),
5020 G==B,
5021 number(H),
5022 A=<H, !.
5023'test/1_1_$special_=</2'(B, A) :-
5024 number(A),
5025 ( 'chr newvia_1'(B, C)
5026 -> get_attr(C, guard_entailment, D),
5027 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _)
5028 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
5029 E)
5030 ),
5031 member(F, E),
5032 F=suspension(_, active, _, _, _, G, H),
5033 G==B,
5034 number(H),
5035 H=<A, !.
5036'test/1_1_$special_=</2'(A, B) :-
5037 number(A),
5038 ( 'chr newvia_1'(B, C)
5039 -> get_attr(C, guard_entailment, D),
5040 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _)
5041 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
5042 E)
5043 ),
5044 member(F, E),
5045 F=suspension(_, active, _, _, _, H, G),
5046 G==B,
5047 number(H),
5048 A=<H, !.
5049'test/1_1_$special_=</2'(A, B) :-
5050 A==B, !.
5051'test/1_1_$special_=</2'(B, A) :-
5052 ( ground(A),
5053 ground(B)
5054 ),
5055 ( B=<A, !
5056 ; !,
5057 fail
5058 ).
5059'test/1_1_$special_=</2'(K, L) :-
5060 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5061 A),
5062 member(B, A),
5063 B=suspension(_, active, _, _, J, N), !,
5064 B=suspension(_, _, _, _, C, D),
5065 setarg(2, B, removed),
5066 term_variables(term(C, D), I),
5067 arg(4, B, E),
5068 ( var(E)
5069 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5070 F),
5071 F=[_|G],
5072 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5073 G),
5074 ( G=[H|_]
5075 -> setarg(4, H, _)
5076 ; true
5077 )
5078 ; E=[_, _|G],
5079 setarg(2, E, G),
5080 ( G=[H|_]
5081 -> setarg(4, H, E)
5082 ; true
5083 )
5084 ),
5085 'detach_known/1_1_$special_;/2___2'(I, B),
5086 \+ try(J, K=<L), !,
5087 negate_b(J, M),
5088 known(M),
5089 \+ try(N, K=<L).
5090'test/1_1_$special_=</2'(_, _) :-
5091 fail.
5092'test/1_1_$special_\\==/2'(_, _) :-
5093 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
5094 A),
5095 member(B, A),
5096 B=suspension(_, active, _), !.
5097'test/1_1_$special_\\==/2'(A, B) :-
5098 ( 'chr newvia_2'(A, B, C)
5099 -> get_attr(C, guard_entailment, D),
5100 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _)
5101 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
5102 E)
5103 ),
5104 member(F, E),
5105 F=suspension(_, active, _, _, _, G, H),
5106 G==A,
5107 H==B, !.
5108'test/1_1_$special_\\==/2'(F, A) :-
5109 nonvar(A),
5110 'chr lock'(A),
5111 functor(A, C, B),
5112 'chr unlock'(A), !,
5113 A=..[_|E],
5114 length(D, B),
5115 G=..[C|D],
5116 add_args_nmatch(D, E, H),
5117 I=(\+functor(F, C, B);functor(F, C, B), F=G, H),
5118 test(I).
5119'test/1_1_$special_\\==/2'(A, B) :-
5120 nonvar(A), !,
5121 'test/1_1_$special_\\==/2'(B, A).
5122'test/1_1_$special_\\==/2'(K, L) :-
5123 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5124 A),
5125 member(B, A),
5126 B=suspension(_, active, _, _, J, N), !,
5127 B=suspension(_, _, _, _, C, D),
5128 setarg(2, B, removed),
5129 term_variables(term(C, D), I),
5130 arg(4, B, E),
5131 ( var(E)
5132 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5133 F),
5134 F=[_|G],
5135 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5136 G),
5137 ( G=[H|_]
5138 -> setarg(4, H, _)
5139 ; true
5140 )
5141 ; E=[_, _|G],
5142 setarg(2, E, G),
5143 ( G=[H|_]
5144 -> setarg(4, H, E)
5145 ; true
5146 )
5147 ),
5148 'detach_known/1_1_$special_;/2___2'(I, B),
5149 \+ try(J, K\==L), !,
5150 negate_b(J, M),
5151 known(M),
5152 \+ try(N, K\==L).
5153'test/1_1_$special_\\==/2'(_, _) :-
5154 fail.
5155'known/1_1_$default'(A) :-
5156 'known/1_1_$default___1__0'(A, _).
5157'known/1_1_$default___1__0'(A, G) :-
5158 ( 'chr newvia_1'(A, B)
5159 -> get_attr(B, guard_entailment, C),
5160 C=v(_, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5161 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5162 D)
5163 ),
5164 member(E, D),
5165 E=suspension(_, active, _, _, F),
5166 F==A, !,
5167 ( var(G)
5168 -> true
5169 ; G=suspension(_, H, _, _, I),
5170 setarg(2, G, removed),
5171 ( H==not_stored_yet
5172 -> J=[]
5173 ; term_variables(I, J),
5174 ( arg(4, G, K),
5175 ( var(K)
5176 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5177 L),
5178 L=[_|M],
5179 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5180 M),
5181 ( M=[N|_]
5182 -> setarg(4, N, _)
5183 ; true
5184 )
5185 ; K=[_, _|M],
5186 setarg(2, K, M),
5187 ( M=[N|_]
5188 -> setarg(4, N, K)
5189 ; true
5190 )
5191 )
5192 ),
5193 'detach_known/1_1_$default___1'(J, G)
5194 )
5195 ).
5196'known/1_1_$default___1__0'(_, C) :-
5197 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
5198 A),
5199 member(B, A),
5200 B=suspension(_, active, _), !,
5201 ( var(C)
5202 -> true
5203 ; C=suspension(_, D, _, _, E),
5204 setarg(2, C, removed),
5205 ( D==not_stored_yet
5206 -> F=[]
5207 ; term_variables(E, F),
5208 ( arg(4, C, G),
5209 ( var(G)
5210 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5211 H),
5212 H=[_|I],
5213 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5214 I),
5215 ( I=[J|_]
5216 -> setarg(4, J, _)
5217 ; true
5218 )
5219 ; G=[_, _|I],
5220 setarg(2, G, I),
5221 ( I=[J|_]
5222 -> setarg(4, J, G)
5223 ; true
5224 )
5225 )
5226 ),
5227 'detach_known/1_1_$default___1'(F, C)
5228 )
5229 ).
5230'known/1_1_$default___1__0'(A, M) :-
5231 ( 'chr newvia_1'(A, B)
5232 -> get_attr(B, guard_entailment, C),
5233 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
5234 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
5235 D)
5236 ),
5237 member(E, D),
5238 E=suspension(_, active, _, _, F),
5239 F==A, !,
5240 E=suspension(_, _, _, _, G),
5241 setarg(2, E, removed),
5242 term_variables(G, L),
5243 arg(4, E, H),
5244 ( var(H)
5245 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
5246 I),
5247 I=[_|J],
5248 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
5249 J),
5250 ( J=[K|_]
5251 -> setarg(4, K, _)
5252 ; true
5253 )
5254 ; H=[_, _|J],
5255 setarg(2, H, J),
5256 ( J=[K|_]
5257 -> setarg(4, K, H)
5258 ; true
5259 )
5260 ),
5261 'detach_known/1_1_$special_\\+/1___1'(L, E),
5262 ( var(M)
5263 -> true
5264 ; M=suspension(_, N, _, _, O),
5265 setarg(2, M, removed),
5266 ( N==not_stored_yet
5267 -> P=[]
5268 ; term_variables(O, P),
5269 ( arg(4, M, Q),
5270 ( var(Q)
5271 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5272 R),
5273 R=[_|S],
5274 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5275 S),
5276 ( S=[T|_]
5277 -> setarg(4, T, _)
5278 ; true
5279 )
5280 ; Q=[_, _|S],
5281 setarg(2, Q, S),
5282 ( S=[T|_]
5283 -> setarg(4, T, Q)
5284 ; true
5285 )
5286 )
5287 ),
5288 'detach_known/1_1_$default___1'(P, M)
5289 )
5290 ),
5291 'known/1_1_$special_fail/0'.
5292'known/1_1_$default___1__0'(A, E) :-
5293 ( 'chr newvia_1'(A, B)
5294 -> get_attr(B, guard_entailment, C),
5295 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5296 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5297 D)
5298 ), !,
5299 ( var(E)
5300 -> E=suspension(F, not_stored_yet, 0, _, A),
5301 'chr gen_id'(F)
5302 ; true
5303 ),
5304 'known/1_1_$default___1__0__0__6'(D, A, E).
5305'known/1_1_$default___1__0__0__6'([], A, B) :-
5306 'known/1_1_$default___1__1'(A, B).
5307'known/1_1_$default___1__0__0__6'([A|V], D, L) :-
5308 ( A=suspension(_, active, _, _, B, U),
5309 nonvar(B),
5310 B=(\+C),
5311 C==D
5312 -> ( A=suspension(_, _, _, _, E, F),
5313 setarg(2, A, removed),
5314 term_variables(term(E, F), K),
5315 ( arg(4, A, G),
5316 ( var(G)
5317 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5318 H),
5319 H=[_|I],
5320 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5321 I),
5322 ( I=[J|_]
5323 -> setarg(4, J, _)
5324 ; true
5325 )
5326 ; G=[_, _|I],
5327 setarg(2, G, I),
5328 ( I=[J|_]
5329 -> setarg(4, J, G)
5330 ; true
5331 )
5332 )
5333 ),
5334 'detach_known/1_1_$special_;/2___2'(K, A)
5335 ),
5336 ( arg(2, L, O),
5337 setarg(2, L, active),
5338 ( arg(3, L, M),
5339 N is M+1,
5340 setarg(3, L, N)
5341 ),
5342 ( O==not_stored_yet
5343 -> L=suspension(_, _, _, _, P),
5344 term_variables(P, Q),
5345 'chr none_locked'(Q),
5346 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5347 R),
5348 S=[L|R],
5349 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5350 S),
5351 ( R=[T|_]
5352 -> setarg(4, T, S)
5353 ; true
5354 )
5355 ),
5356 'attach_known/1_1_$default___1'(Q, L)
5357 ; true
5358 )
5359 ),
5360 known(U),
5361 ( L=suspension(_, active, N, _, _)
5362 -> setarg(2, L, inactive),
5363 'known/1_1_$default___1__0__0__6'(V, D, L)
5364 ; true
5365 )
5366 ; 'known/1_1_$default___1__0__0__6'(V, D, L)
5367 ).
5368'known/1_1_$default___1__0'(B, A) :-
5369 ( var(A)
5370 -> A=suspension(C, not_stored_yet, 0, _, B),
5371 'chr gen_id'(C)
5372 ; true
5373 ),
5374 'known/1_1_$default___1__1'(B, A).
5375'known/1_1_$default___1__1'(A, E) :-
5376 ( 'chr newvia_1'(A, B)
5377 -> get_attr(B, guard_entailment, C),
5378 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5379 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5380 D)
5381 ), !,
5382 'known/1_1_$default___1__1__0__7'(D, A, E).
5383'known/1_1_$default___1__1__0__7'([], A, B) :-
5384 'known/1_1_$default___1__2'(A, B).
5385'known/1_1_$default___1__1__0__7'([A|W], E, M) :-
5386 ( A=suspension(_, active, _, _, B, V),
5387 nonvar(B),
5388 B=(C, _),
5389 nonvar(C),
5390 C=(\+D),
5391 D==E
5392 -> ( A=suspension(_, _, _, _, F, G),
5393 setarg(2, A, removed),
5394 term_variables(term(F, G), L),
5395 ( arg(4, A, H),
5396 ( var(H)
5397 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5398 I),
5399 I=[_|J],
5400 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5401 J),
5402 ( J=[K|_]
5403 -> setarg(4, K, _)
5404 ; true
5405 )
5406 ; H=[_, _|J],
5407 setarg(2, H, J),
5408 ( J=[K|_]
5409 -> setarg(4, K, H)
5410 ; true
5411 )
5412 )
5413 ),
5414 'detach_known/1_1_$special_;/2___2'(L, A)
5415 ),
5416 ( arg(2, M, P),
5417 setarg(2, M, active),
5418 ( arg(3, M, N),
5419 O is N+1,
5420 setarg(3, M, O)
5421 ),
5422 ( P==not_stored_yet
5423 -> M=suspension(_, _, _, _, Q),
5424 term_variables(Q, R),
5425 'chr none_locked'(R),
5426 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5427 S),
5428 T=[M|S],
5429 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5430 T),
5431 ( S=[U|_]
5432 -> setarg(4, U, T)
5433 ; true
5434 )
5435 ),
5436 'attach_known/1_1_$default___1'(R, M)
5437 ; true
5438 )
5439 ),
5440 known(V),
5441 ( M=suspension(_, active, O, _, _)
5442 -> setarg(2, M, inactive),
5443 'known/1_1_$default___1__1__0__7'(W, E, M)
5444 ; true
5445 )
5446 ; 'known/1_1_$default___1__1__0__7'(W, E, M)
5447 ).
5448'known/1_1_$default___1__1'(A, B) :-
5449 'known/1_1_$default___1__2'(A, B).
5450'known/1_1_$default___1__2'(_, A) :-
5451 arg(2, A, D),
5452 setarg(2, A, active),
5453 arg(3, A, B),
5454 C is B+1,
5455 setarg(3, A, C),
5456 ( D==not_stored_yet
5457 -> A=suspension(_, _, _, _, E),
5458 term_variables(E, F),
5459 'chr none_locked'(F),
5460 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5461 G),
5462 H=[A|G],
5463 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5464 H),
5465 ( G=[I|_]
5466 -> setarg(4, I, H)
5467 ; true
5468 )
5469 ),
5470 'attach_known/1_1_$default___1'(F, A)
5471 ; true
5472 ).
5473'known/1_1_$special_;/2'(A, B) :-
5474 'known/1_1_$special_;/2___2__0'(A, B, _).
5475'known/1_1_$special_;/2___2__0'(A, B, I) :-
5476 ( 'chr newvia_2'(A, B, C)
5477 -> get_attr(C, guard_entailment, D),
5478 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5479 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5480 E)
5481 ),
5482 member(F, E),
5483 F=suspension(_, active, _, _, G, H),
5484 G==A,
5485 H==B, !,
5486 ( var(I)
5487 -> true
5488 ; I=suspension(_, J, _, _, K, L),
5489 setarg(2, I, removed),
5490 ( J==not_stored_yet
5491 -> M=[]
5492 ; term_variables(term(K, L), M),
5493 ( arg(4, I, N),
5494 ( var(N)
5495 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5496 O),
5497 O=[_|P],
5498 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5499 P),
5500 ( P=[Q|_]
5501 -> setarg(4, Q, _)
5502 ; true
5503 )
5504 ; N=[_, _|P],
5505 setarg(2, N, P),
5506 ( P=[Q|_]
5507 -> setarg(4, Q, N)
5508 ; true
5509 )
5510 )
5511 ),
5512 'detach_known/1_1_$special_;/2___2'(M, I)
5513 )
5514 ).
5515'known/1_1_$special_;/2___2__0'(_, _, C) :-
5516 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
5517 A),
5518 member(B, A),
5519 B=suspension(_, active, _), !,
5520 ( var(C)
5521 -> true
5522 ; C=suspension(_, D, _, _, E, F),
5523 setarg(2, C, removed),
5524 ( D==not_stored_yet
5525 -> G=[]
5526 ; term_variables(term(E, F), G),
5527 ( arg(4, C, H),
5528 ( var(H)
5529 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5530 I),
5531 I=[_|J],
5532 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5533 J),
5534 ( J=[K|_]
5535 -> setarg(4, K, _)
5536 ; true
5537 )
5538 ; H=[_, _|J],
5539 setarg(2, H, J),
5540 ( J=[K|_]
5541 -> setarg(4, K, H)
5542 ; true
5543 )
5544 )
5545 ),
5546 'detach_known/1_1_$special_;/2___2'(G, C)
5547 )
5548 ).
5549'known/1_1_$special_;/2___2__0'(A, B, P) :-
5550 ( 'chr newvia_2'(A, B, C)
5551 -> get_attr(C, guard_entailment, D),
5552 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
5553 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
5554 E)
5555 ),
5556 member(F, E),
5557 F=suspension(_, active, _, _, G),
5558 nonvar(G),
5559 G=(H;I),
5560 H==A,
5561 I==B, !,
5562 F=suspension(_, _, _, _, J),
5563 setarg(2, F, removed),
5564 term_variables(J, O),
5565 arg(4, F, K),
5566 ( var(K)
5567 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
5568 L),
5569 L=[_|M],
5570 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
5571 M),
5572 ( M=[N|_]
5573 -> setarg(4, N, _)
5574 ; true
5575 )
5576 ; K=[_, _|M],
5577 setarg(2, K, M),
5578 ( M=[N|_]
5579 -> setarg(4, N, K)
5580 ; true
5581 )
5582 ),
5583 'detach_known/1_1_$special_\\+/1___1'(O, F),
5584 ( var(P)
5585 -> true
5586 ; P=suspension(_, Q, _, _, R, S),
5587 setarg(2, P, removed),
5588 ( Q==not_stored_yet
5589 -> T=[]
5590 ; term_variables(term(R, S), T),
5591 ( arg(4, P, U),
5592 ( var(U)
5593 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5594 V),
5595 V=[_|W],
5596 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5597 W),
5598 ( W=[X|_]
5599 -> setarg(4, X, _)
5600 ; true
5601 )
5602 ; U=[_, _|W],
5603 setarg(2, U, W),
5604 ( W=[X|_]
5605 -> setarg(4, X, U)
5606 ; true
5607 )
5608 )
5609 ),
5610 'detach_known/1_1_$special_;/2___2'(T, P)
5611 )
5612 ),
5613 'known/1_1_$special_fail/0'.
5614'known/1_1_$special_;/2___2__0'(A, T, K) :-
5615 nonvar(A),
5616 A=(\+B),
5617 nonvar(B),
5618 B=(C;D),
5619 ( 'chr newvia_2'(C, D, E)
5620 -> get_attr(E, guard_entailment, F),
5621 F=v(_, _, _, G, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5622 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5623 G)
5624 ),
5625 member(H, G),
5626 H=suspension(_, active, _, _, I, J),
5627 I==C,
5628 J==D, !,
5629 ( var(K)
5630 -> true
5631 ; K=suspension(_, L, _, _, M, N),
5632 setarg(2, K, removed),
5633 ( L==not_stored_yet
5634 -> O=[]
5635 ; term_variables(term(M, N), O),
5636 ( arg(4, K, P),
5637 ( var(P)
5638 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5639 Q),
5640 Q=[_|R],
5641 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5642 R),
5643 ( R=[S|_]
5644 -> setarg(4, S, _)
5645 ; true
5646 )
5647 ; P=[_, _|R],
5648 setarg(2, P, R),
5649 ( R=[S|_]
5650 -> setarg(4, S, P)
5651 ; true
5652 )
5653 )
5654 ),
5655 'detach_known/1_1_$special_;/2___2'(O, K)
5656 )
5657 ),
5658 known(T).
5659'known/1_1_$special_;/2___2__0'(A, B, F) :-
5660 ( 'chr newvia_2'(A, B, C)
5661 -> get_attr(C, guard_entailment, D),
5662 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5663 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5664 E)
5665 ), !,
5666 ( var(F)
5667 -> F=suspension(G, not_stored_yet, 0, _, A, B),
5668 'chr gen_id'(G)
5669 ; true
5670 ),
5671 'known/1_1_$special_;/2___2__0__0__7'(E, A, B, F).
5672'known/1_1_$special_;/2___2__0__0__7'([], A, B, C) :-
5673 'known/1_1_$special_;/2___2__1'(A, B, C).
5674'known/1_1_$special_;/2___2__0__0__7'([A|Z], E, G, O) :-
5675 ( A=suspension(_, active, _, _, B, Y),
5676 nonvar(B),
5677 B=(\+C),
5678 nonvar(C),
5679 C=(D;F),
5680 D==E,
5681 F==G
5682 -> ( A=suspension(_, _, _, _, H, I),
5683 setarg(2, A, removed),
5684 term_variables(term(H, I), N),
5685 ( arg(4, A, J),
5686 ( var(J)
5687 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5688 K),
5689 K=[_|L],
5690 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5691 L),
5692 ( L=[M|_]
5693 -> setarg(4, M, _)
5694 ; true
5695 )
5696 ; J=[_, _|L],
5697 setarg(2, J, L),
5698 ( L=[M|_]
5699 -> setarg(4, M, J)
5700 ; true
5701 )
5702 )
5703 ),
5704 'detach_known/1_1_$special_;/2___2'(N, A)
5705 ),
5706 ( arg(2, O, R),
5707 setarg(2, O, active),
5708 ( arg(3, O, P),
5709 Q is P+1,
5710 setarg(3, O, Q)
5711 ),
5712 ( R==not_stored_yet
5713 -> O=suspension(_, _, _, _, S, T),
5714 term_variables(term(S, T), U),
5715 'chr none_locked'(U),
5716 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5717 V),
5718 W=[O|V],
5719 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5720 W),
5721 ( V=[X|_]
5722 -> setarg(4, X, W)
5723 ; true
5724 )
5725 ),
5726 'attach_known/1_1_$special_;/2___2'(U, O)
5727 ; true
5728 )
5729 ),
5730 known(Y),
5731 ( O=suspension(_, active, Q, _, _, _)
5732 -> setarg(2, O, inactive),
5733 'known/1_1_$special_;/2___2__0__0__7'(Z,
5734 E,
5735 G,
5736 O)
5737 ; true
5738 )
5739 ; 'known/1_1_$special_;/2___2__0__0__7'(Z,
5740 E,
5741 G,
5742 O)
5743 ).
5744'known/1_1_$special_;/2___2__0'(B, C, A) :-
5745 ( var(A)
5746 -> A=suspension(D, not_stored_yet, 0, _, B, C),
5747 'chr gen_id'(D)
5748 ; true
5749 ),
5750 'known/1_1_$special_;/2___2__1'(B, C, A).
5751'known/1_1_$special_;/2___2__1'(A, R, I) :-
5752 nonvar(A),
5753 ( A=(\+B),
5754 ( nonvar(B),
5755 ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( B=nonvar(C),
5756 ( 'chr newvia_1'(C,
5757 D)
5758 -> get_attr(D,
5759 guard_entailment,
5760 E),
5761 E=v(_, _, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5762 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
5763 F)
5764 ),
5765 member(G,
5766 F),
5767 G=suspension(_, active, _, _, H),
5768 H==C, !,
5769 ( var(I)
5770 -> true
5771 ; I=suspension(_, J, _, _, K, L),
5772 setarg(2,
5773 I,
5774 removed),
5775 ( J==not_stored_yet
5776 -> M=[]
5777 ; term_variables(term(K,
5778 L),
5779 M),
5780 ( arg(4,
5781 I,
5782 N),
5783 ( var(N)
5784 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5785 O),
5786 O=[_|P],
5787 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5788 P),
5789 ( P=[Q|_]
5790 -> setarg(4,
5791 Q,
5792 _)
5793 ; true
5794 )
5795 ; N=[_, _|P],
5796 setarg(2,
5797 N,
5798 P),
5799 ( P=[Q|_]
5800 -> setarg(4,
5801 Q,
5802 N)
5803 ; true
5804 )
5805 )
5806 ),
5807 'detach_known/1_1_$special_;/2___2'(M,
5808 I)
5809 )
5810 ),
5811 known(R)
5812 ; B=var(S),
5813 ( 'chr newvia_1'(S,
5814 T)
5815 -> get_attr(T,
5816 guard_entailment,
5817 U),
5818 U=v(_, _, _, _, _, V, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5819 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
5820 V)
5821 ),
5822 member(W,
5823 V),
5824 W=suspension(_, active, _, _, X),
5825 X==S, !,
5826 ( var(I)
5827 -> true
5828 ; I=suspension(_, Y, _, _, Z, A1),
5829 setarg(2,
5830 I,
5831 removed),
5832 ( Y==not_stored_yet
5833 -> B1=[]
5834 ; term_variables(term(Z,
5835 A1),
5836 B1),
5837 ( arg(4,
5838 I,
5839 C1),
5840 ( var(C1)
5841 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5842 D1),
5843 D1=[_|E1],
5844 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5845 E1),
5846 ( E1=[F1|_]
5847 -> setarg(4,
5848 F1,
5849 _)
5850 ; true
5851 )
5852 ; C1=[_, _|E1],
5853 setarg(2,
5854 C1,
5855 E1),
5856 ( E1=[F1|_]
5857 -> setarg(4,
5858 F1,
5859 C1)
5860 ; true
5861 )
5862 )
5863 ),
5864 'detach_known/1_1_$special_;/2___2'(B1,
5865 I)
5866 )
5867 ),
5868 known(R)
5869 )
5870 ; B=atom(G1),
5871 ( 'chr newvia_1'(G1,
5872 H1)
5873 -> get_attr(H1,
5874 guard_entailment,
5875 I1),
5876 I1=v(_, _, _, _, _, _, J1, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5877 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
5878 J1)
5879 ),
5880 member(K1,
5881 J1),
5882 K1=suspension(_, active, _, _, _, L1),
5883 L1==G1, !,
5884 ( var(I)
5885 -> true
5886 ; I=suspension(_, M1, _, _, N1, O1),
5887 setarg(2,
5888 I,
5889 removed),
5890 ( M1==not_stored_yet
5891 -> P1=[]
5892 ; term_variables(term(N1,
5893 O1),
5894 P1),
5895 ( arg(4,
5896 I,
5897 Q1),
5898 ( var(Q1)
5899 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5900 R1),
5901 R1=[_|S1],
5902 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5903 S1),
5904 ( S1=[T1|_]
5905 -> setarg(4,
5906 T1,
5907 _)
5908 ; true
5909 )
5910 ; Q1=[_, _|S1],
5911 setarg(2,
5912 Q1,
5913 S1),
5914 ( S1=[T1|_]
5915 -> setarg(4,
5916 T1,
5917 Q1)
5918 ; true
5919 )
5920 )
5921 ),
5922 'detach_known/1_1_$special_;/2___2'(P1,
5923 I)
5924 )
5925 ),
5926 known(R)
5927 )
5928 ; B=atomic(U1),
5929 ( 'chr newvia_1'(U1,
5930 V1)
5931 -> get_attr(V1,
5932 guard_entailment,
5933 W1),
5934 W1=v(_, _, _, _, _, _, _, X1, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5935 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
5936 X1)
5937 ),
5938 member(Y1,
5939 X1),
5940 Y1=suspension(_, active, _, _, _, Z1),
5941 Z1==U1, !,
5942 ( var(I)
5943 -> true
5944 ; I=suspension(_, A2, _, _, B2, C2),
5945 setarg(2,
5946 I,
5947 removed),
5948 ( A2==not_stored_yet
5949 -> D2=[]
5950 ; term_variables(term(B2,
5951 C2),
5952 D2),
5953 ( arg(4,
5954 I,
5955 E2),
5956 ( var(E2)
5957 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5958 F2),
5959 F2=[_|G2],
5960 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5961 G2),
5962 ( G2=[H2|_]
5963 -> setarg(4,
5964 H2,
5965 _)
5966 ; true
5967 )
5968 ; E2=[_, _|G2],
5969 setarg(2,
5970 E2,
5971 G2),
5972 ( G2=[H2|_]
5973 -> setarg(4,
5974 H2,
5975 E2)
5976 ; true
5977 )
5978 )
5979 ),
5980 'detach_known/1_1_$special_;/2___2'(D2,
5981 I)
5982 )
5983 ),
5984 known(R)
5985 )
5986 ; B=compound(I2),
5987 ( 'chr newvia_1'(I2,
5988 J2)
5989 -> get_attr(J2,
5990 guard_entailment,
5991 K2),
5992 K2=v(_, _, _, _, _, _, _, _, L2, _, _, _, _, _, _, _, _, _, _, _, _, _)
5993 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
5994 L2)
5995 ),
5996 member(M2,
5997 L2),
5998 M2=suspension(_, active, _, _, _, N2),
5999 N2==I2, !,
6000 ( var(I)
6001 -> true
6002 ; I=suspension(_, O2, _, _, P2, Q2),
6003 setarg(2,
6004 I,
6005 removed),
6006 ( O2==not_stored_yet
6007 -> R2=[]
6008 ; term_variables(term(P2,
6009 Q2),
6010 R2),
6011 ( arg(4,
6012 I,
6013 S2),
6014 ( var(S2)
6015 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6016 T2),
6017 T2=[_|U2],
6018 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6019 U2),
6020 ( U2=[V2|_]
6021 -> setarg(4,
6022 V2,
6023 _)
6024 ; true
6025 )
6026 ; S2=[_, _|U2],
6027 setarg(2,
6028 S2,
6029 U2),
6030 ( U2=[V2|_]
6031 -> setarg(4,
6032 V2,
6033 S2)
6034 ; true
6035 )
6036 )
6037 ),
6038 'detach_known/1_1_$special_;/2___2'(R2,
6039 I)
6040 )
6041 ),
6042 known(R)
6043 )
6044 ; B=ground(W2),
6045 ( 'chr newvia_1'(W2,
6046 X2)
6047 -> get_attr(X2,
6048 guard_entailment,
6049 Y2),
6050 Y2=v(_, _, _, _, _, _, _, _, _, Z2, _, _, _, _, _, _, _, _, _, _, _, _)
6051 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
6052 Z2)
6053 ),
6054 member(A3,
6055 Z2),
6056 A3=suspension(_, active, _, _, _, B3),
6057 B3==W2, !,
6058 ( var(I)
6059 -> true
6060 ; I=suspension(_, C3, _, _, D3, E3),
6061 setarg(2,
6062 I,
6063 removed),
6064 ( C3==not_stored_yet
6065 -> F3=[]
6066 ; term_variables(term(D3,
6067 E3),
6068 F3),
6069 ( arg(4,
6070 I,
6071 G3),
6072 ( var(G3)
6073 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6074 H3),
6075 H3=[_|I3],
6076 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6077 I3),
6078 ( I3=[J3|_]
6079 -> setarg(4,
6080 J3,
6081 _)
6082 ; true
6083 )
6084 ; G3=[_, _|I3],
6085 setarg(2,
6086 G3,
6087 I3),
6088 ( I3=[J3|_]
6089 -> setarg(4,
6090 J3,
6091 G3)
6092 ; true
6093 )
6094 )
6095 ),
6096 'detach_known/1_1_$special_;/2___2'(F3,
6097 I)
6098 )
6099 ),
6100 known(R)
6101 )
6102 ; B=integer(K3),
6103 ( 'chr newvia_1'(K3,
6104 L3)
6105 -> get_attr(L3,
6106 guard_entailment,
6107 M3),
6108 M3=v(_, _, _, _, _, _, _, _, _, _, N3, _, _, _, _, _, _, _, _, _, _, _)
6109 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
6110 N3)
6111 ),
6112 member(O3,
6113 N3),
6114 O3=suspension(_, active, _, _, _, P3),
6115 P3==K3, !,
6116 ( var(I)
6117 -> true
6118 ; I=suspension(_, Q3, _, _, R3, S3),
6119 setarg(2,
6120 I,
6121 removed),
6122 ( Q3==not_stored_yet
6123 -> T3=[]
6124 ; term_variables(term(R3,
6125 S3),
6126 T3),
6127 ( arg(4,
6128 I,
6129 U3),
6130 ( var(U3)
6131 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6132 V3),
6133 V3=[_|W3],
6134 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6135 W3),
6136 ( W3=[X3|_]
6137 -> setarg(4,
6138 X3,
6139 _)
6140 ; true
6141 )
6142 ; U3=[_, _|W3],
6143 setarg(2,
6144 U3,
6145 W3),
6146 ( W3=[X3|_]
6147 -> setarg(4,
6148 X3,
6149 U3)
6150 ; true
6151 )
6152 )
6153 ),
6154 'detach_known/1_1_$special_;/2___2'(T3,
6155 I)
6156 )
6157 ),
6158 known(R)
6159 )
6160 ; B=float(Y3),
6161 ( 'chr newvia_1'(Y3,
6162 Z3)
6163 -> get_attr(Z3,
6164 guard_entailment,
6165 A4),
6166 A4=v(_, _, _, _, _, _, _, _, _, _, _, B4, _, _, _, _, _, _, _, _, _, _)
6167 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
6168 B4)
6169 ),
6170 member(C4,
6171 B4),
6172 C4=suspension(_, active, _, _, _, D4),
6173 D4==Y3, !,
6174 ( var(I)
6175 -> true
6176 ; I=suspension(_, E4, _, _, F4, G4),
6177 setarg(2,
6178 I,
6179 removed),
6180 ( E4==not_stored_yet
6181 -> H4=[]
6182 ; term_variables(term(F4,
6183 G4),
6184 H4),
6185 ( arg(4,
6186 I,
6187 I4),
6188 ( var(I4)
6189 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6190 J4),
6191 J4=[_|K4],
6192 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6193 K4),
6194 ( K4=[L4|_]
6195 -> setarg(4,
6196 L4,
6197 _)
6198 ; true
6199 )
6200 ; I4=[_, _|K4],
6201 setarg(2,
6202 I4,
6203 K4),
6204 ( K4=[L4|_]
6205 -> setarg(4,
6206 L4,
6207 I4)
6208 ; true
6209 )
6210 )
6211 ),
6212 'detach_known/1_1_$special_;/2___2'(H4,
6213 I)
6214 )
6215 ),
6216 known(R)
6217 )
6218 ; B=number(M4),
6219 ( 'chr newvia_1'(M4,
6220 N4)
6221 -> get_attr(N4,
6222 guard_entailment,
6223 O4),
6224 O4=v(_, _, _, _, _, _, _, _, _, _, _, _, P4, _, _, _, _, _, _, _, _, _)
6225 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
6226 P4)
6227 ),
6228 member(Q4,
6229 P4),
6230 Q4=suspension(_, active, _, _, _, R4),
6231 R4==M4, !,
6232 ( var(I)
6233 -> true
6234 ; I=suspension(_, S4, _, _, T4, U4),
6235 setarg(2,
6236 I,
6237 removed),
6238 ( S4==not_stored_yet
6239 -> V4=[]
6240 ; term_variables(term(T4,
6241 U4),
6242 V4),
6243 ( arg(4,
6244 I,
6245 W4),
6246 ( var(W4)
6247 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6248 X4),
6249 X4=[_|Y4],
6250 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6251 Y4),
6252 ( Y4=[Z4|_]
6253 -> setarg(4,
6254 Z4,
6255 _)
6256 ; true
6257 )
6258 ; W4=[_, _|Y4],
6259 setarg(2,
6260 W4,
6261 Y4),
6262 ( Y4=[Z4|_]
6263 -> setarg(4,
6264 Z4,
6265 W4)
6266 ; true
6267 )
6268 )
6269 ),
6270 'detach_known/1_1_$special_;/2___2'(V4,
6271 I)
6272 )
6273 ),
6274 known(R)
6275 )
6276 ; B=(A5=\=B5),
6277 ( 'chr newvia_2'(A5,
6278 B5,
6279 C5)
6280 -> get_attr(C5,
6281 guard_entailment,
6282 D5),
6283 D5=v(_, _, _, _, _, _, _, _, _, _, _, _, _, E5, _, _, _, _, _, _, _, _)
6284 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
6285 E5)
6286 ),
6287 member(F5,
6288 E5),
6289 F5=suspension(_, active, _, _, _, G5, H5),
6290 G5==A5,
6291 H5==B5, !,
6292 ( var(I)
6293 -> true
6294 ; I=suspension(_, I5, _, _, J5, K5),
6295 setarg(2,
6296 I,
6297 removed),
6298 ( I5==not_stored_yet
6299 -> L5=[]
6300 ; term_variables(term(J5,
6301 K5),
6302 L5),
6303 ( arg(4,
6304 I,
6305 M5),
6306 ( var(M5)
6307 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6308 N5),
6309 N5=[_|O5],
6310 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6311 O5),
6312 ( O5=[P5|_]
6313 -> setarg(4,
6314 P5,
6315 _)
6316 ; true
6317 )
6318 ; M5=[_, _|O5],
6319 setarg(2,
6320 M5,
6321 O5),
6322 ( O5=[P5|_]
6323 -> setarg(4,
6324 P5,
6325 M5)
6326 ; true
6327 )
6328 )
6329 ),
6330 'detach_known/1_1_$special_;/2___2'(L5,
6331 I)
6332 )
6333 ),
6334 known(R)
6335 )
6336 ; B=(\+Q5),
6337 ( 'chr newvia_1'(Q5,
6338 R5)
6339 -> get_attr(R5,
6340 guard_entailment,
6341 S5),
6342 S5=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, T5, _, _, _, _, _, _, _)
6343 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
6344 T5)
6345 ),
6346 member(U5, T5),
6347 U5=suspension(_, active, _, _, V5),
6348 V5==Q5, !,
6349 ( var(I)
6350 -> true
6351 ; I=suspension(_, W5, _, _, X5, Y5),
6352 setarg(2, I, removed),
6353 ( W5==not_stored_yet
6354 -> Z5=[]
6355 ; term_variables(term(X5,
6356 Y5),
6357 Z5),
6358 ( arg(4,
6359 I,
6360 A6),
6361 ( var(A6)
6362 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6363 B6),
6364 B6=[_|C6],
6365 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6366 C6),
6367 ( C6=[D6|_]
6368 -> setarg(4,
6369 D6,
6370 _)
6371 ; true
6372 )
6373 ; A6=[_, _|C6],
6374 setarg(2,
6375 A6,
6376 C6),
6377 ( C6=[D6|_]
6378 -> setarg(4,
6379 D6,
6380 A6)
6381 ; true
6382 )
6383 )
6384 ),
6385 'detach_known/1_1_$special_;/2___2'(Z5,
6386 I)
6387 )
6388 ),
6389 known(R)
6390 )
6391 ; B=functor(E6, F6, G6),
6392 ( 'chr newvia'(
6393 [ E6,
6394 F6,
6395 G6
6396 ],
6397 H6)
6398 -> get_attr(H6,
6399 guard_entailment,
6400 I6),
6401 I6=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, J6, _, _, _, _, _, _)
6402 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
6403 J6)
6404 ),
6405 member(K6, J6),
6406 K6=suspension(_, active, _, _, L6, M6, N6),
6407 L6==E6,
6408 M6==F6,
6409 N6==G6, !,
6410 ( var(I)
6411 -> true
6412 ; I=suspension(_, O6, _, _, P6, Q6),
6413 setarg(2, I, removed),
6414 ( O6==not_stored_yet
6415 -> R6=[]
6416 ; term_variables(term(P6,
6417 Q6),
6418 R6),
6419 ( arg(4, I, S6),
6420 ( var(S6)
6421 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6422 T6),
6423 T6=[_|U6],
6424 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6425 U6),
6426 ( U6=[V6|_]
6427 -> setarg(4,
6428 V6,
6429 _)
6430 ; true
6431 )
6432 ; S6=[_, _|U6],
6433 setarg(2,
6434 S6,
6435 U6),
6436 ( U6=[V6|_]
6437 -> setarg(4,
6438 V6,
6439 S6)
6440 ; true
6441 )
6442 )
6443 ),
6444 'detach_known/1_1_$special_;/2___2'(R6,
6445 I)
6446 )
6447 ),
6448 known(R)
6449 )
6450 ; B=(W6\=X6),
6451 ( 'chr newvia_2'(W6,
6452 X6,
6453 Y6)
6454 -> get_attr(Y6,
6455 guard_entailment,
6456 Z6),
6457 Z6=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, A7, _, _, _, _, _)
6458 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
6459 A7)
6460 ),
6461 member(B7, A7),
6462 B7=suspension(_, active, _, _, _, C7, D7),
6463 C7==W6,
6464 D7==X6, !,
6465 ( var(I)
6466 -> true
6467 ; I=suspension(_, E7, _, _, F7, G7),
6468 setarg(2, I, removed),
6469 ( E7==not_stored_yet
6470 -> H7=[]
6471 ; term_variables(term(F7,
6472 G7),
6473 H7),
6474 ( arg(4, I, I7),
6475 ( var(I7)
6476 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6477 J7),
6478 J7=[_|K7],
6479 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6480 K7),
6481 ( K7=[L7|_]
6482 -> setarg(4,
6483 L7,
6484 _)
6485 ; true
6486 )
6487 ; I7=[_, _|K7],
6488 setarg(2,
6489 I7,
6490 K7),
6491 ( K7=[L7|_]
6492 -> setarg(4,
6493 L7,
6494 I7)
6495 ; true
6496 )
6497 )
6498 ),
6499 'detach_known/1_1_$special_;/2___2'(H7,
6500 I)
6501 )
6502 ),
6503 known(R)
6504 )
6505 ; B=(M7=N7),
6506 ( 'chr newvia_2'(M7,
6507 N7,
6508 O7)
6509 -> get_attr(O7,
6510 guard_entailment,
6511 P7),
6512 P7=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, Q7, _, _, _, _)
6513 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
6514 Q7)
6515 ),
6516 member(R7, Q7),
6517 R7=suspension(_, active, _, _, S7, T7),
6518 S7==M7,
6519 T7==N7, !,
6520 ( var(I)
6521 -> true
6522 ; I=suspension(_, U7, _, _, V7, W7),
6523 setarg(2, I, removed),
6524 ( U7==not_stored_yet
6525 -> X7=[]
6526 ; term_variables(term(V7,
6527 W7),
6528 X7),
6529 ( arg(4, I, Y7),
6530 ( var(Y7)
6531 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6532 Z7),
6533 Z7=[_|A8],
6534 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6535 A8),
6536 ( A8=[B8|_]
6537 -> setarg(4,
6538 B8,
6539 _)
6540 ; true
6541 )
6542 ; Y7=[_, _|A8],
6543 setarg(2,
6544 Y7,
6545 A8),
6546 ( A8=[B8|_]
6547 -> setarg(4,
6548 B8,
6549 Y7)
6550 ; true
6551 )
6552 )
6553 ),
6554 'detach_known/1_1_$special_;/2___2'(X7,
6555 I)
6556 )
6557 ),
6558 known(R)
6559 )
6560 ; B=(C8\==D8),
6561 ( 'chr newvia_2'(C8,
6562 D8,
6563 E8)
6564 -> get_attr(E8,
6565 guard_entailment,
6566 F8),
6567 F8=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, G8, _, _, _)
6568 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
6569 G8)
6570 ),
6571 member(H8, G8),
6572 H8=suspension(_, active, _, _, _, I8, J8),
6573 I8==C8,
6574 J8==D8, !,
6575 ( var(I)
6576 -> true
6577 ; I=suspension(_, K8, _, _, L8, M8),
6578 setarg(2, I, removed),
6579 ( K8==not_stored_yet
6580 -> N8=[]
6581 ; term_variables(term(L8,
6582 M8),
6583 N8),
6584 ( arg(4, I, O8),
6585 ( var(O8)
6586 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6587 P8),
6588 P8=[_|Q8],
6589 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6590 Q8),
6591 ( Q8=[R8|_]
6592 -> setarg(4, R8, _)
6593 ; true
6594 )
6595 ; O8=[_, _|Q8],
6596 setarg(2, O8, Q8),
6597 ( Q8=[R8|_]
6598 -> setarg(4,
6599 R8,
6600 O8)
6601 ; true
6602 )
6603 )
6604 ),
6605 'detach_known/1_1_$special_;/2___2'(N8,
6606 I)
6607 )
6608 ),
6609 known(R)
6610 )
6611 ; B=(S8==T8),
6612 ( 'chr newvia_2'(S8, T8, U8)
6613 -> get_attr(U8, guard_entailment, V8),
6614 V8=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, W8, _, _)
6615 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
6616 W8)
6617 ),
6618 member(X8, W8),
6619 X8=suspension(_, active, _, _, _, Y8, Z8),
6620 Y8==S8,
6621 Z8==T8, !,
6622 ( var(I)
6623 -> true
6624 ; I=suspension(_, A9, _, _, B9, C9),
6625 setarg(2, I, removed),
6626 ( A9==not_stored_yet
6627 -> D9=[]
6628 ; term_variables(term(B9, C9),
6629 D9),
6630 ( arg(4, I, E9),
6631 ( var(E9)
6632 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6633 F9),
6634 F9=[_|G9],
6635 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6636 G9),
6637 ( G9=[H9|_]
6638 -> setarg(4, H9, _)
6639 ; true
6640 )
6641 ; E9=[_, _|G9],
6642 setarg(2, E9, G9),
6643 ( G9=[H9|_]
6644 -> setarg(4, H9, E9)
6645 ; true
6646 )
6647 )
6648 ),
6649 'detach_known/1_1_$special_;/2___2'(D9,
6650 I)
6651 )
6652 ),
6653 known(R)
6654 )
6655 ; B=(I9=<J9),
6656 ( 'chr newvia_2'(I9, J9, K9)
6657 -> get_attr(K9, guard_entailment, L9),
6658 L9=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, M9, _)
6659 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
6660 M9)
6661 ),
6662 member(N9, M9),
6663 N9=suspension(_, active, _, _, _, O9, P9),
6664 O9==I9,
6665 P9==J9, !,
6666 ( var(I)
6667 -> true
6668 ; I=suspension(_, Q9, _, _, R9, S9),
6669 setarg(2, I, removed),
6670 ( Q9==not_stored_yet
6671 -> T9=[]
6672 ; term_variables(term(R9, S9),
6673 T9),
6674 ( arg(4, I, U9),
6675 ( var(U9)
6676 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6677 V9),
6678 V9=[_|W9],
6679 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6680 W9),
6681 ( W9=[X9|_]
6682 -> setarg(4, X9, _)
6683 ; true
6684 )
6685 ; U9=[_, _|W9],
6686 setarg(2, U9, W9),
6687 ( W9=[X9|_]
6688 -> setarg(4, X9, U9)
6689 ; true
6690 )
6691 )
6692 ),
6693 'detach_known/1_1_$special_;/2___2'(T9,
6694 I)
6695 )
6696 ),
6697 known(R)
6698 )
6699 ; B=(Y9=:=Z9),
6700 ( 'chr newvia_2'(Y9, Z9, A10)
6701 -> get_attr(A10, guard_entailment, B10),
6702 B10=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, C10)
6703 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
6704 C10)
6705 ),
6706 member(D10, C10),
6707 D10=suspension(_, active, _, _, _, E10, F10),
6708 E10==Y9,
6709 F10==Z9, !,
6710 ( var(I)
6711 -> true
6712 ; I=suspension(_, G10, _, _, H10, I10),
6713 setarg(2, I, removed),
6714 ( G10==not_stored_yet
6715 -> J10=[]
6716 ; term_variables(term(H10, I10),
6717 J10),
6718 ( arg(4, I, K10),
6719 ( var(K10)
6720 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6721 L10),
6722 L10=[_|M10],
6723 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6724 M10),
6725 ( M10=[N10|_]
6726 -> setarg(4, N10, _)
6727 ; true
6728 )
6729 ; K10=[_, _|M10],
6730 setarg(2, K10, M10),
6731 ( M10=[N10|_]
6732 -> setarg(4, N10, K10)
6733 ; true
6734 )
6735 )
6736 ),
6737 'detach_known/1_1_$special_;/2___2'(J10,
6738 I)
6739 )
6740 ),
6741 known(R)
6742 )
6743 ; ( 'chr newvia_1'(B, O10)
6744 -> get_attr(O10, guard_entailment, P10),
6745 P10=v(_, _, Q10, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
6746 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
6747 Q10)
6748 ),
6749 member(R10, Q10),
6750 R10=suspension(_, active, _, _, S10),
6751 S10==B, !,
6752 ( var(I)
6753 -> true
6754 ; I=suspension(_, T10, _, _, U10, V10),
6755 setarg(2, I, removed),
6756 ( T10==not_stored_yet
6757 -> W10=[]
6758 ; term_variables(term(U10, V10), W10),
6759 ( arg(4, I, X10),
6760 ( var(X10)
6761 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6762 Y10),
6763 Y10=[_|Z10],
6764 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6765 Z10),
6766 ( Z10=[A11|_]
6767 -> setarg(4, A11, _)
6768 ; true
6769 )
6770 ; X10=[_, _|Z10],
6771 setarg(2, X10, Z10),
6772 ( Z10=[A11|_]
6773 -> setarg(4, A11, X10)
6774 ; true
6775 )
6776 )
6777 ),
6778 'detach_known/1_1_$special_;/2___2'(W10, I)
6779 )
6780 ),
6781 known(R)
6782 )
6783 ; A=(B11, _),
6784 nonvar(B11),
6785 B11=(\+C11),
6786 nonvar(C11),
6787 C11=(D11;E11),
6788 ( 'chr newvia_2'(D11, E11, F11)
6789 -> get_attr(F11, guard_entailment, G11),
6790 G11=v(_, _, _, H11, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
6791 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6792 H11)
6793 ),
6794 member(I11, H11),
6795 I11=suspension(_, active, _, _, J11, K11),
6796 J11==D11,
6797 K11==E11, !,
6798 ( var(I)
6799 -> true
6800 ; I=suspension(_, L11, _, _, M11, N11),
6801 setarg(2, I, removed),
6802 ( L11==not_stored_yet
6803 -> O11=[]
6804 ; term_variables(term(M11, N11), O11),
6805 ( arg(4, I, P11),
6806 ( var(P11)
6807 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6808 Q11),
6809 Q11=[_|R11],
6810 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6811 R11),
6812 ( R11=[S11|_]
6813 -> setarg(4, S11, _)
6814 ; true
6815 )
6816 ; P11=[_, _|R11],
6817 setarg(2, P11, R11),
6818 ( R11=[S11|_]
6819 -> setarg(4, S11, P11)
6820 ; true
6821 )
6822 )
6823 ),
6824 'detach_known/1_1_$special_;/2___2'(O11, I)
6825 )
6826 ),
6827 known(R)
6828 ).
6829'known/1_1_$special_;/2___2__1'(A, B, F) :-
6830 ( 'chr newvia_2'(A, B, C)
6831 -> get_attr(C, guard_entailment, D),
6832 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
6833 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6834 E)
6835 ), !,
6836 'known/1_1_$special_;/2___2__1__0__34'(E, A, B, F).
6837'known/1_1_$special_;/2___2__1__0__34'([], A, B, C) :-
6838 'known/1_1_$special_;/2___2__2'(A, B, C).
6839'known/1_1_$special_;/2___2__1__0__34'([A|A1], F, H, P) :-
6840 ( A=suspension(_, active, _, _, B, Z),
6841 nonvar(B),
6842 B=(C, _),
6843 nonvar(C),
6844 C=(\+D),
6845 nonvar(D),
6846 D=(E;G),
6847 E==F,
6848 G==H
6849 -> ( A=suspension(_, _, _, _, I, J),
6850 setarg(2, A, removed),
6851 term_variables(term(I, J), O),
6852 ( arg(4, A, K),
6853 ( var(K)
6854 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6855 L),
6856 L=[_|M],
6857 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6858 M),
6859 ( M=[N|_]
6860 -> setarg(4, N, _)
6861 ; true
6862 )
6863 ; K=[_, _|M],
6864 setarg(2, K, M),
6865 ( M=[N|_]
6866 -> setarg(4, N, K)
6867 ; true
6868 )
6869 )
6870 ),
6871 'detach_known/1_1_$special_;/2___2'(O, A)
6872 ),
6873 ( arg(2, P, S),
6874 setarg(2, P, active),
6875 ( arg(3, P, Q),
6876 R is Q+1,
6877 setarg(3, P, R)
6878 ),
6879 ( S==not_stored_yet
6880 -> P=suspension(_, _, _, _, T, U),
6881 term_variables(term(T, U), V),
6882 'chr none_locked'(V),
6883 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6884 W),
6885 X=[P|W],
6886 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6887 X),
6888 ( W=[Y|_]
6889 -> setarg(4, Y, X)
6890 ; true
6891 )
6892 ),
6893 'attach_known/1_1_$special_;/2___2'(V, P)
6894 ; true
6895 )
6896 ),
6897 known(Z),
6898 ( P=suspension(_, active, R, _, _, _)
6899 -> setarg(2, P, inactive),
6900 'known/1_1_$special_;/2___2__1__0__34'(A1,
6901 F,
6902 H,
6903 P)
6904 ; true
6905 )
6906 ; 'known/1_1_$special_;/2___2__1__0__34'(A1,
6907 F,
6908 H,
6909 P)
6910 ).
6911'known/1_1_$special_;/2___2__1'(A, B, C) :-
6912 'known/1_1_$special_;/2___2__2'(A, B, C).
6913'known/1_1_$special_;/2___2__2'(A, S, J) :-
6914 ( nonvar(A),
6915 A=(B, _),
6916 nonvar(B),
6917 B=(\+C)
6918 ),
6919 ( nonvar(C),
6920 ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( C=nonvar(D),
6921 ( 'chr newvia_1'(D,
6922 E)
6923 -> get_attr(E,
6924 guard_entailment,
6925 F),
6926 F=v(_, _, _, _, G, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
6927 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
6928 G)
6929 ),
6930 member(H,
6931 G),
6932 H=suspension(_, active, _, _, I),
6933 I==D, !,
6934 ( var(J)
6935 -> true
6936 ; J=suspension(_, K, _, _, L, M),
6937 setarg(2,
6938 J,
6939 removed),
6940 ( K==not_stored_yet
6941 -> N=[]
6942 ; term_variables(term(L,
6943 M),
6944 N),
6945 ( arg(4,
6946 J,
6947 O),
6948 ( var(O)
6949 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6950 P),
6951 P=[_|Q],
6952 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6953 Q),
6954 ( Q=[R|_]
6955 -> setarg(4,
6956 R,
6957 _)
6958 ; true
6959 )
6960 ; O=[_, _|Q],
6961 setarg(2,
6962 O,
6963 Q),
6964 ( Q=[R|_]
6965 -> setarg(4,
6966 R,
6967 O)
6968 ; true
6969 )
6970 )
6971 ),
6972 'detach_known/1_1_$special_;/2___2'(N,
6973 J)
6974 )
6975 ),
6976 known(S)
6977 ; C=var(T),
6978 ( 'chr newvia_1'(T,
6979 U)
6980 -> get_attr(U,
6981 guard_entailment,
6982 V),
6983 V=v(_, _, _, _, _, W, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
6984 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
6985 W)
6986 ),
6987 member(X,
6988 W),
6989 X=suspension(_, active, _, _, Y),
6990 Y==T, !,
6991 ( var(J)
6992 -> true
6993 ; J=suspension(_, Z, _, _, A1, B1),
6994 setarg(2,
6995 J,
6996 removed),
6997 ( Z==not_stored_yet
6998 -> C1=[]
6999 ; term_variables(term(A1,
7000 B1),
7001 C1),
7002 ( arg(4,
7003 J,
7004 D1),
7005 ( var(D1)
7006 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7007 E1),
7008 E1=[_|F1],
7009 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7010 F1),
7011 ( F1=[G1|_]
7012 -> setarg(4,
7013 G1,
7014 _)
7015 ; true
7016 )
7017 ; D1=[_, _|F1],
7018 setarg(2,
7019 D1,
7020 F1),
7021 ( F1=[G1|_]
7022 -> setarg(4,
7023 G1,
7024 D1)
7025 ; true
7026 )
7027 )
7028 ),
7029 'detach_known/1_1_$special_;/2___2'(C1,
7030 J)
7031 )
7032 ),
7033 known(S)
7034 )
7035 ; C=atom(H1),
7036 ( 'chr newvia_1'(H1,
7037 I1)
7038 -> get_attr(I1,
7039 guard_entailment,
7040 J1),
7041 J1=v(_, _, _, _, _, _, K1, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
7042 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
7043 K1)
7044 ),
7045 member(L1,
7046 K1),
7047 L1=suspension(_, active, _, _, _, M1),
7048 M1==H1, !,
7049 ( var(J)
7050 -> true
7051 ; J=suspension(_, N1, _, _, O1, P1),
7052 setarg(2,
7053 J,
7054 removed),
7055 ( N1==not_stored_yet
7056 -> Q1=[]
7057 ; term_variables(term(O1,
7058 P1),
7059 Q1),
7060 ( arg(4,
7061 J,
7062 R1),
7063 ( var(R1)
7064 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7065 S1),
7066 S1=[_|T1],
7067 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7068 T1),
7069 ( T1=[U1|_]
7070 -> setarg(4,
7071 U1,
7072 _)
7073 ; true
7074 )
7075 ; R1=[_, _|T1],
7076 setarg(2,
7077 R1,
7078 T1),
7079 ( T1=[U1|_]
7080 -> setarg(4,
7081 U1,
7082 R1)
7083 ; true
7084 )
7085 )
7086 ),
7087 'detach_known/1_1_$special_;/2___2'(Q1,
7088 J)
7089 )
7090 ),
7091 known(S)
7092 )
7093 ; C=atomic(V1),
7094 ( 'chr newvia_1'(V1,
7095 W1)
7096 -> get_attr(W1,
7097 guard_entailment,
7098 X1),
7099 X1=v(_, _, _, _, _, _, _, Y1, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
7100 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
7101 Y1)
7102 ),
7103 member(Z1,
7104 Y1),
7105 Z1=suspension(_, active, _, _, _, A2),
7106 A2==V1, !,
7107 ( var(J)
7108 -> true
7109 ; J=suspension(_, B2, _, _, C2, D2),
7110 setarg(2,
7111 J,
7112 removed),
7113 ( B2==not_stored_yet
7114 -> E2=[]
7115 ; term_variables(term(C2,
7116 D2),
7117 E2),
7118 ( arg(4,
7119 J,
7120 F2),
7121 ( var(F2)
7122 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7123 G2),
7124 G2=[_|H2],
7125 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7126 H2),
7127 ( H2=[I2|_]
7128 -> setarg(4,
7129 I2,
7130 _)
7131 ; true
7132 )
7133 ; F2=[_, _|H2],
7134 setarg(2,
7135 F2,
7136 H2),
7137 ( H2=[I2|_]
7138 -> setarg(4,
7139 I2,
7140 F2)
7141 ; true
7142 )
7143 )
7144 ),
7145 'detach_known/1_1_$special_;/2___2'(E2,
7146 J)
7147 )
7148 ),
7149 known(S)
7150 )
7151 ; C=compound(J2),
7152 ( 'chr newvia_1'(J2,
7153 K2)
7154 -> get_attr(K2,
7155 guard_entailment,
7156 L2),
7157 L2=v(_, _, _, _, _, _, _, _, M2, _, _, _, _, _, _, _, _, _, _, _, _, _)
7158 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
7159 M2)
7160 ),
7161 member(N2,
7162 M2),
7163 N2=suspension(_, active, _, _, _, O2),
7164 O2==J2, !,
7165 ( var(J)
7166 -> true
7167 ; J=suspension(_, P2, _, _, Q2, R2),
7168 setarg(2,
7169 J,
7170 removed),
7171 ( P2==not_stored_yet
7172 -> S2=[]
7173 ; term_variables(term(Q2,
7174 R2),
7175 S2),
7176 ( arg(4,
7177 J,
7178 T2),
7179 ( var(T2)
7180 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7181 U2),
7182 U2=[_|V2],
7183 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7184 V2),
7185 ( V2=[W2|_]
7186 -> setarg(4,
7187 W2,
7188 _)
7189 ; true
7190 )
7191 ; T2=[_, _|V2],
7192 setarg(2,
7193 T2,
7194 V2),
7195 ( V2=[W2|_]
7196 -> setarg(4,
7197 W2,
7198 T2)
7199 ; true
7200 )
7201 )
7202 ),
7203 'detach_known/1_1_$special_;/2___2'(S2,
7204 J)
7205 )
7206 ),
7207 known(S)
7208 )
7209 ; C=ground(X2),
7210 ( 'chr newvia_1'(X2,
7211 Y2)
7212 -> get_attr(Y2,
7213 guard_entailment,
7214 Z2),
7215 Z2=v(_, _, _, _, _, _, _, _, _, A3, _, _, _, _, _, _, _, _, _, _, _, _)
7216 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
7217 A3)
7218 ),
7219 member(B3,
7220 A3),
7221 B3=suspension(_, active, _, _, _, C3),
7222 C3==X2, !,
7223 ( var(J)
7224 -> true
7225 ; J=suspension(_, D3, _, _, E3, F3),
7226 setarg(2,
7227 J,
7228 removed),
7229 ( D3==not_stored_yet
7230 -> G3=[]
7231 ; term_variables(term(E3,
7232 F3),
7233 G3),
7234 ( arg(4,
7235 J,
7236 H3),
7237 ( var(H3)
7238 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7239 I3),
7240 I3=[_|J3],
7241 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7242 J3),
7243 ( J3=[K3|_]
7244 -> setarg(4,
7245 K3,
7246 _)
7247 ; true
7248 )
7249 ; H3=[_, _|J3],
7250 setarg(2,
7251 H3,
7252 J3),
7253 ( J3=[K3|_]
7254 -> setarg(4,
7255 K3,
7256 H3)
7257 ; true
7258 )
7259 )
7260 ),
7261 'detach_known/1_1_$special_;/2___2'(G3,
7262 J)
7263 )
7264 ),
7265 known(S)
7266 )
7267 ; C=integer(L3),
7268 ( 'chr newvia_1'(L3,
7269 M3)
7270 -> get_attr(M3,
7271 guard_entailment,
7272 N3),
7273 N3=v(_, _, _, _, _, _, _, _, _, _, O3, _, _, _, _, _, _, _, _, _, _, _)
7274 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
7275 O3)
7276 ),
7277 member(P3,
7278 O3),
7279 P3=suspension(_, active, _, _, _, Q3),
7280 Q3==L3, !,
7281 ( var(J)
7282 -> true
7283 ; J=suspension(_, R3, _, _, S3, T3),
7284 setarg(2,
7285 J,
7286 removed),
7287 ( R3==not_stored_yet
7288 -> U3=[]
7289 ; term_variables(term(S3,
7290 T3),
7291 U3),
7292 ( arg(4,
7293 J,
7294 V3),
7295 ( var(V3)
7296 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7297 W3),
7298 W3=[_|X3],
7299 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7300 X3),
7301 ( X3=[Y3|_]
7302 -> setarg(4,
7303 Y3,
7304 _)
7305 ; true
7306 )
7307 ; V3=[_, _|X3],
7308 setarg(2,
7309 V3,
7310 X3),
7311 ( X3=[Y3|_]
7312 -> setarg(4,
7313 Y3,
7314 V3)
7315 ; true
7316 )
7317 )
7318 ),
7319 'detach_known/1_1_$special_;/2___2'(U3,
7320 J)
7321 )
7322 ),
7323 known(S)
7324 )
7325 ; C=float(Z3),
7326 ( 'chr newvia_1'(Z3,
7327 A4)
7328 -> get_attr(A4,
7329 guard_entailment,
7330 B4),
7331 B4=v(_, _, _, _, _, _, _, _, _, _, _, C4, _, _, _, _, _, _, _, _, _, _)
7332 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
7333 C4)
7334 ),
7335 member(D4,
7336 C4),
7337 D4=suspension(_, active, _, _, _, E4),
7338 E4==Z3, !,
7339 ( var(J)
7340 -> true
7341 ; J=suspension(_, F4, _, _, G4, H4),
7342 setarg(2,
7343 J,
7344 removed),
7345 ( F4==not_stored_yet
7346 -> I4=[]
7347 ; term_variables(term(G4,
7348 H4),
7349 I4),
7350 ( arg(4,
7351 J,
7352 J4),
7353 ( var(J4)
7354 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7355 K4),
7356 K4=[_|L4],
7357 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7358 L4),
7359 ( L4=[M4|_]
7360 -> setarg(4,
7361 M4,
7362 _)
7363 ; true
7364 )
7365 ; J4=[_, _|L4],
7366 setarg(2,
7367 J4,
7368 L4),
7369 ( L4=[M4|_]
7370 -> setarg(4,
7371 M4,
7372 J4)
7373 ; true
7374 )
7375 )
7376 ),
7377 'detach_known/1_1_$special_;/2___2'(I4,
7378 J)
7379 )
7380 ),
7381 known(S)
7382 )
7383 ; C=number(N4),
7384 ( 'chr newvia_1'(N4,
7385 O4)
7386 -> get_attr(O4,
7387 guard_entailment,
7388 P4),
7389 P4=v(_, _, _, _, _, _, _, _, _, _, _, _, Q4, _, _, _, _, _, _, _, _, _)
7390 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
7391 Q4)
7392 ),
7393 member(R4,
7394 Q4),
7395 R4=suspension(_, active, _, _, _, S4),
7396 S4==N4, !,
7397 ( var(J)
7398 -> true
7399 ; J=suspension(_, T4, _, _, U4, V4),
7400 setarg(2,
7401 J,
7402 removed),
7403 ( T4==not_stored_yet
7404 -> W4=[]
7405 ; term_variables(term(U4,
7406 V4),
7407 W4),
7408 ( arg(4,
7409 J,
7410 X4),
7411 ( var(X4)
7412 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7413 Y4),
7414 Y4=[_|Z4],
7415 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7416 Z4),
7417 ( Z4=[A5|_]
7418 -> setarg(4,
7419 A5,
7420 _)
7421 ; true
7422 )
7423 ; X4=[_, _|Z4],
7424 setarg(2,
7425 X4,
7426 Z4),
7427 ( Z4=[A5|_]
7428 -> setarg(4,
7429 A5,
7430 X4)
7431 ; true
7432 )
7433 )
7434 ),
7435 'detach_known/1_1_$special_;/2___2'(W4,
7436 J)
7437 )
7438 ),
7439 known(S)
7440 )
7441 ; C=(B5=\=C5),
7442 ( 'chr newvia_2'(B5,
7443 C5,
7444 D5)
7445 -> get_attr(D5,
7446 guard_entailment,
7447 E5),
7448 E5=v(_, _, _, _, _, _, _, _, _, _, _, _, _, F5, _, _, _, _, _, _, _, _)
7449 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
7450 F5)
7451 ),
7452 member(G5, F5),
7453 G5=suspension(_, active, _, _, _, H5, I5),
7454 H5==B5,
7455 I5==C5, !,
7456 ( var(J)
7457 -> true
7458 ; J=suspension(_, J5, _, _, K5, L5),
7459 setarg(2, J, removed),
7460 ( J5==not_stored_yet
7461 -> M5=[]
7462 ; term_variables(term(K5,
7463 L5),
7464 M5),
7465 ( arg(4,
7466 J,
7467 N5),
7468 ( var(N5)
7469 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7470 O5),
7471 O5=[_|P5],
7472 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7473 P5),
7474 ( P5=[Q5|_]
7475 -> setarg(4,
7476 Q5,
7477 _)
7478 ; true
7479 )
7480 ; N5=[_, _|P5],
7481 setarg(2,
7482 N5,
7483 P5),
7484 ( P5=[Q5|_]
7485 -> setarg(4,
7486 Q5,
7487 N5)
7488 ; true
7489 )
7490 )
7491 ),
7492 'detach_known/1_1_$special_;/2___2'(M5,
7493 J)
7494 )
7495 ),
7496 known(S)
7497 )
7498 ; C=(\+R5),
7499 ( 'chr newvia_1'(R5,
7500 S5)
7501 -> get_attr(S5,
7502 guard_entailment,
7503 T5),
7504 T5=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, U5, _, _, _, _, _, _, _)
7505 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
7506 U5)
7507 ),
7508 member(V5, U5),
7509 V5=suspension(_, active, _, _, W5),
7510 W5==R5, !,
7511 ( var(J)
7512 -> true
7513 ; J=suspension(_, X5, _, _, Y5, Z5),
7514 setarg(2, J, removed),
7515 ( X5==not_stored_yet
7516 -> A6=[]
7517 ; term_variables(term(Y5,
7518 Z5),
7519 A6),
7520 ( arg(4, J, B6),
7521 ( var(B6)
7522 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7523 C6),
7524 C6=[_|D6],
7525 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7526 D6),
7527 ( D6=[E6|_]
7528 -> setarg(4,
7529 E6,
7530 _)
7531 ; true
7532 )
7533 ; B6=[_, _|D6],
7534 setarg(2,
7535 B6,
7536 D6),
7537 ( D6=[E6|_]
7538 -> setarg(4,
7539 E6,
7540 B6)
7541 ; true
7542 )
7543 )
7544 ),
7545 'detach_known/1_1_$special_;/2___2'(A6,
7546 J)
7547 )
7548 ),
7549 known(S)
7550 )
7551 ; C=functor(F6, G6, H6),
7552 ( 'chr newvia'(
7553 [ F6,
7554 G6,
7555 H6
7556 ],
7557 I6)
7558 -> get_attr(I6,
7559 guard_entailment,
7560 J6),
7561 J6=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, K6, _, _, _, _, _, _)
7562 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
7563 K6)
7564 ),
7565 member(L6, K6),
7566 L6=suspension(_, active, _, _, M6, N6, O6),
7567 M6==F6,
7568 N6==G6,
7569 O6==H6, !,
7570 ( var(J)
7571 -> true
7572 ; J=suspension(_, P6, _, _, Q6, R6),
7573 setarg(2, J, removed),
7574 ( P6==not_stored_yet
7575 -> S6=[]
7576 ; term_variables(term(Q6,
7577 R6),
7578 S6),
7579 ( arg(4, J, T6),
7580 ( var(T6)
7581 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7582 U6),
7583 U6=[_|V6],
7584 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7585 V6),
7586 ( V6=[W6|_]
7587 -> setarg(4,
7588 W6,
7589 _)
7590 ; true
7591 )
7592 ; T6=[_, _|V6],
7593 setarg(2,
7594 T6,
7595 V6),
7596 ( V6=[W6|_]
7597 -> setarg(4,
7598 W6,
7599 T6)
7600 ; true
7601 )
7602 )
7603 ),
7604 'detach_known/1_1_$special_;/2___2'(S6,
7605 J)
7606 )
7607 ),
7608 known(S)
7609 )
7610 ; C=(X6\=Y6),
7611 ( 'chr newvia_2'(X6,
7612 Y6,
7613 Z6)
7614 -> get_attr(Z6,
7615 guard_entailment,
7616 A7),
7617 A7=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, B7, _, _, _, _, _)
7618 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
7619 B7)
7620 ),
7621 member(C7, B7),
7622 C7=suspension(_, active, _, _, _, D7, E7),
7623 D7==X6,
7624 E7==Y6, !,
7625 ( var(J)
7626 -> true
7627 ; J=suspension(_, F7, _, _, G7, H7),
7628 setarg(2, J, removed),
7629 ( F7==not_stored_yet
7630 -> I7=[]
7631 ; term_variables(term(G7,
7632 H7),
7633 I7),
7634 ( arg(4, J, J7),
7635 ( var(J7)
7636 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7637 K7),
7638 K7=[_|L7],
7639 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7640 L7),
7641 ( L7=[M7|_]
7642 -> setarg(4,
7643 M7,
7644 _)
7645 ; true
7646 )
7647 ; J7=[_, _|L7],
7648 setarg(2,
7649 J7,
7650 L7),
7651 ( L7=[M7|_]
7652 -> setarg(4,
7653 M7,
7654 J7)
7655 ; true
7656 )
7657 )
7658 ),
7659 'detach_known/1_1_$special_;/2___2'(I7,
7660 J)
7661 )
7662 ),
7663 known(S)
7664 )
7665 ; C=(N7=O7),
7666 ( 'chr newvia_2'(N7,
7667 O7,
7668 P7)
7669 -> get_attr(P7,
7670 guard_entailment,
7671 Q7),
7672 Q7=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, R7, _, _, _, _)
7673 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
7674 R7)
7675 ),
7676 member(S7, R7),
7677 S7=suspension(_, active, _, _, T7, U7),
7678 T7==N7,
7679 U7==O7, !,
7680 ( var(J)
7681 -> true
7682 ; J=suspension(_, V7, _, _, W7, X7),
7683 setarg(2, J, removed),
7684 ( V7==not_stored_yet
7685 -> Y7=[]
7686 ; term_variables(term(W7,
7687 X7),
7688 Y7),
7689 ( arg(4, J, Z7),
7690 ( var(Z7)
7691 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7692 A8),
7693 A8=[_|B8],
7694 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7695 B8),
7696 ( B8=[C8|_]
7697 -> setarg(4, C8, _)
7698 ; true
7699 )
7700 ; Z7=[_, _|B8],
7701 setarg(2, Z7, B8),
7702 ( B8=[C8|_]
7703 -> setarg(4,
7704 C8,
7705 Z7)
7706 ; true
7707 )
7708 )
7709 ),
7710 'detach_known/1_1_$special_;/2___2'(Y7,
7711 J)
7712 )
7713 ),
7714 known(S)
7715 )
7716 ; C=(D8\==E8),
7717 ( 'chr newvia_2'(D8, E8, F8)
7718 -> get_attr(F8, guard_entailment, G8),
7719 G8=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, H8, _, _, _)
7720 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
7721 H8)
7722 ),
7723 member(I8, H8),
7724 I8=suspension(_, active, _, _, _, J8, K8),
7725 J8==D8,
7726 K8==E8, !,
7727 ( var(J)
7728 -> true
7729 ; J=suspension(_, L8, _, _, M8, N8),
7730 setarg(2, J, removed),
7731 ( L8==not_stored_yet
7732 -> O8=[]
7733 ; term_variables(term(M8, N8),
7734 O8),
7735 ( arg(4, J, P8),
7736 ( var(P8)
7737 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7738 Q8),
7739 Q8=[_|R8],
7740 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7741 R8),
7742 ( R8=[S8|_]
7743 -> setarg(4, S8, _)
7744 ; true
7745 )
7746 ; P8=[_, _|R8],
7747 setarg(2, P8, R8),
7748 ( R8=[S8|_]
7749 -> setarg(4, S8, P8)
7750 ; true
7751 )
7752 )
7753 ),
7754 'detach_known/1_1_$special_;/2___2'(O8,
7755 J)
7756 )
7757 ),
7758 known(S)
7759 )
7760 ; C=(T8==U8),
7761 ( 'chr newvia_2'(T8, U8, V8)
7762 -> get_attr(V8, guard_entailment, W8),
7763 W8=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, X8, _, _)
7764 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
7765 X8)
7766 ),
7767 member(Y8, X8),
7768 Y8=suspension(_, active, _, _, _, Z8, A9),
7769 Z8==T8,
7770 A9==U8, !,
7771 ( var(J)
7772 -> true
7773 ; J=suspension(_, B9, _, _, C9, D9),
7774 setarg(2, J, removed),
7775 ( B9==not_stored_yet
7776 -> E9=[]
7777 ; term_variables(term(C9, D9),
7778 E9),
7779 ( arg(4, J, F9),
7780 ( var(F9)
7781 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7782 G9),
7783 G9=[_|H9],
7784 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7785 H9),
7786 ( H9=[I9|_]
7787 -> setarg(4, I9, _)
7788 ; true
7789 )
7790 ; F9=[_, _|H9],
7791 setarg(2, F9, H9),
7792 ( H9=[I9|_]
7793 -> setarg(4, I9, F9)
7794 ; true
7795 )
7796 )
7797 ),
7798 'detach_known/1_1_$special_;/2___2'(E9,
7799 J)
7800 )
7801 ),
7802 known(S)
7803 )
7804 ; C=(J9=<K9),
7805 ( 'chr newvia_2'(J9, K9, L9)
7806 -> get_attr(L9, guard_entailment, M9),
7807 M9=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, N9, _)
7808 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
7809 N9)
7810 ),
7811 member(O9, N9),
7812 O9=suspension(_, active, _, _, _, P9, Q9),
7813 P9==J9,
7814 Q9==K9, !,
7815 ( var(J)
7816 -> true
7817 ; J=suspension(_, R9, _, _, S9, T9),
7818 setarg(2, J, removed),
7819 ( R9==not_stored_yet
7820 -> U9=[]
7821 ; term_variables(term(S9, T9),
7822 U9),
7823 ( arg(4, J, V9),
7824 ( var(V9)
7825 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7826 W9),
7827 W9=[_|X9],
7828 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7829 X9),
7830 ( X9=[Y9|_]
7831 -> setarg(4, Y9, _)
7832 ; true
7833 )
7834 ; V9=[_, _|X9],
7835 setarg(2, V9, X9),
7836 ( X9=[Y9|_]
7837 -> setarg(4, Y9, V9)
7838 ; true
7839 )
7840 )
7841 ),
7842 'detach_known/1_1_$special_;/2___2'(U9,
7843 J)
7844 )
7845 ),
7846 known(S)
7847 )
7848 ; C=(Z9=:=A10),
7849 ( 'chr newvia_2'(Z9, A10, B10)
7850 -> get_attr(B10, guard_entailment, C10),
7851 C10=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D10)
7852 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
7853 D10)
7854 ),
7855 member(E10, D10),
7856 E10=suspension(_, active, _, _, _, F10, G10),
7857 F10==Z9,
7858 G10==A10, !,
7859 ( var(J)
7860 -> true
7861 ; J=suspension(_, H10, _, _, I10, J10),
7862 setarg(2, J, removed),
7863 ( H10==not_stored_yet
7864 -> K10=[]
7865 ; term_variables(term(I10, J10), K10),
7866 ( arg(4, J, L10),
7867 ( var(L10)
7868 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7869 M10),
7870 M10=[_|N10],
7871 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7872 N10),
7873 ( N10=[O10|_]
7874 -> setarg(4, O10, _)
7875 ; true
7876 )
7877 ; L10=[_, _|N10],
7878 setarg(2, L10, N10),
7879 ( N10=[O10|_]
7880 -> setarg(4, O10, L10)
7881 ; true
7882 )
7883 )
7884 ),
7885 'detach_known/1_1_$special_;/2___2'(K10, J)
7886 )
7887 ),
7888 known(S)
7889 )
7890 ; ( 'chr newvia_1'(C, P10)
7891 -> get_attr(P10, guard_entailment, Q10),
7892 Q10=v(_, _, R10, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
7893 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
7894 R10)
7895 ),
7896 member(S10, R10),
7897 S10=suspension(_, active, _, _, T10),
7898 T10==C, !,
7899 ( var(J)
7900 -> true
7901 ; J=suspension(_, U10, _, _, V10, W10),
7902 setarg(2, J, removed),
7903 ( U10==not_stored_yet
7904 -> X10=[]
7905 ; term_variables(term(V10, W10), X10),
7906 ( arg(4, J, Y10),
7907 ( var(Y10)
7908 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7909 Z10),
7910 Z10=[_|A11],
7911 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7912 A11),
7913 ( A11=[B11|_]
7914 -> setarg(4, B11, _)
7915 ; true
7916 )
7917 ; Y10=[_, _|A11],
7918 setarg(2, Y10, A11),
7919 ( A11=[B11|_]
7920 -> setarg(4, B11, Y10)
7921 ; true
7922 )
7923 )
7924 ),
7925 'detach_known/1_1_$special_;/2___2'(X10, J)
7926 )
7927 ),
7928 known(S)
7929 ).
7930'known/1_1_$special_;/2___2__2'(A, P, G) :-
7931 ( 'chr newvia_1'(A, B)
7932 -> get_attr(B, guard_entailment, C),
7933 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
7934 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
7935 D)
7936 ),
7937 member(E, D),
7938 E=suspension(_, active, _, _, F),
7939 F==A, !,
7940 ( var(G)
7941 -> true
7942 ; G=suspension(_, H, _, _, I, J),
7943 setarg(2, G, removed),
7944 ( H==not_stored_yet
7945 -> K=[]
7946 ; term_variables(term(I, J), K),
7947 ( arg(4, G, L),
7948 ( var(L)
7949 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7950 M),
7951 M=[_|N],
7952 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7953 N),
7954 ( N=[O|_]
7955 -> setarg(4, O, _)
7956 ; true
7957 )
7958 ; L=[_, _|N],
7959 setarg(2, L, N),
7960 ( N=[O|_]
7961 -> setarg(4, O, L)
7962 ; true
7963 )
7964 )
7965 ),
7966 'detach_known/1_1_$special_;/2___2'(K, G)
7967 )
7968 ),
7969 known(P).
7970'known/1_1_$special_;/2___2__2'(A, Q, H) :-
7971 nonvar(A),
7972 A=(B, _),
7973 ( 'chr newvia_1'(B, C)
7974 -> get_attr(C, guard_entailment, D),
7975 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
7976 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
7977 E)
7978 ),
7979 member(F, E),
7980 F=suspension(_, active, _, _, G),
7981 G==B, !,
7982 ( var(H)
7983 -> true
7984 ; H=suspension(_, I, _, _, J, K),
7985 setarg(2, H, removed),
7986 ( I==not_stored_yet
7987 -> L=[]
7988 ; term_variables(term(J, K), L),
7989 ( arg(4, H, M),
7990 ( var(M)
7991 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7992 N),
7993 N=[_|O],
7994 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7995 O),
7996 ( O=[P|_]
7997 -> setarg(4, P, _)
7998 ; true
7999 )
8000 ; M=[_, _|O],
8001 setarg(2, M, O),
8002 ( O=[P|_]
8003 -> setarg(4, P, M)
8004 ; true
8005 )
8006 )
8007 ),
8008 'detach_known/1_1_$special_;/2___2'(L, H)
8009 )
8010 ),
8011 known(Q).
8012'known/1_1_$special_;/2___2__2'(A, K, B) :-
8013 A==fail, !,
8014 ( var(B)
8015 -> true
8016 ; B=suspension(_, C, _, _, D, E),
8017 setarg(2, B, removed),
8018 ( C==not_stored_yet
8019 -> F=[]
8020 ; term_variables(term(D, E), F),
8021 ( arg(4, B, G),
8022 ( var(G)
8023 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8024 H),
8025 H=[_|I],
8026 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8027 I),
8028 ( I=[J|_]
8029 -> setarg(4, J, _)
8030 ; true
8031 )
8032 ; G=[_, _|I],
8033 setarg(2, G, I),
8034 ( I=[J|_]
8035 -> setarg(4, J, G)
8036 ; true
8037 )
8038 )
8039 ),
8040 'detach_known/1_1_$special_;/2___2'(F, B)
8041 )
8042 ),
8043 known(K).
8044'known/1_1_$special_;/2___2__2'(K, A, B) :-
8045 A==fail, !,
8046 ( var(B)
8047 -> true
8048 ; B=suspension(_, C, _, _, D, E),
8049 setarg(2, B, removed),
8050 ( C==not_stored_yet
8051 -> F=[]
8052 ; term_variables(term(D, E), F),
8053 ( arg(4, B, G),
8054 ( var(G)
8055 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8056 H),
8057 H=[_|I],
8058 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8059 I),
8060 ( I=[J|_]
8061 -> setarg(4, J, _)
8062 ; true
8063 )
8064 ; G=[_, _|I],
8065 setarg(2, G, I),
8066 ( I=[J|_]
8067 -> setarg(4, J, G)
8068 ; true
8069 )
8070 )
8071 ),
8072 'detach_known/1_1_$special_;/2___2'(F, B)
8073 )
8074 ),
8075 known(K).
8076'known/1_1_$special_;/2___2__2'(A, _, B) :-
8077 A==true, !,
8078 ( var(B)
8079 -> true
8080 ; B=suspension(_, C, _, _, D, E),
8081 setarg(2, B, removed),
8082 ( C==not_stored_yet
8083 -> F=[]
8084 ; term_variables(term(D, E), F),
8085 ( arg(4, B, G),
8086 ( var(G)
8087 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8088 H),
8089 H=[_|I],
8090 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8091 I),
8092 ( I=[J|_]
8093 -> setarg(4, J, _)
8094 ; true
8095 )
8096 ; G=[_, _|I],
8097 setarg(2, G, I),
8098 ( I=[J|_]
8099 -> setarg(4, J, G)
8100 ; true
8101 )
8102 )
8103 ),
8104 'detach_known/1_1_$special_;/2___2'(F, B)
8105 )
8106 ).
8107'known/1_1_$special_;/2___2__2'(_, A, B) :-
8108 A==true, !,
8109 ( var(B)
8110 -> true
8111 ; B=suspension(_, C, _, _, D, E),
8112 setarg(2, B, removed),
8113 ( C==not_stored_yet
8114 -> F=[]
8115 ; term_variables(term(D, E), F),
8116 ( arg(4, B, G),
8117 ( var(G)
8118 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8119 H),
8120 H=[_|I],
8121 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8122 I),
8123 ( I=[J|_]
8124 -> setarg(4, J, _)
8125 ; true
8126 )
8127 ; G=[_, _|I],
8128 setarg(2, G, I),
8129 ( I=[J|_]
8130 -> setarg(4, J, G)
8131 ; true
8132 )
8133 )
8134 ),
8135 'detach_known/1_1_$special_;/2___2'(F, B)
8136 )
8137 ).
8138'known/1_1_$special_;/2___2__2'(A, B1, I) :-
8139 ( nonvar(A),
8140 A=(\+B),
8141 nonvar(B),
8142 B=functor(C, R, S)
8143 ),
8144 ( ( ( 'chr newvia_1'(C, D)
8145 -> get_attr(D, guard_entailment, E),
8146 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _)
8147 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
8148 F)
8149 ),
8150 member(G, F),
8151 G=suspension(_, active, _, _, H, _, _),
8152 H==C, !,
8153 ( var(I)
8154 -> true
8155 ; I=suspension(_, J, _, _, K, L),
8156 setarg(2, I, removed),
8157 ( J==not_stored_yet
8158 -> M=[]
8159 ; term_variables(term(K, L), M),
8160 ( arg(4, I, N),
8161 ( var(N)
8162 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8163 O),
8164 O=[_|P],
8165 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8166 P),
8167 ( P=[Q|_]
8168 -> setarg(4, Q, _)
8169 ; true
8170 )
8171 ; N=[_, _|P],
8172 setarg(2, N, P),
8173 ( P=[Q|_]
8174 -> setarg(4, Q, N)
8175 ; true
8176 )
8177 )
8178 ),
8179 'detach_known/1_1_$special_;/2___2'(M, I)
8180 )
8181 )
8182 ; nonvar(C),
8183 'chr lock'(C),
8184 'chr lock'(R),
8185 'chr lock'(S),
8186 functor(C, R, S),
8187 'chr unlock'(C),
8188 'chr unlock'(R),
8189 'chr unlock'(S), !,
8190 ( var(I)
8191 -> true
8192 ; I=suspension(_, T, _, _, U, V),
8193 setarg(2, I, removed),
8194 ( T==not_stored_yet
8195 -> W=[]
8196 ; term_variables(term(U, V), W),
8197 ( arg(4, I, X),
8198 ( var(X)
8199 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8200 Y),
8201 Y=[_|Z],
8202 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8203 Z),
8204 ( Z=[A1|_]
8205 -> setarg(4, A1, _)
8206 ; true
8207 )
8208 ; X=[_, _|Z],
8209 setarg(2, X, Z),
8210 ( Z=[A1|_]
8211 -> setarg(4, A1, X)
8212 ; true
8213 )
8214 )
8215 ),
8216 'detach_known/1_1_$special_;/2___2'(W, I)
8217 )
8218 ),
8219 known(B1)
8220 )
8221 ; nonvar(C),
8222 'chr lock'(C),
8223 'chr lock'(R),
8224 'chr lock'(S),
8225 \+ functor(C, R, S),
8226 'chr unlock'(C),
8227 'chr unlock'(R),
8228 'chr unlock'(S), !,
8229 ( var(I)
8230 -> true
8231 ; I=suspension(_, C1, _, _, D1, E1),
8232 setarg(2, I, removed),
8233 ( C1==not_stored_yet
8234 -> F1=[]
8235 ; term_variables(term(D1, E1), F1),
8236 ( arg(4, I, G1),
8237 ( var(G1)
8238 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8239 H1),
8240 H1=[_|I1],
8241 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8242 I1),
8243 ( I1=[J1|_]
8244 -> setarg(4, J1, _)
8245 ; true
8246 )
8247 ; G1=[_, _|I1],
8248 setarg(2, G1, I1),
8249 ( I1=[J1|_]
8250 -> setarg(4, J1, G1)
8251 ; true
8252 )
8253 )
8254 ),
8255 'detach_known/1_1_$special_;/2___2'(F1, I)
8256 )
8257 )
8258 ).
8259'known/1_1_$special_;/2___2__2'(_, _, A) :-
8260 arg(2, A, D),
8261 setarg(2, A, active),
8262 arg(3, A, B),
8263 C is B+1,
8264 setarg(3, A, C),
8265 ( D==not_stored_yet
8266 -> A=suspension(_, _, _, _, E, F),
8267 term_variables(term(E, F), G),
8268 'chr none_locked'(G),
8269 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8270 H),
8271 I=[A|H],
8272 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8273 I),
8274 ( H=[J|_]
8275 -> setarg(4, J, I)
8276 ; true
8277 )
8278 ),
8279 'attach_known/1_1_$special_;/2___2'(G, A)
8280 ; true
8281 ).
8282'known/1_1_$special_nonvar/1'(A) :-
8283 'known/1_1_$special_nonvar/1___1__0'(A, _).
8284'known/1_1_$special_nonvar/1___1__0'(A, G) :-
8285 ( 'chr newvia_1'(A, B)
8286 -> get_attr(B, guard_entailment, C),
8287 C=v(_, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
8288 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8289 D)
8290 ),
8291 member(E, D),
8292 E=suspension(_, active, _, _, F),
8293 F==A, !,
8294 ( var(G)
8295 -> true
8296 ; G=suspension(_, H, _, _, I),
8297 setarg(2, G, removed),
8298 ( H==not_stored_yet
8299 -> J=[]
8300 ; term_variables(I, J),
8301 ( arg(4, G, K),
8302 ( var(K)
8303 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8304 L),
8305 L=[_|M],
8306 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8307 M),
8308 ( M=[N|_]
8309 -> setarg(4, N, _)
8310 ; true
8311 )
8312 ; K=[_, _|M],
8313 setarg(2, K, M),
8314 ( M=[N|_]
8315 -> setarg(4, N, K)
8316 ; true
8317 )
8318 )
8319 ),
8320 'detach_known/1_1_$special_nonvar/1___1'(J, G)
8321 )
8322 ).
8323'known/1_1_$special_nonvar/1___1__0'(_, C) :-
8324 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
8325 A),
8326 member(B, A),
8327 B=suspension(_, active, _), !,
8328 ( var(C)
8329 -> true
8330 ; C=suspension(_, D, _, _, E),
8331 setarg(2, C, removed),
8332 ( D==not_stored_yet
8333 -> F=[]
8334 ; term_variables(E, F),
8335 ( arg(4, C, G),
8336 ( var(G)
8337 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8338 H),
8339 H=[_|I],
8340 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8341 I),
8342 ( I=[J|_]
8343 -> setarg(4, J, _)
8344 ; true
8345 )
8346 ; G=[_, _|I],
8347 setarg(2, G, I),
8348 ( I=[J|_]
8349 -> setarg(4, J, G)
8350 ; true
8351 )
8352 )
8353 ),
8354 'detach_known/1_1_$special_nonvar/1___1'(F, C)
8355 )
8356 ).
8357'known/1_1_$special_nonvar/1___1__0'(A, N) :-
8358 ( 'chr newvia_1'(A, B)
8359 -> get_attr(B, guard_entailment, C),
8360 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
8361 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
8362 D)
8363 ),
8364 member(E, D),
8365 E=suspension(_, active, _, _, F),
8366 nonvar(F),
8367 F=nonvar(G),
8368 G==A, !,
8369 E=suspension(_, _, _, _, H),
8370 setarg(2, E, removed),
8371 term_variables(H, M),
8372 arg(4, E, I),
8373 ( var(I)
8374 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
8375 J),
8376 J=[_|K],
8377 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
8378 K),
8379 ( K=[L|_]
8380 -> setarg(4, L, _)
8381 ; true
8382 )
8383 ; I=[_, _|K],
8384 setarg(2, I, K),
8385 ( K=[L|_]
8386 -> setarg(4, L, I)
8387 ; true
8388 )
8389 ),
8390 'detach_known/1_1_$special_\\+/1___1'(M, E),
8391 ( var(N)
8392 -> true
8393 ; N=suspension(_, O, _, _, P),
8394 setarg(2, N, removed),
8395 ( O==not_stored_yet
8396 -> Q=[]
8397 ; term_variables(P, Q),
8398 ( arg(4, N, R),
8399 ( var(R)
8400 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8401 S),
8402 S=[_|T],
8403 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8404 T),
8405 ( T=[U|_]
8406 -> setarg(4, U, _)
8407 ; true
8408 )
8409 ; R=[_, _|T],
8410 setarg(2, R, T),
8411 ( T=[U|_]
8412 -> setarg(4, U, R)
8413 ; true
8414 )
8415 )
8416 ),
8417 'detach_known/1_1_$special_nonvar/1___1'(Q, N)
8418 )
8419 ),
8420 'known/1_1_$special_fail/0'.
8421'known/1_1_$special_nonvar/1___1__0'(A, M) :-
8422 ( 'chr newvia_1'(A, B)
8423 -> get_attr(B, guard_entailment, C),
8424 C=v(_, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
8425 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8426 D)
8427 ),
8428 member(E, D),
8429 E=suspension(_, active, _, _, F),
8430 F==A, !,
8431 E=suspension(_, _, _, _, G),
8432 setarg(2, E, removed),
8433 term_variables(G, L),
8434 arg(4, E, H),
8435 ( var(H)
8436 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8437 I),
8438 I=[_|J],
8439 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8440 J),
8441 ( J=[K|_]
8442 -> setarg(4, K, _)
8443 ; true
8444 )
8445 ; H=[_, _|J],
8446 setarg(2, H, J),
8447 ( J=[K|_]
8448 -> setarg(4, K, H)
8449 ; true
8450 )
8451 ),
8452 'detach_known/1_1_$special_var/1___1'(L, E),
8453 ( var(M)
8454 -> true
8455 ; M=suspension(_, N, _, _, O),
8456 setarg(2, M, removed),
8457 ( N==not_stored_yet
8458 -> P=[]
8459 ; term_variables(O, P),
8460 ( arg(4, M, Q),
8461 ( var(Q)
8462 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8463 R),
8464 R=[_|S],
8465 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8466 S),
8467 ( S=[T|_]
8468 -> setarg(4, T, _)
8469 ; true
8470 )
8471 ; Q=[_, _|S],
8472 setarg(2, Q, S),
8473 ( S=[T|_]
8474 -> setarg(4, T, Q)
8475 ; true
8476 )
8477 )
8478 ),
8479 'detach_known/1_1_$special_nonvar/1___1'(P, M)
8480 )
8481 ),
8482 'known/1_1_$special_fail/0'.
8483'known/1_1_$special_nonvar/1___1__0'(A, E) :-
8484 ( 'chr newvia_1'(A, B)
8485 -> get_attr(B, guard_entailment, C),
8486 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
8487 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8488 D)
8489 ), !,
8490 ( var(E)
8491 -> E=suspension(F, not_stored_yet, 0, _, A),
8492 'chr gen_id'(F)
8493 ; true
8494 ),
8495 'known/1_1_$special_nonvar/1___1__0__0__7'(D, A, E).
8496'known/1_1_$special_nonvar/1___1__0__0__7'([], A, B) :-
8497 'known/1_1_$special_nonvar/1___1__1'(A, B).
8498'known/1_1_$special_nonvar/1___1__0__0__7'([A|W], E, M) :-
8499 ( A=suspension(_, active, _, _, B, V),
8500 nonvar(B),
8501 B=(\+C),
8502 nonvar(C),
8503 C=nonvar(D),
8504 D==E
8505 -> ( A=suspension(_, _, _, _, F, G),
8506 setarg(2, A, removed),
8507 term_variables(term(F, G), L),
8508 ( arg(4, A, H),
8509 ( var(H)
8510 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8511 I),
8512 I=[_|J],
8513 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8514 J),
8515 ( J=[K|_]
8516 -> setarg(4, K, _)
8517 ; true
8518 )
8519 ; H=[_, _|J],
8520 setarg(2, H, J),
8521 ( J=[K|_]
8522 -> setarg(4, K, H)
8523 ; true
8524 )
8525 )
8526 ),
8527 'detach_known/1_1_$special_;/2___2'(L, A)
8528 ),
8529 ( arg(2, M, P),
8530 setarg(2, M, active),
8531 ( arg(3, M, N),
8532 O is N+1,
8533 setarg(3, M, O)
8534 ),
8535 ( P==not_stored_yet
8536 -> M=suspension(_, _, _, _, Q),
8537 term_variables(Q, R),
8538 'chr none_locked'(R),
8539 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8540 S),
8541 T=[M|S],
8542 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8543 T),
8544 ( S=[U|_]
8545 -> setarg(4, U, T)
8546 ; true
8547 )
8548 ),
8549 'attach_known/1_1_$special_nonvar/1___1'(R, M)
8550 ; true
8551 )
8552 ),
8553 known(V),
8554 ( M=suspension(_, active, O, _, _)
8555 -> setarg(2, M, inactive),
8556 'known/1_1_$special_nonvar/1___1__0__0__7'(W,
8557 E,
8558 M)
8559 ; true
8560 )
8561 ; 'known/1_1_$special_nonvar/1___1__0__0__7'(W,
8562 E,
8563 M)
8564 ).
8565'known/1_1_$special_nonvar/1___1__0'(B, A) :-
8566 ( var(A)
8567 -> A=suspension(C, not_stored_yet, 0, _, B),
8568 'chr gen_id'(C)
8569 ; true
8570 ),
8571 'known/1_1_$special_nonvar/1___1__1'(B, A).
8572'known/1_1_$special_nonvar/1___1__1'(A, E) :-
8573 ( 'chr newvia_1'(A, B)
8574 -> get_attr(B, guard_entailment, C),
8575 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
8576 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8577 D)
8578 ), !,
8579 'known/1_1_$special_nonvar/1___1__1__0__8'(D, A, E).
8580'known/1_1_$special_nonvar/1___1__1__0__8'([], A, B) :-
8581 'known/1_1_$special_nonvar/1___1__2'(A, B).
8582'known/1_1_$special_nonvar/1___1__1__0__8'([A|X], F, N) :-
8583 ( A=suspension(_, active, _, _, B, W),
8584 nonvar(B),
8585 B=(C, _),
8586 nonvar(C),
8587 C=(\+D),
8588 nonvar(D),
8589 D=nonvar(E),
8590 E==F
8591 -> ( A=suspension(_, _, _, _, G, H),
8592 setarg(2, A, removed),
8593 term_variables(term(G, H), M),
8594 ( arg(4, A, I),
8595 ( var(I)
8596 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8597 J),
8598 J=[_|K],
8599 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8600 K),
8601 ( K=[L|_]
8602 -> setarg(4, L, _)
8603 ; true
8604 )
8605 ; I=[_, _|K],
8606 setarg(2, I, K),
8607 ( K=[L|_]
8608 -> setarg(4, L, I)
8609 ; true
8610 )
8611 )
8612 ),
8613 'detach_known/1_1_$special_;/2___2'(M, A)
8614 ),
8615 ( arg(2, N, Q),
8616 setarg(2, N, active),
8617 ( arg(3, N, O),
8618 P is O+1,
8619 setarg(3, N, P)
8620 ),
8621 ( Q==not_stored_yet
8622 -> N=suspension(_, _, _, _, R),
8623 term_variables(R, S),
8624 'chr none_locked'(S),
8625 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8626 T),
8627 U=[N|T],
8628 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8629 U),
8630 ( T=[V|_]
8631 -> setarg(4, V, U)
8632 ; true
8633 )
8634 ),
8635 'attach_known/1_1_$special_nonvar/1___1'(S, N)
8636 ; true
8637 )
8638 ),
8639 known(W),
8640 ( N=suspension(_, active, P, _, _)
8641 -> setarg(2, N, inactive),
8642 'known/1_1_$special_nonvar/1___1__1__0__8'(X,
8643 F,
8644 N)
8645 ; true
8646 )
8647 ; 'known/1_1_$special_nonvar/1___1__1__0__8'(X,
8648 F,
8649 N)
8650 ).
8651'known/1_1_$special_nonvar/1___1__1'(A, B) :-
8652 'known/1_1_$special_nonvar/1___1__2'(A, B).
8653'known/1_1_$special_nonvar/1___1__2'(_, A) :-
8654 arg(2, A, D),
8655 setarg(2, A, active),
8656 arg(3, A, B),
8657 C is B+1,
8658 setarg(3, A, C),
8659 ( D==not_stored_yet
8660 -> A=suspension(_, _, _, _, E),
8661 term_variables(E, F),
8662 'chr none_locked'(F),
8663 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8664 G),
8665 H=[A|G],
8666 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8667 H),
8668 ( G=[I|_]
8669 -> setarg(4, I, H)
8670 ; true
8671 )
8672 ),
8673 'attach_known/1_1_$special_nonvar/1___1'(F, A)
8674 ; true
8675 ).
8676'known/1_1_$special_var/1'(A) :-
8677 'known/1_1_$special_var/1___1__0'(A, _).
8678'known/1_1_$special_var/1___1__0'(A, G) :-
8679 ( 'chr newvia_1'(A, B)
8680 -> get_attr(B, guard_entailment, C),
8681 C=v(_, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
8682 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8683 D)
8684 ),
8685 member(E, D),
8686 E=suspension(_, active, _, _, F),
8687 F==A, !,
8688 ( var(G)
8689 -> true
8690 ; G=suspension(_, H, _, _, I),
8691 setarg(2, G, removed),
8692 ( H==not_stored_yet
8693 -> J=[]
8694 ; term_variables(I, J),
8695 ( arg(4, G, K),
8696 ( var(K)
8697 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8698 L),
8699 L=[_|M],
8700 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8701 M),
8702 ( M=[N|_]
8703 -> setarg(4, N, _)
8704 ; true
8705 )
8706 ; K=[_, _|M],
8707 setarg(2, K, M),
8708 ( M=[N|_]
8709 -> setarg(4, N, K)
8710 ; true
8711 )
8712 )
8713 ),
8714 'detach_known/1_1_$special_var/1___1'(J, G)
8715 )
8716 ).
8717'known/1_1_$special_var/1___1__0'(_, C) :-
8718 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
8719 A),
8720 member(B, A),
8721 B=suspension(_, active, _), !,
8722 ( var(C)
8723 -> true
8724 ; C=suspension(_, D, _, _, E),
8725 setarg(2, C, removed),
8726 ( D==not_stored_yet
8727 -> F=[]
8728 ; term_variables(E, F),
8729 ( arg(4, C, G),
8730 ( var(G)
8731 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8732 H),
8733 H=[_|I],
8734 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8735 I),
8736 ( I=[J|_]
8737 -> setarg(4, J, _)
8738 ; true
8739 )
8740 ; G=[_, _|I],
8741 setarg(2, G, I),
8742 ( I=[J|_]
8743 -> setarg(4, J, G)
8744 ; true
8745 )
8746 )
8747 ),
8748 'detach_known/1_1_$special_var/1___1'(F, C)
8749 )
8750 ).
8751'known/1_1_$special_var/1___1__0'(A, N) :-
8752 ( 'chr newvia_1'(A, B)
8753 -> get_attr(B, guard_entailment, C),
8754 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
8755 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
8756 D)
8757 ),
8758 member(E, D),
8759 E=suspension(_, active, _, _, F),
8760 nonvar(F),
8761 F=var(G),
8762 G==A, !,
8763 E=suspension(_, _, _, _, H),
8764 setarg(2, E, removed),
8765 term_variables(H, M),
8766 arg(4, E, I),
8767 ( var(I)
8768 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
8769 J),
8770 J=[_|K],
8771 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
8772 K),
8773 ( K=[L|_]
8774 -> setarg(4, L, _)
8775 ; true
8776 )
8777 ; I=[_, _|K],
8778 setarg(2, I, K),
8779 ( K=[L|_]
8780 -> setarg(4, L, I)
8781 ; true
8782 )
8783 ),
8784 'detach_known/1_1_$special_\\+/1___1'(M, E),
8785 ( var(N)
8786 -> true
8787 ; N=suspension(_, O, _, _, P),
8788 setarg(2, N, removed),
8789 ( O==not_stored_yet
8790 -> Q=[]
8791 ; term_variables(P, Q),
8792 ( arg(4, N, R),
8793 ( var(R)
8794 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8795 S),
8796 S=[_|T],
8797 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8798 T),
8799 ( T=[U|_]
8800 -> setarg(4, U, _)
8801 ; true
8802 )
8803 ; R=[_, _|T],
8804 setarg(2, R, T),
8805 ( T=[U|_]
8806 -> setarg(4, U, R)
8807 ; true
8808 )
8809 )
8810 ),
8811 'detach_known/1_1_$special_var/1___1'(Q, N)
8812 )
8813 ),
8814 'known/1_1_$special_fail/0'.
8815'known/1_1_$special_var/1___1__0'(A, M) :-
8816 ( 'chr newvia_1'(A, B)
8817 -> get_attr(B, guard_entailment, C),
8818 C=v(_, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
8819 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8820 D)
8821 ),
8822 member(E, D),
8823 E=suspension(_, active, _, _, F),
8824 F==A, !,
8825 E=suspension(_, _, _, _, G),
8826 setarg(2, E, removed),
8827 term_variables(G, L),
8828 arg(4, E, H),
8829 ( var(H)
8830 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8831 I),
8832 I=[_|J],
8833 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8834 J),
8835 ( J=[K|_]
8836 -> setarg(4, K, _)
8837 ; true
8838 )
8839 ; H=[_, _|J],
8840 setarg(2, H, J),
8841 ( J=[K|_]
8842 -> setarg(4, K, H)
8843 ; true
8844 )
8845 ),
8846 'detach_known/1_1_$special_nonvar/1___1'(L, E),
8847 ( var(M)
8848 -> true
8849 ; M=suspension(_, N, _, _, O),
8850 setarg(2, M, removed),
8851 ( N==not_stored_yet
8852 -> P=[]
8853 ; term_variables(O, P),
8854 ( arg(4, M, Q),
8855 ( var(Q)
8856 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8857 R),
8858 R=[_|S],
8859 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8860 S),
8861 ( S=[T|_]
8862 -> setarg(4, T, _)
8863 ; true
8864 )
8865 ; Q=[_, _|S],
8866 setarg(2, Q, S),
8867 ( S=[T|_]
8868 -> setarg(4, T, Q)
8869 ; true
8870 )
8871 )
8872 ),
8873 'detach_known/1_1_$special_var/1___1'(P, M)
8874 )
8875 ),
8876 'known/1_1_$special_fail/0'.
8877'known/1_1_$special_var/1___1__0'(A, E) :-
8878 ( 'chr newvia_1'(A, B)
8879 -> get_attr(B, guard_entailment, C),
8880 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
8881 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8882 D)
8883 ), !,
8884 ( var(E)
8885 -> E=suspension(F, not_stored_yet, 0, _, A),
8886 'chr gen_id'(F)
8887 ; true
8888 ),
8889 'known/1_1_$special_var/1___1__0__0__7'(D, A, E).
8890'known/1_1_$special_var/1___1__0__0__7'([], A, B) :-
8891 'known/1_1_$special_var/1___1__1'(A, B).
8892'known/1_1_$special_var/1___1__0__0__7'([A|W], E, M) :-
8893 ( A=suspension(_, active, _, _, B, V),
8894 nonvar(B),
8895 B=(\+C),
8896 nonvar(C),
8897 C=var(D),
8898 D==E
8899 -> ( A=suspension(_, _, _, _, F, G),
8900 setarg(2, A, removed),
8901 term_variables(term(F, G), L),
8902 ( arg(4, A, H),
8903 ( var(H)
8904 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8905 I),
8906 I=[_|J],
8907 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8908 J),
8909 ( J=[K|_]
8910 -> setarg(4, K, _)
8911 ; true
8912 )
8913 ; H=[_, _|J],
8914 setarg(2, H, J),
8915 ( J=[K|_]
8916 -> setarg(4, K, H)
8917 ; true
8918 )
8919 )
8920 ),
8921 'detach_known/1_1_$special_;/2___2'(L, A)
8922 ),
8923 ( arg(2, M, P),
8924 setarg(2, M, active),
8925 ( arg(3, M, N),
8926 O is N+1,
8927 setarg(3, M, O)
8928 ),
8929 ( P==not_stored_yet
8930 -> M=suspension(_, _, _, _, Q),
8931 term_variables(Q, R),
8932 'chr none_locked'(R),
8933 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8934 S),
8935 T=[M|S],
8936 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8937 T),
8938 ( S=[U|_]
8939 -> setarg(4, U, T)
8940 ; true
8941 )
8942 ),
8943 'attach_known/1_1_$special_var/1___1'(R, M)
8944 ; true
8945 )
8946 ),
8947 known(V),
8948 ( M=suspension(_, active, O, _, _)
8949 -> setarg(2, M, inactive),
8950 'known/1_1_$special_var/1___1__0__0__7'(W,
8951 E,
8952 M)
8953 ; true
8954 )
8955 ; 'known/1_1_$special_var/1___1__0__0__7'(W, E, M)
8956 ).
8957'known/1_1_$special_var/1___1__0'(B, A) :-
8958 ( var(A)
8959 -> A=suspension(C, not_stored_yet, 0, _, B),
8960 'chr gen_id'(C)
8961 ; true
8962 ),
8963 'known/1_1_$special_var/1___1__1'(B, A).
8964'known/1_1_$special_var/1___1__1'(A, E) :-
8965 ( 'chr newvia_1'(A, B)
8966 -> get_attr(B, guard_entailment, C),
8967 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
8968 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8969 D)
8970 ), !,
8971 'known/1_1_$special_var/1___1__1__0__8'(D, A, E).
8972'known/1_1_$special_var/1___1__1__0__8'([], A, B) :-
8973 'known/1_1_$special_var/1___1__2'(A, B).
8974'known/1_1_$special_var/1___1__1__0__8'([A|X], F, N) :-
8975 ( A=suspension(_, active, _, _, B, W),
8976 nonvar(B),
8977 B=(C, _),
8978 nonvar(C),
8979 C=(\+D),
8980 nonvar(D),
8981 D=var(E),
8982 E==F
8983 -> ( A=suspension(_, _, _, _, G, H),
8984 setarg(2, A, removed),
8985 term_variables(term(G, H), M),
8986 ( arg(4, A, I),
8987 ( var(I)
8988 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8989 J),
8990 J=[_|K],
8991 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8992 K),
8993 ( K=[L|_]
8994 -> setarg(4, L, _)
8995 ; true
8996 )
8997 ; I=[_, _|K],
8998 setarg(2, I, K),
8999 ( K=[L|_]
9000 -> setarg(4, L, I)
9001 ; true
9002 )
9003 )
9004 ),
9005 'detach_known/1_1_$special_;/2___2'(M, A)
9006 ),
9007 ( arg(2, N, Q),
9008 setarg(2, N, active),
9009 ( arg(3, N, O),
9010 P is O+1,
9011 setarg(3, N, P)
9012 ),
9013 ( Q==not_stored_yet
9014 -> N=suspension(_, _, _, _, R),
9015 term_variables(R, S),
9016 'chr none_locked'(S),
9017 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
9018 T),
9019 U=[N|T],
9020 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
9021 U),
9022 ( T=[V|_]
9023 -> setarg(4, V, U)
9024 ; true
9025 )
9026 ),
9027 'attach_known/1_1_$special_var/1___1'(S, N)
9028 ; true
9029 )
9030 ),
9031 known(W),
9032 ( N=suspension(_, active, P, _, _)
9033 -> setarg(2, N, inactive),
9034 'known/1_1_$special_var/1___1__1__0__8'(X,
9035 F,
9036 N)
9037 ; true
9038 )
9039 ; 'known/1_1_$special_var/1___1__1__0__8'(X, F, N)
9040 ).
9041'known/1_1_$special_var/1___1__1'(A, B) :-
9042 'known/1_1_$special_var/1___1__2'(A, B).
9043'known/1_1_$special_var/1___1__2'(_, A) :-
9044 arg(2, A, D),
9045 setarg(2, A, active),
9046 arg(3, A, B),
9047 C is B+1,
9048 setarg(3, A, C),
9049 ( D==not_stored_yet
9050 -> A=suspension(_, _, _, _, E),
9051 term_variables(E, F),
9052 'chr none_locked'(F),
9053 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
9054 G),
9055 H=[A|G],
9056 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
9057 H),
9058 ( G=[I|_]
9059 -> setarg(4, I, H)
9060 ; true
9061 )
9062 ),
9063 'attach_known/1_1_$special_var/1___1'(F, A)
9064 ; true
9065 ).
9066'known/1_1_$special_atom/1'(A) :-
9067 'known/1_1_$special_atom/1___1__0'(A, _).
9068'known/1_1_$special_atom/1___1__0'(A, G) :-
9069 ( 'chr newvia_1'(A, B)
9070 -> get_attr(B, guard_entailment, C),
9071 C=v(_, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9072 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9073 D)
9074 ),
9075 member(E, D),
9076 E=suspension(_, active, _, _, _, F),
9077 F==A, !,
9078 ( var(G)
9079 -> true
9080 ; G=suspension(_, H, _, _, _, I),
9081 setarg(2, G, removed),
9082 ( H==not_stored_yet
9083 -> J=[]
9084 ; term_variables(I, J),
9085 ( arg(5, G, K),
9086 ( var(K)
9087 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9088 L),
9089 L=[_|M],
9090 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9091 M),
9092 ( M=[N|_]
9093 -> setarg(5, N, _)
9094 ; true
9095 )
9096 ; K=[_, _|M],
9097 setarg(2, K, M),
9098 ( M=[N|_]
9099 -> setarg(5, N, K)
9100 ; true
9101 )
9102 )
9103 ),
9104 'detach_known/1_1_$special_atom/1___1'(J, G)
9105 )
9106 ).
9107'known/1_1_$special_atom/1___1__0'(_, C) :-
9108 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
9109 A),
9110 member(B, A),
9111 B=suspension(_, active, _), !,
9112 ( var(C)
9113 -> true
9114 ; C=suspension(_, D, _, _, _, E),
9115 setarg(2, C, removed),
9116 ( D==not_stored_yet
9117 -> F=[]
9118 ; term_variables(E, F),
9119 ( arg(5, C, G),
9120 ( var(G)
9121 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9122 H),
9123 H=[_|I],
9124 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9125 I),
9126 ( I=[J|_]
9127 -> setarg(5, J, _)
9128 ; true
9129 )
9130 ; G=[_, _|I],
9131 setarg(2, G, I),
9132 ( I=[J|_]
9133 -> setarg(5, J, G)
9134 ; true
9135 )
9136 )
9137 ),
9138 'detach_known/1_1_$special_atom/1___1'(F, C)
9139 )
9140 ).
9141'known/1_1_$special_atom/1___1__0'(A, N) :-
9142 ( 'chr newvia_1'(A, B)
9143 -> get_attr(B, guard_entailment, C),
9144 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
9145 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9146 D)
9147 ),
9148 member(E, D),
9149 E=suspension(_, active, _, _, F),
9150 nonvar(F),
9151 F=atom(G),
9152 G==A, !,
9153 E=suspension(_, _, _, _, H),
9154 setarg(2, E, removed),
9155 term_variables(H, M),
9156 arg(4, E, I),
9157 ( var(I)
9158 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9159 J),
9160 J=[_|K],
9161 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9162 K),
9163 ( K=[L|_]
9164 -> setarg(4, L, _)
9165 ; true
9166 )
9167 ; I=[_, _|K],
9168 setarg(2, I, K),
9169 ( K=[L|_]
9170 -> setarg(4, L, I)
9171 ; true
9172 )
9173 ),
9174 'detach_known/1_1_$special_\\+/1___1'(M, E),
9175 ( var(N)
9176 -> true
9177 ; N=suspension(_, O, _, _, _, P),
9178 setarg(2, N, removed),
9179 ( O==not_stored_yet
9180 -> Q=[]
9181 ; term_variables(P, Q),
9182 ( arg(5, N, R),
9183 ( var(R)
9184 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9185 S),
9186 S=[_|T],
9187 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9188 T),
9189 ( T=[U|_]
9190 -> setarg(5, U, _)
9191 ; true
9192 )
9193 ; R=[_, _|T],
9194 setarg(2, R, T),
9195 ( T=[U|_]
9196 -> setarg(5, U, R)
9197 ; true
9198 )
9199 )
9200 ),
9201 'detach_known/1_1_$special_atom/1___1'(Q, N)
9202 )
9203 ),
9204 'known/1_1_$special_fail/0'.
9205'known/1_1_$special_atom/1___1__0'(B, A) :-
9206 ( var(A)
9207 -> A=suspension(C, not_stored_yet, t, 0, _, B),
9208 'chr gen_id'(C)
9209 ; true
9210 ),
9211 ( '$novel_production'(A, 239), !,
9212 '$extend_history'(A, 239),
9213 arg(2, A, F),
9214 setarg(2, A, active),
9215 arg(4, A, D),
9216 E is D+1,
9217 setarg(4, A, E),
9218 ( F==not_stored_yet
9219 -> A=suspension(_, _, _, _, _, G),
9220 term_variables(G, H),
9221 'chr none_locked'(H),
9222 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9223 I),
9224 J=[A|I],
9225 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9226 J),
9227 ( I=[K|_]
9228 -> setarg(5, K, J)
9229 ; true
9230 )
9231 ),
9232 'attach_known/1_1_$special_atom/1___1'(H, A)
9233 ; true
9234 ),
9235 'known/1_1_$special_nonvar/1'(B),
9236 ( A=suspension(_, active, _, E, _, _)
9237 -> setarg(2, A, inactive),
9238 'known/1_1_$special_atom/1___1__1'(B, A)
9239 ; true
9240 )
9241 ; 'known/1_1_$special_atom/1___1__1'(B, A)
9242 ).
9243'known/1_1_$special_atom/1___1__1'(A, E) :-
9244 ( 'chr newvia_1'(A, B)
9245 -> get_attr(B, guard_entailment, C),
9246 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9247 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9248 D)
9249 ), !,
9250 'known/1_1_$special_atom/1___1__1__0__7'(D, A, E).
9251'known/1_1_$special_atom/1___1__1__0__7'([], A, B) :-
9252 'known/1_1_$special_atom/1___1__2'(A, B).
9253'known/1_1_$special_atom/1___1__1__0__7'([A|W], E, M) :-
9254 ( A=suspension(_, active, _, _, B, V),
9255 nonvar(B),
9256 B=(\+C),
9257 nonvar(C),
9258 C=atom(D),
9259 D==E
9260 -> ( A=suspension(_, _, _, _, F, G),
9261 setarg(2, A, removed),
9262 term_variables(term(F, G), L),
9263 ( arg(4, A, H),
9264 ( var(H)
9265 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9266 I),
9267 I=[_|J],
9268 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9269 J),
9270 ( J=[K|_]
9271 -> setarg(4, K, _)
9272 ; true
9273 )
9274 ; H=[_, _|J],
9275 setarg(2, H, J),
9276 ( J=[K|_]
9277 -> setarg(4, K, H)
9278 ; true
9279 )
9280 )
9281 ),
9282 'detach_known/1_1_$special_;/2___2'(L, A)
9283 ),
9284 ( arg(2, M, P),
9285 setarg(2, M, active),
9286 ( arg(4, M, N),
9287 O is N+1,
9288 setarg(4, M, O)
9289 ),
9290 ( P==not_stored_yet
9291 -> M=suspension(_, _, _, _, _, Q),
9292 term_variables(Q, R),
9293 'chr none_locked'(R),
9294 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9295 S),
9296 T=[M|S],
9297 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9298 T),
9299 ( S=[U|_]
9300 -> setarg(5, U, T)
9301 ; true
9302 )
9303 ),
9304 'attach_known/1_1_$special_atom/1___1'(R, M)
9305 ; true
9306 )
9307 ),
9308 known(V),
9309 ( M=suspension(_, active, _, O, _, _)
9310 -> setarg(2, M, inactive),
9311 'known/1_1_$special_atom/1___1__1__0__7'(W,
9312 E,
9313 M)
9314 ; true
9315 )
9316 ; 'known/1_1_$special_atom/1___1__1__0__7'(W, E, M)
9317 ).
9318'known/1_1_$special_atom/1___1__1'(A, B) :-
9319 'known/1_1_$special_atom/1___1__2'(A, B).
9320'known/1_1_$special_atom/1___1__2'(A, E) :-
9321 ( 'chr newvia_1'(A, B)
9322 -> get_attr(B, guard_entailment, C),
9323 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9324 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9325 D)
9326 ), !,
9327 'known/1_1_$special_atom/1___1__2__0__8'(D, A, E).
9328'known/1_1_$special_atom/1___1__2__0__8'([], A, B) :-
9329 'known/1_1_$special_atom/1___1__3'(A, B).
9330'known/1_1_$special_atom/1___1__2__0__8'([A|X], F, N) :-
9331 ( A=suspension(_, active, _, _, B, W),
9332 nonvar(B),
9333 B=(C, _),
9334 nonvar(C),
9335 C=(\+D),
9336 nonvar(D),
9337 D=atom(E),
9338 E==F
9339 -> ( A=suspension(_, _, _, _, G, H),
9340 setarg(2, A, removed),
9341 term_variables(term(G, H), M),
9342 ( arg(4, A, I),
9343 ( var(I)
9344 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9345 J),
9346 J=[_|K],
9347 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9348 K),
9349 ( K=[L|_]
9350 -> setarg(4, L, _)
9351 ; true
9352 )
9353 ; I=[_, _|K],
9354 setarg(2, I, K),
9355 ( K=[L|_]
9356 -> setarg(4, L, I)
9357 ; true
9358 )
9359 )
9360 ),
9361 'detach_known/1_1_$special_;/2___2'(M, A)
9362 ),
9363 ( arg(2, N, Q),
9364 setarg(2, N, active),
9365 ( arg(4, N, O),
9366 P is O+1,
9367 setarg(4, N, P)
9368 ),
9369 ( Q==not_stored_yet
9370 -> N=suspension(_, _, _, _, _, R),
9371 term_variables(R, S),
9372 'chr none_locked'(S),
9373 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9374 T),
9375 U=[N|T],
9376 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9377 U),
9378 ( T=[V|_]
9379 -> setarg(5, V, U)
9380 ; true
9381 )
9382 ),
9383 'attach_known/1_1_$special_atom/1___1'(S, N)
9384 ; true
9385 )
9386 ),
9387 known(W),
9388 ( N=suspension(_, active, _, P, _, _)
9389 -> setarg(2, N, inactive),
9390 'known/1_1_$special_atom/1___1__2__0__8'(X,
9391 F,
9392 N)
9393 ; true
9394 )
9395 ; 'known/1_1_$special_atom/1___1__2__0__8'(X, F, N)
9396 ).
9397'known/1_1_$special_atom/1___1__2'(A, B) :-
9398 'known/1_1_$special_atom/1___1__3'(A, B).
9399'known/1_1_$special_atom/1___1__3'(_, A) :-
9400 arg(2, A, D),
9401 setarg(2, A, active),
9402 arg(4, A, B),
9403 C is B+1,
9404 setarg(4, A, C),
9405 ( D==not_stored_yet
9406 -> A=suspension(_, _, _, _, _, E),
9407 term_variables(E, F),
9408 'chr none_locked'(F),
9409 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9410 G),
9411 H=[A|G],
9412 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9413 H),
9414 ( G=[I|_]
9415 -> setarg(5, I, H)
9416 ; true
9417 )
9418 ),
9419 'attach_known/1_1_$special_atom/1___1'(F, A)
9420 ; true
9421 ).
9422'known/1_1_$special_atomic/1'(A) :-
9423 'known/1_1_$special_atomic/1___1__0'(A, _).
9424'known/1_1_$special_atomic/1___1__0'(A, G) :-
9425 ( 'chr newvia_1'(A, B)
9426 -> get_attr(B, guard_entailment, C),
9427 C=v(_, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9428 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9429 D)
9430 ),
9431 member(E, D),
9432 E=suspension(_, active, _, _, _, F),
9433 F==A, !,
9434 ( var(G)
9435 -> true
9436 ; G=suspension(_, H, _, _, _, I),
9437 setarg(2, G, removed),
9438 ( H==not_stored_yet
9439 -> J=[]
9440 ; term_variables(I, J),
9441 ( arg(5, G, K),
9442 ( var(K)
9443 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9444 L),
9445 L=[_|M],
9446 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9447 M),
9448 ( M=[N|_]
9449 -> setarg(5, N, _)
9450 ; true
9451 )
9452 ; K=[_, _|M],
9453 setarg(2, K, M),
9454 ( M=[N|_]
9455 -> setarg(5, N, K)
9456 ; true
9457 )
9458 )
9459 ),
9460 'detach_known/1_1_$special_atomic/1___1'(J, G)
9461 )
9462 ).
9463'known/1_1_$special_atomic/1___1__0'(_, C) :-
9464 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
9465 A),
9466 member(B, A),
9467 B=suspension(_, active, _), !,
9468 ( var(C)
9469 -> true
9470 ; C=suspension(_, D, _, _, _, E),
9471 setarg(2, C, removed),
9472 ( D==not_stored_yet
9473 -> F=[]
9474 ; term_variables(E, F),
9475 ( arg(5, C, G),
9476 ( var(G)
9477 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9478 H),
9479 H=[_|I],
9480 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9481 I),
9482 ( I=[J|_]
9483 -> setarg(5, J, _)
9484 ; true
9485 )
9486 ; G=[_, _|I],
9487 setarg(2, G, I),
9488 ( I=[J|_]
9489 -> setarg(5, J, G)
9490 ; true
9491 )
9492 )
9493 ),
9494 'detach_known/1_1_$special_atomic/1___1'(F, C)
9495 )
9496 ).
9497'known/1_1_$special_atomic/1___1__0'(A, N) :-
9498 ( 'chr newvia_1'(A, B)
9499 -> get_attr(B, guard_entailment, C),
9500 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
9501 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9502 D)
9503 ),
9504 member(E, D),
9505 E=suspension(_, active, _, _, F),
9506 nonvar(F),
9507 F=atomic(G),
9508 G==A, !,
9509 E=suspension(_, _, _, _, H),
9510 setarg(2, E, removed),
9511 term_variables(H, M),
9512 arg(4, E, I),
9513 ( var(I)
9514 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9515 J),
9516 J=[_|K],
9517 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9518 K),
9519 ( K=[L|_]
9520 -> setarg(4, L, _)
9521 ; true
9522 )
9523 ; I=[_, _|K],
9524 setarg(2, I, K),
9525 ( K=[L|_]
9526 -> setarg(4, L, I)
9527 ; true
9528 )
9529 ),
9530 'detach_known/1_1_$special_\\+/1___1'(M, E),
9531 ( var(N)
9532 -> true
9533 ; N=suspension(_, O, _, _, _, P),
9534 setarg(2, N, removed),
9535 ( O==not_stored_yet
9536 -> Q=[]
9537 ; term_variables(P, Q),
9538 ( arg(5, N, R),
9539 ( var(R)
9540 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9541 S),
9542 S=[_|T],
9543 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9544 T),
9545 ( T=[U|_]
9546 -> setarg(5, U, _)
9547 ; true
9548 )
9549 ; R=[_, _|T],
9550 setarg(2, R, T),
9551 ( T=[U|_]
9552 -> setarg(5, U, R)
9553 ; true
9554 )
9555 )
9556 ),
9557 'detach_known/1_1_$special_atomic/1___1'(Q, N)
9558 )
9559 ),
9560 'known/1_1_$special_fail/0'.
9561'known/1_1_$special_atomic/1___1__0'(B, A) :-
9562 ( var(A)
9563 -> A=suspension(C, not_stored_yet, t, 0, _, B),
9564 'chr gen_id'(C)
9565 ; true
9566 ),
9567 ( '$novel_production'(A, 237), !,
9568 '$extend_history'(A, 237),
9569 arg(2, A, F),
9570 setarg(2, A, active),
9571 arg(4, A, D),
9572 E is D+1,
9573 setarg(4, A, E),
9574 ( F==not_stored_yet
9575 -> A=suspension(_, _, _, _, _, G),
9576 term_variables(G, H),
9577 'chr none_locked'(H),
9578 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9579 I),
9580 J=[A|I],
9581 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9582 J),
9583 ( I=[K|_]
9584 -> setarg(5, K, J)
9585 ; true
9586 )
9587 ),
9588 'attach_known/1_1_$special_atomic/1___1'(H, A)
9589 ; true
9590 ),
9591 'known/1_1_$special_nonvar/1'(B),
9592 ( A=suspension(_, active, _, E, _, _)
9593 -> setarg(2, A, inactive),
9594 'known/1_1_$special_atomic/1___1__1'(B, A)
9595 ; true
9596 )
9597 ; 'known/1_1_$special_atomic/1___1__1'(B, A)
9598 ).
9599'known/1_1_$special_atomic/1___1__1'(A, E) :-
9600 ( 'chr newvia_1'(A, B)
9601 -> get_attr(B, guard_entailment, C),
9602 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9603 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9604 D)
9605 ), !,
9606 'known/1_1_$special_atomic/1___1__1__0__7'(D, A, E).
9607'known/1_1_$special_atomic/1___1__1__0__7'([], A, B) :-
9608 'known/1_1_$special_atomic/1___1__2'(A, B).
9609'known/1_1_$special_atomic/1___1__1__0__7'([A|W], E, M) :-
9610 ( A=suspension(_, active, _, _, B, V),
9611 nonvar(B),
9612 B=(\+C),
9613 nonvar(C),
9614 C=atomic(D),
9615 D==E
9616 -> ( A=suspension(_, _, _, _, F, G),
9617 setarg(2, A, removed),
9618 term_variables(term(F, G), L),
9619 ( arg(4, A, H),
9620 ( var(H)
9621 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9622 I),
9623 I=[_|J],
9624 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9625 J),
9626 ( J=[K|_]
9627 -> setarg(4, K, _)
9628 ; true
9629 )
9630 ; H=[_, _|J],
9631 setarg(2, H, J),
9632 ( J=[K|_]
9633 -> setarg(4, K, H)
9634 ; true
9635 )
9636 )
9637 ),
9638 'detach_known/1_1_$special_;/2___2'(L, A)
9639 ),
9640 ( arg(2, M, P),
9641 setarg(2, M, active),
9642 ( arg(4, M, N),
9643 O is N+1,
9644 setarg(4, M, O)
9645 ),
9646 ( P==not_stored_yet
9647 -> M=suspension(_, _, _, _, _, Q),
9648 term_variables(Q, R),
9649 'chr none_locked'(R),
9650 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9651 S),
9652 T=[M|S],
9653 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9654 T),
9655 ( S=[U|_]
9656 -> setarg(5, U, T)
9657 ; true
9658 )
9659 ),
9660 'attach_known/1_1_$special_atomic/1___1'(R, M)
9661 ; true
9662 )
9663 ),
9664 known(V),
9665 ( M=suspension(_, active, _, O, _, _)
9666 -> setarg(2, M, inactive),
9667 'known/1_1_$special_atomic/1___1__1__0__7'(W,
9668 E,
9669 M)
9670 ; true
9671 )
9672 ; 'known/1_1_$special_atomic/1___1__1__0__7'(W,
9673 E,
9674 M)
9675 ).
9676'known/1_1_$special_atomic/1___1__1'(A, B) :-
9677 'known/1_1_$special_atomic/1___1__2'(A, B).
9678'known/1_1_$special_atomic/1___1__2'(A, E) :-
9679 ( 'chr newvia_1'(A, B)
9680 -> get_attr(B, guard_entailment, C),
9681 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9682 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9683 D)
9684 ), !,
9685 'known/1_1_$special_atomic/1___1__2__0__8'(D, A, E).
9686'known/1_1_$special_atomic/1___1__2__0__8'([], A, B) :-
9687 'known/1_1_$special_atomic/1___1__3'(A, B).
9688'known/1_1_$special_atomic/1___1__2__0__8'([A|X], F, N) :-
9689 ( A=suspension(_, active, _, _, B, W),
9690 nonvar(B),
9691 B=(C, _),
9692 nonvar(C),
9693 C=(\+D),
9694 nonvar(D),
9695 D=atomic(E),
9696 E==F
9697 -> ( A=suspension(_, _, _, _, G, H),
9698 setarg(2, A, removed),
9699 term_variables(term(G, H), M),
9700 ( arg(4, A, I),
9701 ( var(I)
9702 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9703 J),
9704 J=[_|K],
9705 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9706 K),
9707 ( K=[L|_]
9708 -> setarg(4, L, _)
9709 ; true
9710 )
9711 ; I=[_, _|K],
9712 setarg(2, I, K),
9713 ( K=[L|_]
9714 -> setarg(4, L, I)
9715 ; true
9716 )
9717 )
9718 ),
9719 'detach_known/1_1_$special_;/2___2'(M, A)
9720 ),
9721 ( arg(2, N, Q),
9722 setarg(2, N, active),
9723 ( arg(4, N, O),
9724 P is O+1,
9725 setarg(4, N, P)
9726 ),
9727 ( Q==not_stored_yet
9728 -> N=suspension(_, _, _, _, _, R),
9729 term_variables(R, S),
9730 'chr none_locked'(S),
9731 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9732 T),
9733 U=[N|T],
9734 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9735 U),
9736 ( T=[V|_]
9737 -> setarg(5, V, U)
9738 ; true
9739 )
9740 ),
9741 'attach_known/1_1_$special_atomic/1___1'(S, N)
9742 ; true
9743 )
9744 ),
9745 known(W),
9746 ( N=suspension(_, active, _, P, _, _)
9747 -> setarg(2, N, inactive),
9748 'known/1_1_$special_atomic/1___1__2__0__8'(X,
9749 F,
9750 N)
9751 ; true
9752 )
9753 ; 'known/1_1_$special_atomic/1___1__2__0__8'(X,
9754 F,
9755 N)
9756 ).
9757'known/1_1_$special_atomic/1___1__2'(A, B) :-
9758 'known/1_1_$special_atomic/1___1__3'(A, B).
9759'known/1_1_$special_atomic/1___1__3'(_, A) :-
9760 arg(2, A, D),
9761 setarg(2, A, active),
9762 arg(4, A, B),
9763 C is B+1,
9764 setarg(4, A, C),
9765 ( D==not_stored_yet
9766 -> A=suspension(_, _, _, _, _, E),
9767 term_variables(E, F),
9768 'chr none_locked'(F),
9769 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9770 G),
9771 H=[A|G],
9772 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9773 H),
9774 ( G=[I|_]
9775 -> setarg(5, I, H)
9776 ; true
9777 )
9778 ),
9779 'attach_known/1_1_$special_atomic/1___1'(F, A)
9780 ; true
9781 ).
9782'known/1_1_$special_compound/1'(A) :-
9783 'known/1_1_$special_compound/1___1__0'(A, _).
9784'known/1_1_$special_compound/1___1__0'(A, G) :-
9785 ( 'chr newvia_1'(A, B)
9786 -> get_attr(B, guard_entailment, C),
9787 C=v(_, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _)
9788 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
9789 D)
9790 ),
9791 member(E, D),
9792 E=suspension(_, active, _, _, _, F),
9793 F==A, !,
9794 ( var(G)
9795 -> true
9796 ; G=suspension(_, H, _, _, _, I),
9797 setarg(2, G, removed),
9798 ( H==not_stored_yet
9799 -> J=[]
9800 ; term_variables(I, J),
9801 ( arg(5, G, K),
9802 ( var(K)
9803 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
9804 L),
9805 L=[_|M],
9806 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
9807 M),
9808 ( M=[N|_]
9809 -> setarg(5, N, _)
9810 ; true
9811 )
9812 ; K=[_, _|M],
9813 setarg(2, K, M),
9814 ( M=[N|_]
9815 -> setarg(5, N, K)
9816 ; true
9817 )
9818 )
9819 ),
9820 'detach_known/1_1_$special_compound/1___1'(J, G)
9821 )
9822 ).
9823'known/1_1_$special_compound/1___1__0'(_, C) :-
9824 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
9825 A),
9826 member(B, A),
9827 B=suspension(_, active, _), !,
9828 ( var(C)
9829 -> true
9830 ; C=suspension(_, D, _, _, _, E),
9831 setarg(2, C, removed),
9832 ( D==not_stored_yet
9833 -> F=[]
9834 ; term_variables(E, F),
9835 ( arg(5, C, G),
9836 ( var(G)
9837 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
9838 H),
9839 H=[_|I],
9840 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
9841 I),
9842 ( I=[J|_]
9843 -> setarg(5, J, _)
9844 ; true
9845 )
9846 ; G=[_, _|I],
9847 setarg(2, G, I),
9848 ( I=[J|_]
9849 -> setarg(5, J, G)
9850 ; true
9851 )
9852 )
9853 ),
9854 'detach_known/1_1_$special_compound/1___1'(F, C)
9855 )
9856 ).
9857'known/1_1_$special_compound/1___1__0'(A, N) :-
9858 ( 'chr newvia_1'(A, B)
9859 -> get_attr(B, guard_entailment, C),
9860 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
9861 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9862 D)
9863 ),
9864 member(E, D),
9865 E=suspension(_, active, _, _, F),
9866 nonvar(F),
9867 F=compound(G),
9868 G==A, !,
9869 E=suspension(_, _, _, _, H),
9870 setarg(2, E, removed),
9871 term_variables(H, M),
9872 arg(4, E, I),
9873 ( var(I)
9874 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9875 J),
9876 J=[_|K],
9877 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9878 K),
9879 ( K=[L|_]
9880 -> setarg(4, L, _)
9881 ; true
9882 )
9883 ; I=[_, _|K],
9884 setarg(2, I, K),
9885 ( K=[L|_]
9886 -> setarg(4, L, I)
9887 ; true
9888 )
9889 ),
9890 'detach_known/1_1_$special_\\+/1___1'(M, E),
9891 ( var(N)
9892 -> true
9893 ; N=suspension(_, O, _, _, _, P),
9894 setarg(2, N, removed),
9895 ( O==not_stored_yet
9896 -> Q=[]
9897 ; term_variables(P, Q),
9898 ( arg(5, N, R),
9899 ( var(R)
9900 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
9901 S),
9902 S=[_|T],
9903 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
9904 T),
9905 ( T=[U|_]
9906 -> setarg(5, U, _)
9907 ; true
9908 )
9909 ; R=[_, _|T],
9910 setarg(2, R, T),
9911 ( T=[U|_]
9912 -> setarg(5, U, R)
9913 ; true
9914 )
9915 )
9916 ),
9917 'detach_known/1_1_$special_compound/1___1'(Q, N)
9918 )
9919 ),
9920 'known/1_1_$special_fail/0'.
9921'known/1_1_$special_compound/1___1__0'(B, A) :-
9922 ( var(A)
9923 -> A=suspension(C, not_stored_yet, t, 0, _, B),
9924 'chr gen_id'(C)
9925 ; true
9926 ),
9927 ( '$novel_production'(A, 236), !,
9928 '$extend_history'(A, 236),
9929 arg(2, A, F),
9930 setarg(2, A, active),
9931 arg(4, A, D),
9932 E is D+1,
9933 setarg(4, A, E),
9934 ( F==not_stored_yet
9935 -> A=suspension(_, _, _, _, _, G),
9936 term_variables(G, H),
9937 'chr none_locked'(H),
9938 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
9939 I),
9940 J=[A|I],
9941 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
9942 J),
9943 ( I=[K|_]
9944 -> setarg(5, K, J)
9945 ; true
9946 )
9947 ),
9948 'attach_known/1_1_$special_compound/1___1'(H, A)
9949 ; true
9950 ),
9951 'known/1_1_$special_nonvar/1'(B),
9952 ( A=suspension(_, active, _, E, _, _)
9953 -> setarg(2, A, inactive),
9954 'known/1_1_$special_compound/1___1__1'(B, A)
9955 ; true
9956 )
9957 ; 'known/1_1_$special_compound/1___1__1'(B, A)
9958 ).
9959'known/1_1_$special_compound/1___1__1'(A, E) :-
9960 ( 'chr newvia_1'(A, B)
9961 -> get_attr(B, guard_entailment, C),
9962 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9963 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9964 D)
9965 ), !,
9966 'known/1_1_$special_compound/1___1__1__0__7'(D, A, E).
9967'known/1_1_$special_compound/1___1__1__0__7'([], A, B) :-
9968 'known/1_1_$special_compound/1___1__2'(A, B).
9969'known/1_1_$special_compound/1___1__1__0__7'([A|W], E, M) :-
9970 ( A=suspension(_, active, _, _, B, V),
9971 nonvar(B),
9972 B=(\+C),
9973 nonvar(C),
9974 C=compound(D),
9975 D==E
9976 -> ( A=suspension(_, _, _, _, F, G),
9977 setarg(2, A, removed),
9978 term_variables(term(F, G), L),
9979 ( arg(4, A, H),
9980 ( var(H)
9981 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9982 I),
9983 I=[_|J],
9984 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9985 J),
9986 ( J=[K|_]
9987 -> setarg(4, K, _)
9988 ; true
9989 )
9990 ; H=[_, _|J],
9991 setarg(2, H, J),
9992 ( J=[K|_]
9993 -> setarg(4, K, H)
9994 ; true
9995 )
9996 )
9997 ),
9998 'detach_known/1_1_$special_;/2___2'(L, A)
9999 ),
10000 ( arg(2, M, P),
10001 setarg(2, M, active),
10002 ( arg(4, M, N),
10003 O is N+1,
10004 setarg(4, M, O)
10005 ),
10006 ( P==not_stored_yet
10007 -> M=suspension(_, _, _, _, _, Q),
10008 term_variables(Q, R),
10009 'chr none_locked'(R),
10010 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10011 S),
10012 T=[M|S],
10013 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10014 T),
10015 ( S=[U|_]
10016 -> setarg(5, U, T)
10017 ; true
10018 )
10019 ),
10020 'attach_known/1_1_$special_compound/1___1'(R, M)
10021 ; true
10022 )
10023 ),
10024 known(V),
10025 ( M=suspension(_, active, _, O, _, _)
10026 -> setarg(2, M, inactive),
10027 'known/1_1_$special_compound/1___1__1__0__7'(W,
10028 E,
10029 M)
10030 ; true
10031 )
10032 ; 'known/1_1_$special_compound/1___1__1__0__7'(W,
10033 E,
10034 M)
10035 ).
10036'known/1_1_$special_compound/1___1__1'(A, B) :-
10037 'known/1_1_$special_compound/1___1__2'(A, B).
10038'known/1_1_$special_compound/1___1__2'(A, E) :-
10039 ( 'chr newvia_1'(A, B)
10040 -> get_attr(B, guard_entailment, C),
10041 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
10042 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10043 D)
10044 ), !,
10045 'known/1_1_$special_compound/1___1__2__0__8'(D, A, E).
10046'known/1_1_$special_compound/1___1__2__0__8'([], A, B) :-
10047 'known/1_1_$special_compound/1___1__3'(A, B).
10048'known/1_1_$special_compound/1___1__2__0__8'([A|X], F, N) :-
10049 ( A=suspension(_, active, _, _, B, W),
10050 nonvar(B),
10051 B=(C, _),
10052 nonvar(C),
10053 C=(\+D),
10054 nonvar(D),
10055 D=compound(E),
10056 E==F
10057 -> ( A=suspension(_, _, _, _, G, H),
10058 setarg(2, A, removed),
10059 term_variables(term(G, H), M),
10060 ( arg(4, A, I),
10061 ( var(I)
10062 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10063 J),
10064 J=[_|K],
10065 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10066 K),
10067 ( K=[L|_]
10068 -> setarg(4, L, _)
10069 ; true
10070 )
10071 ; I=[_, _|K],
10072 setarg(2, I, K),
10073 ( K=[L|_]
10074 -> setarg(4, L, I)
10075 ; true
10076 )
10077 )
10078 ),
10079 'detach_known/1_1_$special_;/2___2'(M, A)
10080 ),
10081 ( arg(2, N, Q),
10082 setarg(2, N, active),
10083 ( arg(4, N, O),
10084 P is O+1,
10085 setarg(4, N, P)
10086 ),
10087 ( Q==not_stored_yet
10088 -> N=suspension(_, _, _, _, _, R),
10089 term_variables(R, S),
10090 'chr none_locked'(S),
10091 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10092 T),
10093 U=[N|T],
10094 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10095 U),
10096 ( T=[V|_]
10097 -> setarg(5, V, U)
10098 ; true
10099 )
10100 ),
10101 'attach_known/1_1_$special_compound/1___1'(S, N)
10102 ; true
10103 )
10104 ),
10105 known(W),
10106 ( N=suspension(_, active, _, P, _, _)
10107 -> setarg(2, N, inactive),
10108 'known/1_1_$special_compound/1___1__2__0__8'(X,
10109 F,
10110 N)
10111 ; true
10112 )
10113 ; 'known/1_1_$special_compound/1___1__2__0__8'(X,
10114 F,
10115 N)
10116 ).
10117'known/1_1_$special_compound/1___1__2'(A, B) :-
10118 'known/1_1_$special_compound/1___1__3'(A, B).
10119'known/1_1_$special_compound/1___1__3'(_, A) :-
10120 arg(2, A, D),
10121 setarg(2, A, active),
10122 arg(4, A, B),
10123 C is B+1,
10124 setarg(4, A, C),
10125 ( D==not_stored_yet
10126 -> A=suspension(_, _, _, _, _, E),
10127 term_variables(E, F),
10128 'chr none_locked'(F),
10129 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10130 G),
10131 H=[A|G],
10132 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10133 H),
10134 ( G=[I|_]
10135 -> setarg(5, I, H)
10136 ; true
10137 )
10138 ),
10139 'attach_known/1_1_$special_compound/1___1'(F, A)
10140 ; true
10141 ).
10142'known/1_1_$special_ground/1'(A) :-
10143 'known/1_1_$special_ground/1___1__0'(A, _).
10144'known/1_1_$special_ground/1___1__0'(A, G) :-
10145 ( 'chr newvia_1'(A, B)
10146 -> get_attr(B, guard_entailment, C),
10147 C=v(_, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _)
10148 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10149 D)
10150 ),
10151 member(E, D),
10152 E=suspension(_, active, _, _, _, F),
10153 F==A, !,
10154 ( var(G)
10155 -> true
10156 ; G=suspension(_, H, _, _, _, I),
10157 setarg(2, G, removed),
10158 ( H==not_stored_yet
10159 -> J=[]
10160 ; term_variables(I, J),
10161 ( arg(5, G, K),
10162 ( var(K)
10163 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10164 L),
10165 L=[_|M],
10166 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10167 M),
10168 ( M=[N|_]
10169 -> setarg(5, N, _)
10170 ; true
10171 )
10172 ; K=[_, _|M],
10173 setarg(2, K, M),
10174 ( M=[N|_]
10175 -> setarg(5, N, K)
10176 ; true
10177 )
10178 )
10179 ),
10180 'detach_known/1_1_$special_ground/1___1'(J, G)
10181 )
10182 ).
10183'known/1_1_$special_ground/1___1__0'(_, C) :-
10184 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
10185 A),
10186 member(B, A),
10187 B=suspension(_, active, _), !,
10188 ( var(C)
10189 -> true
10190 ; C=suspension(_, D, _, _, _, E),
10191 setarg(2, C, removed),
10192 ( D==not_stored_yet
10193 -> F=[]
10194 ; term_variables(E, F),
10195 ( arg(5, C, G),
10196 ( var(G)
10197 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10198 H),
10199 H=[_|I],
10200 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10201 I),
10202 ( I=[J|_]
10203 -> setarg(5, J, _)
10204 ; true
10205 )
10206 ; G=[_, _|I],
10207 setarg(2, G, I),
10208 ( I=[J|_]
10209 -> setarg(5, J, G)
10210 ; true
10211 )
10212 )
10213 ),
10214 'detach_known/1_1_$special_ground/1___1'(F, C)
10215 )
10216 ).
10217'known/1_1_$special_ground/1___1__0'(A, N) :-
10218 ( 'chr newvia_1'(A, B)
10219 -> get_attr(B, guard_entailment, C),
10220 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
10221 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10222 D)
10223 ),
10224 member(E, D),
10225 E=suspension(_, active, _, _, F),
10226 nonvar(F),
10227 F=ground(G),
10228 G==A, !,
10229 E=suspension(_, _, _, _, H),
10230 setarg(2, E, removed),
10231 term_variables(H, M),
10232 arg(4, E, I),
10233 ( var(I)
10234 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10235 J),
10236 J=[_|K],
10237 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10238 K),
10239 ( K=[L|_]
10240 -> setarg(4, L, _)
10241 ; true
10242 )
10243 ; I=[_, _|K],
10244 setarg(2, I, K),
10245 ( K=[L|_]
10246 -> setarg(4, L, I)
10247 ; true
10248 )
10249 ),
10250 'detach_known/1_1_$special_\\+/1___1'(M, E),
10251 ( var(N)
10252 -> true
10253 ; N=suspension(_, O, _, _, _, P),
10254 setarg(2, N, removed),
10255 ( O==not_stored_yet
10256 -> Q=[]
10257 ; term_variables(P, Q),
10258 ( arg(5, N, R),
10259 ( var(R)
10260 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10261 S),
10262 S=[_|T],
10263 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10264 T),
10265 ( T=[U|_]
10266 -> setarg(5, U, _)
10267 ; true
10268 )
10269 ; R=[_, _|T],
10270 setarg(2, R, T),
10271 ( T=[U|_]
10272 -> setarg(5, U, R)
10273 ; true
10274 )
10275 )
10276 ),
10277 'detach_known/1_1_$special_ground/1___1'(Q, N)
10278 )
10279 ),
10280 'known/1_1_$special_fail/0'.
10281'known/1_1_$special_ground/1___1__0'(B, A) :-
10282 ( var(A)
10283 -> A=suspension(C, not_stored_yet, t, 0, _, B),
10284 'chr gen_id'(C)
10285 ; true
10286 ),
10287 ( '$novel_production'(A, 235), !,
10288 '$extend_history'(A, 235),
10289 arg(2, A, F),
10290 setarg(2, A, active),
10291 arg(4, A, D),
10292 E is D+1,
10293 setarg(4, A, E),
10294 ( F==not_stored_yet
10295 -> A=suspension(_, _, _, _, _, G),
10296 term_variables(G, H),
10297 'chr none_locked'(H),
10298 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10299 I),
10300 J=[A|I],
10301 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10302 J),
10303 ( I=[K|_]
10304 -> setarg(5, K, J)
10305 ; true
10306 )
10307 ),
10308 'attach_known/1_1_$special_ground/1___1'(H, A)
10309 ; true
10310 ),
10311 'known/1_1_$special_nonvar/1'(B),
10312 ( A=suspension(_, active, _, E, _, _)
10313 -> setarg(2, A, inactive),
10314 'known/1_1_$special_ground/1___1__1'(B, A)
10315 ; true
10316 )
10317 ; 'known/1_1_$special_ground/1___1__1'(B, A)
10318 ).
10319'known/1_1_$special_ground/1___1__1'(A, E) :-
10320 ( 'chr newvia_1'(A, B)
10321 -> get_attr(B, guard_entailment, C),
10322 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
10323 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10324 D)
10325 ), !,
10326 'known/1_1_$special_ground/1___1__1__0__7'(D, A, E).
10327'known/1_1_$special_ground/1___1__1__0__7'([], A, B) :-
10328 'known/1_1_$special_ground/1___1__2'(A, B).
10329'known/1_1_$special_ground/1___1__1__0__7'([A|W], E, M) :-
10330 ( A=suspension(_, active, _, _, B, V),
10331 nonvar(B),
10332 B=(\+C),
10333 nonvar(C),
10334 C=ground(D),
10335 D==E
10336 -> ( A=suspension(_, _, _, _, F, G),
10337 setarg(2, A, removed),
10338 term_variables(term(F, G), L),
10339 ( arg(4, A, H),
10340 ( var(H)
10341 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10342 I),
10343 I=[_|J],
10344 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10345 J),
10346 ( J=[K|_]
10347 -> setarg(4, K, _)
10348 ; true
10349 )
10350 ; H=[_, _|J],
10351 setarg(2, H, J),
10352 ( J=[K|_]
10353 -> setarg(4, K, H)
10354 ; true
10355 )
10356 )
10357 ),
10358 'detach_known/1_1_$special_;/2___2'(L, A)
10359 ),
10360 ( arg(2, M, P),
10361 setarg(2, M, active),
10362 ( arg(4, M, N),
10363 O is N+1,
10364 setarg(4, M, O)
10365 ),
10366 ( P==not_stored_yet
10367 -> M=suspension(_, _, _, _, _, Q),
10368 term_variables(Q, R),
10369 'chr none_locked'(R),
10370 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10371 S),
10372 T=[M|S],
10373 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10374 T),
10375 ( S=[U|_]
10376 -> setarg(5, U, T)
10377 ; true
10378 )
10379 ),
10380 'attach_known/1_1_$special_ground/1___1'(R, M)
10381 ; true
10382 )
10383 ),
10384 known(V),
10385 ( M=suspension(_, active, _, O, _, _)
10386 -> setarg(2, M, inactive),
10387 'known/1_1_$special_ground/1___1__1__0__7'(W,
10388 E,
10389 M)
10390 ; true
10391 )
10392 ; 'known/1_1_$special_ground/1___1__1__0__7'(W,
10393 E,
10394 M)
10395 ).
10396'known/1_1_$special_ground/1___1__1'(A, B) :-
10397 'known/1_1_$special_ground/1___1__2'(A, B).
10398'known/1_1_$special_ground/1___1__2'(A, E) :-
10399 ( 'chr newvia_1'(A, B)
10400 -> get_attr(B, guard_entailment, C),
10401 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
10402 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10403 D)
10404 ), !,
10405 'known/1_1_$special_ground/1___1__2__0__8'(D, A, E).
10406'known/1_1_$special_ground/1___1__2__0__8'([], A, B) :-
10407 'known/1_1_$special_ground/1___1__3'(A, B).
10408'known/1_1_$special_ground/1___1__2__0__8'([A|X], F, N) :-
10409 ( A=suspension(_, active, _, _, B, W),
10410 nonvar(B),
10411 B=(C, _),
10412 nonvar(C),
10413 C=(\+D),
10414 nonvar(D),
10415 D=ground(E),
10416 E==F
10417 -> ( A=suspension(_, _, _, _, G, H),
10418 setarg(2, A, removed),
10419 term_variables(term(G, H), M),
10420 ( arg(4, A, I),
10421 ( var(I)
10422 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10423 J),
10424 J=[_|K],
10425 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10426 K),
10427 ( K=[L|_]
10428 -> setarg(4, L, _)
10429 ; true
10430 )
10431 ; I=[_, _|K],
10432 setarg(2, I, K),
10433 ( K=[L|_]
10434 -> setarg(4, L, I)
10435 ; true
10436 )
10437 )
10438 ),
10439 'detach_known/1_1_$special_;/2___2'(M, A)
10440 ),
10441 ( arg(2, N, Q),
10442 setarg(2, N, active),
10443 ( arg(4, N, O),
10444 P is O+1,
10445 setarg(4, N, P)
10446 ),
10447 ( Q==not_stored_yet
10448 -> N=suspension(_, _, _, _, _, R),
10449 term_variables(R, S),
10450 'chr none_locked'(S),
10451 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10452 T),
10453 U=[N|T],
10454 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10455 U),
10456 ( T=[V|_]
10457 -> setarg(5, V, U)
10458 ; true
10459 )
10460 ),
10461 'attach_known/1_1_$special_ground/1___1'(S, N)
10462 ; true
10463 )
10464 ),
10465 known(W),
10466 ( N=suspension(_, active, _, P, _, _)
10467 -> setarg(2, N, inactive),
10468 'known/1_1_$special_ground/1___1__2__0__8'(X,
10469 F,
10470 N)
10471 ; true
10472 )
10473 ; 'known/1_1_$special_ground/1___1__2__0__8'(X,
10474 F,
10475 N)
10476 ).
10477'known/1_1_$special_ground/1___1__2'(A, B) :-
10478 'known/1_1_$special_ground/1___1__3'(A, B).
10479'known/1_1_$special_ground/1___1__3'(_, A) :-
10480 arg(2, A, D),
10481 setarg(2, A, active),
10482 arg(4, A, B),
10483 C is B+1,
10484 setarg(4, A, C),
10485 ( D==not_stored_yet
10486 -> A=suspension(_, _, _, _, _, E),
10487 term_variables(E, F),
10488 'chr none_locked'(F),
10489 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10490 G),
10491 H=[A|G],
10492 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10493 H),
10494 ( G=[I|_]
10495 -> setarg(5, I, H)
10496 ; true
10497 )
10498 ),
10499 'attach_known/1_1_$special_ground/1___1'(F, A)
10500 ; true
10501 ).
10502'known/1_1_$special_integer/1'(A) :-
10503 'known/1_1_$special_integer/1___1__0'(A, _).
10504'known/1_1_$special_integer/1___1__0'(A, G) :-
10505 ( 'chr newvia_1'(A, B)
10506 -> get_attr(B, guard_entailment, C),
10507 C=v(_, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _)
10508 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10509 D)
10510 ),
10511 member(E, D),
10512 E=suspension(_, active, _, _, _, F),
10513 F==A, !,
10514 ( var(G)
10515 -> true
10516 ; G=suspension(_, H, _, _, _, I),
10517 setarg(2, G, removed),
10518 ( H==not_stored_yet
10519 -> J=[]
10520 ; term_variables(I, J),
10521 ( arg(5, G, K),
10522 ( var(K)
10523 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10524 L),
10525 L=[_|M],
10526 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10527 M),
10528 ( M=[N|_]
10529 -> setarg(5, N, _)
10530 ; true
10531 )
10532 ; K=[_, _|M],
10533 setarg(2, K, M),
10534 ( M=[N|_]
10535 -> setarg(5, N, K)
10536 ; true
10537 )
10538 )
10539 ),
10540 'detach_known/1_1_$special_integer/1___1'(J, G)
10541 )
10542 ).
10543'known/1_1_$special_integer/1___1__0'(_, C) :-
10544 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
10545 A),
10546 member(B, A),
10547 B=suspension(_, active, _), !,
10548 ( var(C)
10549 -> true
10550 ; C=suspension(_, D, _, _, _, E),
10551 setarg(2, C, removed),
10552 ( D==not_stored_yet
10553 -> F=[]
10554 ; term_variables(E, F),
10555 ( arg(5, C, G),
10556 ( var(G)
10557 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10558 H),
10559 H=[_|I],
10560 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10561 I),
10562 ( I=[J|_]
10563 -> setarg(5, J, _)
10564 ; true
10565 )
10566 ; G=[_, _|I],
10567 setarg(2, G, I),
10568 ( I=[J|_]
10569 -> setarg(5, J, G)
10570 ; true
10571 )
10572 )
10573 ),
10574 'detach_known/1_1_$special_integer/1___1'(F, C)
10575 )
10576 ).
10577'known/1_1_$special_integer/1___1__0'(A, B) :-
10578 nonvar(A),
10579 \+ integer(A), !,
10580 ( var(B)
10581 -> true
10582 ; B=suspension(_, C, _, _, _, D),
10583 setarg(2, B, removed),
10584 ( C==not_stored_yet
10585 -> E=[]
10586 ; term_variables(D, E),
10587 ( arg(5, B, F),
10588 ( var(F)
10589 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10590 G),
10591 G=[_|H],
10592 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10593 H),
10594 ( H=[I|_]
10595 -> setarg(5, I, _)
10596 ; true
10597 )
10598 ; F=[_, _|H],
10599 setarg(2, F, H),
10600 ( H=[I|_]
10601 -> setarg(5, I, F)
10602 ; true
10603 )
10604 )
10605 ),
10606 'detach_known/1_1_$special_integer/1___1'(E, B)
10607 )
10608 ),
10609 'known/1_1_$special_fail/0'.
10610'known/1_1_$special_integer/1___1__0'(B, A) :-
10611 ( var(A)
10612 -> A=suspension(C, not_stored_yet, t, 0, _, B),
10613 'chr gen_id'(C)
10614 ; true
10615 ),
10616 ( '$novel_production'(A, 199), !,
10617 '$extend_history'(A, 199),
10618 arg(2, A, F),
10619 setarg(2, A, active),
10620 arg(4, A, D),
10621 E is D+1,
10622 setarg(4, A, E),
10623 ( F==not_stored_yet
10624 -> A=suspension(_, _, _, _, _, G),
10625 term_variables(G, H),
10626 'chr none_locked'(H),
10627 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10628 I),
10629 J=[A|I],
10630 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10631 J),
10632 ( I=[K|_]
10633 -> setarg(5, K, J)
10634 ; true
10635 )
10636 ),
10637 'attach_known/1_1_$special_integer/1___1'(H, A)
10638 ; true
10639 ),
10640 'known/1_1_$special_number/1'(B),
10641 ( A=suspension(_, active, _, E, _, _)
10642 -> setarg(2, A, inactive),
10643 'known/1_1_$special_integer/1___1__1'(B, A)
10644 ; true
10645 )
10646 ; 'known/1_1_$special_integer/1___1__1'(B, A)
10647 ).
10648'known/1_1_$special_integer/1___1__1'(A, N) :-
10649 ( 'chr newvia_1'(A, B)
10650 -> get_attr(B, guard_entailment, C),
10651 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
10652 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10653 D)
10654 ),
10655 member(E, D),
10656 E=suspension(_, active, _, _, F),
10657 nonvar(F),
10658 F=integer(G),
10659 G==A, !,
10660 E=suspension(_, _, _, _, H),
10661 setarg(2, E, removed),
10662 term_variables(H, M),
10663 arg(4, E, I),
10664 ( var(I)
10665 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10666 J),
10667 J=[_|K],
10668 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10669 K),
10670 ( K=[L|_]
10671 -> setarg(4, L, _)
10672 ; true
10673 )
10674 ; I=[_, _|K],
10675 setarg(2, I, K),
10676 ( K=[L|_]
10677 -> setarg(4, L, I)
10678 ; true
10679 )
10680 ),
10681 'detach_known/1_1_$special_\\+/1___1'(M, E),
10682 ( var(N)
10683 -> true
10684 ; N=suspension(_, O, _, _, _, P),
10685 setarg(2, N, removed),
10686 ( O==not_stored_yet
10687 -> Q=[]
10688 ; term_variables(P, Q),
10689 ( arg(5, N, R),
10690 ( var(R)
10691 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10692 S),
10693 S=[_|T],
10694 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10695 T),
10696 ( T=[U|_]
10697 -> setarg(5, U, _)
10698 ; true
10699 )
10700 ; R=[_, _|T],
10701 setarg(2, R, T),
10702 ( T=[U|_]
10703 -> setarg(5, U, R)
10704 ; true
10705 )
10706 )
10707 ),
10708 'detach_known/1_1_$special_integer/1___1'(Q, N)
10709 )
10710 ),
10711 'known/1_1_$special_fail/0'.
10712'known/1_1_$special_integer/1___1__1'(A, E) :-
10713 ( 'chr newvia_1'(A, B)
10714 -> get_attr(B, guard_entailment, C),
10715 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
10716 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10717 D)
10718 ), !,
10719 'known/1_1_$special_integer/1___1__1__0__8'(D, A, E).
10720'known/1_1_$special_integer/1___1__1__0__8'([], A, B) :-
10721 'known/1_1_$special_integer/1___1__2'(A, B).
10722'known/1_1_$special_integer/1___1__1__0__8'([A|W], E, M) :-
10723 ( A=suspension(_, active, _, _, B, V),
10724 nonvar(B),
10725 B=(\+C),
10726 nonvar(C),
10727 C=integer(D),
10728 D==E
10729 -> ( A=suspension(_, _, _, _, F, G),
10730 setarg(2, A, removed),
10731 term_variables(term(F, G), L),
10732 ( arg(4, A, H),
10733 ( var(H)
10734 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10735 I),
10736 I=[_|J],
10737 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10738 J),
10739 ( J=[K|_]
10740 -> setarg(4, K, _)
10741 ; true
10742 )
10743 ; H=[_, _|J],
10744 setarg(2, H, J),
10745 ( J=[K|_]
10746 -> setarg(4, K, H)
10747 ; true
10748 )
10749 )
10750 ),
10751 'detach_known/1_1_$special_;/2___2'(L, A)
10752 ),
10753 ( arg(2, M, P),
10754 setarg(2, M, active),
10755 ( arg(4, M, N),
10756 O is N+1,
10757 setarg(4, M, O)
10758 ),
10759 ( P==not_stored_yet
10760 -> M=suspension(_, _, _, _, _, Q),
10761 term_variables(Q, R),
10762 'chr none_locked'(R),
10763 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10764 S),
10765 T=[M|S],
10766 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10767 T),
10768 ( S=[U|_]
10769 -> setarg(5, U, T)
10770 ; true
10771 )
10772 ),
10773 'attach_known/1_1_$special_integer/1___1'(R, M)
10774 ; true
10775 )
10776 ),
10777 known(V),
10778 ( M=suspension(_, active, _, O, _, _)
10779 -> setarg(2, M, inactive),
10780 'known/1_1_$special_integer/1___1__1__0__8'(W,
10781 E,
10782 M)
10783 ; true
10784 )
10785 ; 'known/1_1_$special_integer/1___1__1__0__8'(W,
10786 E,
10787 M)
10788 ).
10789'known/1_1_$special_integer/1___1__1'(A, B) :-
10790 'known/1_1_$special_integer/1___1__2'(A, B).
10791'known/1_1_$special_integer/1___1__2'(A, E) :-
10792 ( 'chr newvia_1'(A, B)
10793 -> get_attr(B, guard_entailment, C),
10794 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
10795 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10796 D)
10797 ), !,
10798 'known/1_1_$special_integer/1___1__2__0__9'(D, A, E).
10799'known/1_1_$special_integer/1___1__2__0__9'([], A, B) :-
10800 'known/1_1_$special_integer/1___1__3'(A, B).
10801'known/1_1_$special_integer/1___1__2__0__9'([A|X], F, N) :-
10802 ( A=suspension(_, active, _, _, B, W),
10803 nonvar(B),
10804 B=(C, _),
10805 nonvar(C),
10806 C=(\+D),
10807 nonvar(D),
10808 D=integer(E),
10809 E==F
10810 -> ( A=suspension(_, _, _, _, G, H),
10811 setarg(2, A, removed),
10812 term_variables(term(G, H), M),
10813 ( arg(4, A, I),
10814 ( var(I)
10815 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10816 J),
10817 J=[_|K],
10818 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10819 K),
10820 ( K=[L|_]
10821 -> setarg(4, L, _)
10822 ; true
10823 )
10824 ; I=[_, _|K],
10825 setarg(2, I, K),
10826 ( K=[L|_]
10827 -> setarg(4, L, I)
10828 ; true
10829 )
10830 )
10831 ),
10832 'detach_known/1_1_$special_;/2___2'(M, A)
10833 ),
10834 ( arg(2, N, Q),
10835 setarg(2, N, active),
10836 ( arg(4, N, O),
10837 P is O+1,
10838 setarg(4, N, P)
10839 ),
10840 ( Q==not_stored_yet
10841 -> N=suspension(_, _, _, _, _, R),
10842 term_variables(R, S),
10843 'chr none_locked'(S),
10844 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10845 T),
10846 U=[N|T],
10847 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10848 U),
10849 ( T=[V|_]
10850 -> setarg(5, V, U)
10851 ; true
10852 )
10853 ),
10854 'attach_known/1_1_$special_integer/1___1'(S, N)
10855 ; true
10856 )
10857 ),
10858 known(W),
10859 ( N=suspension(_, active, _, P, _, _)
10860 -> setarg(2, N, inactive),
10861 'known/1_1_$special_integer/1___1__2__0__9'(X,
10862 F,
10863 N)
10864 ; true
10865 )
10866 ; 'known/1_1_$special_integer/1___1__2__0__9'(X,
10867 F,
10868 N)
10869 ).
10870'known/1_1_$special_integer/1___1__2'(A, B) :-
10871 'known/1_1_$special_integer/1___1__3'(A, B).
10872'known/1_1_$special_integer/1___1__3'(_, A) :-
10873 arg(2, A, D),
10874 setarg(2, A, active),
10875 arg(4, A, B),
10876 C is B+1,
10877 setarg(4, A, C),
10878 ( D==not_stored_yet
10879 -> A=suspension(_, _, _, _, _, E),
10880 term_variables(E, F),
10881 'chr none_locked'(F),
10882 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10883 G),
10884 H=[A|G],
10885 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10886 H),
10887 ( G=[I|_]
10888 -> setarg(5, I, H)
10889 ; true
10890 )
10891 ),
10892 'attach_known/1_1_$special_integer/1___1'(F, A)
10893 ; true
10894 ).
10895'known/1_1_$special_float/1'(A) :-
10896 'known/1_1_$special_float/1___1__0'(A, _).
10897'known/1_1_$special_float/1___1__0'(A, G) :-
10898 ( 'chr newvia_1'(A, B)
10899 -> get_attr(B, guard_entailment, C),
10900 C=v(_, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _)
10901 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
10902 D)
10903 ),
10904 member(E, D),
10905 E=suspension(_, active, _, _, _, F),
10906 F==A, !,
10907 ( var(G)
10908 -> true
10909 ; G=suspension(_, H, _, _, _, I),
10910 setarg(2, G, removed),
10911 ( H==not_stored_yet
10912 -> J=[]
10913 ; term_variables(I, J),
10914 ( arg(5, G, K),
10915 ( var(K)
10916 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
10917 L),
10918 L=[_|M],
10919 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
10920 M),
10921 ( M=[N|_]
10922 -> setarg(5, N, _)
10923 ; true
10924 )
10925 ; K=[_, _|M],
10926 setarg(2, K, M),
10927 ( M=[N|_]
10928 -> setarg(5, N, K)
10929 ; true
10930 )
10931 )
10932 ),
10933 'detach_known/1_1_$special_float/1___1'(J, G)
10934 )
10935 ).
10936'known/1_1_$special_float/1___1__0'(_, C) :-
10937 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
10938 A),
10939 member(B, A),
10940 B=suspension(_, active, _), !,
10941 ( var(C)
10942 -> true
10943 ; C=suspension(_, D, _, _, _, E),
10944 setarg(2, C, removed),
10945 ( D==not_stored_yet
10946 -> F=[]
10947 ; term_variables(E, F),
10948 ( arg(5, C, G),
10949 ( var(G)
10950 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
10951 H),
10952 H=[_|I],
10953 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
10954 I),
10955 ( I=[J|_]
10956 -> setarg(5, J, _)
10957 ; true
10958 )
10959 ; G=[_, _|I],
10960 setarg(2, G, I),
10961 ( I=[J|_]
10962 -> setarg(5, J, G)
10963 ; true
10964 )
10965 )
10966 ),
10967 'detach_known/1_1_$special_float/1___1'(F, C)
10968 )
10969 ).
10970'known/1_1_$special_float/1___1__0'(A, B) :-
10971 nonvar(A),
10972 \+ float(A), !,
10973 ( var(B)
10974 -> true
10975 ; B=suspension(_, C, _, _, _, D),
10976 setarg(2, B, removed),
10977 ( C==not_stored_yet
10978 -> E=[]
10979 ; term_variables(D, E),
10980 ( arg(5, B, F),
10981 ( var(F)
10982 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
10983 G),
10984 G=[_|H],
10985 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
10986 H),
10987 ( H=[I|_]
10988 -> setarg(5, I, _)
10989 ; true
10990 )
10991 ; F=[_, _|H],
10992 setarg(2, F, H),
10993 ( H=[I|_]
10994 -> setarg(5, I, F)
10995 ; true
10996 )
10997 )
10998 ),
10999 'detach_known/1_1_$special_float/1___1'(E, B)
11000 )
11001 ),
11002 'known/1_1_$special_fail/0'.
11003'known/1_1_$special_float/1___1__0'(B, A) :-
11004 ( var(A)
11005 -> A=suspension(C, not_stored_yet, t, 0, _, B),
11006 'chr gen_id'(C)
11007 ; true
11008 ),
11009 ( '$novel_production'(A, 200), !,
11010 '$extend_history'(A, 200),
11011 arg(2, A, F),
11012 setarg(2, A, active),
11013 arg(4, A, D),
11014 E is D+1,
11015 setarg(4, A, E),
11016 ( F==not_stored_yet
11017 -> A=suspension(_, _, _, _, _, G),
11018 term_variables(G, H),
11019 'chr none_locked'(H),
11020 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11021 I),
11022 J=[A|I],
11023 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11024 J),
11025 ( I=[K|_]
11026 -> setarg(5, K, J)
11027 ; true
11028 )
11029 ),
11030 'attach_known/1_1_$special_float/1___1'(H, A)
11031 ; true
11032 ),
11033 'known/1_1_$special_number/1'(B),
11034 ( A=suspension(_, active, _, E, _, _)
11035 -> setarg(2, A, inactive),
11036 'known/1_1_$special_float/1___1__1'(B, A)
11037 ; true
11038 )
11039 ; 'known/1_1_$special_float/1___1__1'(B, A)
11040 ).
11041'known/1_1_$special_float/1___1__1'(A, N) :-
11042 ( 'chr newvia_1'(A, B)
11043 -> get_attr(B, guard_entailment, C),
11044 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
11045 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
11046 D)
11047 ),
11048 member(E, D),
11049 E=suspension(_, active, _, _, F),
11050 nonvar(F),
11051 F=float(G),
11052 G==A, !,
11053 E=suspension(_, _, _, _, H),
11054 setarg(2, E, removed),
11055 term_variables(H, M),
11056 arg(4, E, I),
11057 ( var(I)
11058 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
11059 J),
11060 J=[_|K],
11061 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
11062 K),
11063 ( K=[L|_]
11064 -> setarg(4, L, _)
11065 ; true
11066 )
11067 ; I=[_, _|K],
11068 setarg(2, I, K),
11069 ( K=[L|_]
11070 -> setarg(4, L, I)
11071 ; true
11072 )
11073 ),
11074 'detach_known/1_1_$special_\\+/1___1'(M, E),
11075 ( var(N)
11076 -> true
11077 ; N=suspension(_, O, _, _, _, P),
11078 setarg(2, N, removed),
11079 ( O==not_stored_yet
11080 -> Q=[]
11081 ; term_variables(P, Q),
11082 ( arg(5, N, R),
11083 ( var(R)
11084 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11085 S),
11086 S=[_|T],
11087 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11088 T),
11089 ( T=[U|_]
11090 -> setarg(5, U, _)
11091 ; true
11092 )
11093 ; R=[_, _|T],
11094 setarg(2, R, T),
11095 ( T=[U|_]
11096 -> setarg(5, U, R)
11097 ; true
11098 )
11099 )
11100 ),
11101 'detach_known/1_1_$special_float/1___1'(Q, N)
11102 )
11103 ),
11104 'known/1_1_$special_fail/0'.
11105'known/1_1_$special_float/1___1__1'(A, E) :-
11106 ( 'chr newvia_1'(A, B)
11107 -> get_attr(B, guard_entailment, C),
11108 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
11109 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11110 D)
11111 ), !,
11112 'known/1_1_$special_float/1___1__1__0__8'(D, A, E).
11113'known/1_1_$special_float/1___1__1__0__8'([], A, B) :-
11114 'known/1_1_$special_float/1___1__2'(A, B).
11115'known/1_1_$special_float/1___1__1__0__8'([A|W], E, M) :-
11116 ( A=suspension(_, active, _, _, B, V),
11117 nonvar(B),
11118 B=(\+C),
11119 nonvar(C),
11120 C=float(D),
11121 D==E
11122 -> ( A=suspension(_, _, _, _, F, G),
11123 setarg(2, A, removed),
11124 term_variables(term(F, G), L),
11125 ( arg(4, A, H),
11126 ( var(H)
11127 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11128 I),
11129 I=[_|J],
11130 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11131 J),
11132 ( J=[K|_]
11133 -> setarg(4, K, _)
11134 ; true
11135 )
11136 ; H=[_, _|J],
11137 setarg(2, H, J),
11138 ( J=[K|_]
11139 -> setarg(4, K, H)
11140 ; true
11141 )
11142 )
11143 ),
11144 'detach_known/1_1_$special_;/2___2'(L, A)
11145 ),
11146 ( arg(2, M, P),
11147 setarg(2, M, active),
11148 ( arg(4, M, N),
11149 O is N+1,
11150 setarg(4, M, O)
11151 ),
11152 ( P==not_stored_yet
11153 -> M=suspension(_, _, _, _, _, Q),
11154 term_variables(Q, R),
11155 'chr none_locked'(R),
11156 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11157 S),
11158 T=[M|S],
11159 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11160 T),
11161 ( S=[U|_]
11162 -> setarg(5, U, T)
11163 ; true
11164 )
11165 ),
11166 'attach_known/1_1_$special_float/1___1'(R, M)
11167 ; true
11168 )
11169 ),
11170 known(V),
11171 ( M=suspension(_, active, _, O, _, _)
11172 -> setarg(2, M, inactive),
11173 'known/1_1_$special_float/1___1__1__0__8'(W,
11174 E,
11175 M)
11176 ; true
11177 )
11178 ; 'known/1_1_$special_float/1___1__1__0__8'(W, E, M)
11179 ).
11180'known/1_1_$special_float/1___1__1'(A, B) :-
11181 'known/1_1_$special_float/1___1__2'(A, B).
11182'known/1_1_$special_float/1___1__2'(A, E) :-
11183 ( 'chr newvia_1'(A, B)
11184 -> get_attr(B, guard_entailment, C),
11185 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
11186 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11187 D)
11188 ), !,
11189 'known/1_1_$special_float/1___1__2__0__9'(D, A, E).
11190'known/1_1_$special_float/1___1__2__0__9'([], A, B) :-
11191 'known/1_1_$special_float/1___1__3'(A, B).
11192'known/1_1_$special_float/1___1__2__0__9'([A|X], F, N) :-
11193 ( A=suspension(_, active, _, _, B, W),
11194 nonvar(B),
11195 B=(C, _),
11196 nonvar(C),
11197 C=(\+D),
11198 nonvar(D),
11199 D=float(E),
11200 E==F
11201 -> ( A=suspension(_, _, _, _, G, H),
11202 setarg(2, A, removed),
11203 term_variables(term(G, H), M),
11204 ( arg(4, A, I),
11205 ( var(I)
11206 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11207 J),
11208 J=[_|K],
11209 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11210 K),
11211 ( K=[L|_]
11212 -> setarg(4, L, _)
11213 ; true
11214 )
11215 ; I=[_, _|K],
11216 setarg(2, I, K),
11217 ( K=[L|_]
11218 -> setarg(4, L, I)
11219 ; true
11220 )
11221 )
11222 ),
11223 'detach_known/1_1_$special_;/2___2'(M, A)
11224 ),
11225 ( arg(2, N, Q),
11226 setarg(2, N, active),
11227 ( arg(4, N, O),
11228 P is O+1,
11229 setarg(4, N, P)
11230 ),
11231 ( Q==not_stored_yet
11232 -> N=suspension(_, _, _, _, _, R),
11233 term_variables(R, S),
11234 'chr none_locked'(S),
11235 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11236 T),
11237 U=[N|T],
11238 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11239 U),
11240 ( T=[V|_]
11241 -> setarg(5, V, U)
11242 ; true
11243 )
11244 ),
11245 'attach_known/1_1_$special_float/1___1'(S, N)
11246 ; true
11247 )
11248 ),
11249 known(W),
11250 ( N=suspension(_, active, _, P, _, _)
11251 -> setarg(2, N, inactive),
11252 'known/1_1_$special_float/1___1__2__0__9'(X,
11253 F,
11254 N)
11255 ; true
11256 )
11257 ; 'known/1_1_$special_float/1___1__2__0__9'(X, F, N)
11258 ).
11259'known/1_1_$special_float/1___1__2'(A, B) :-
11260 'known/1_1_$special_float/1___1__3'(A, B).
11261'known/1_1_$special_float/1___1__3'(_, A) :-
11262 arg(2, A, D),
11263 setarg(2, A, active),
11264 arg(4, A, B),
11265 C is B+1,
11266 setarg(4, A, C),
11267 ( D==not_stored_yet
11268 -> A=suspension(_, _, _, _, _, E),
11269 term_variables(E, F),
11270 'chr none_locked'(F),
11271 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11272 G),
11273 H=[A|G],
11274 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11275 H),
11276 ( G=[I|_]
11277 -> setarg(5, I, H)
11278 ; true
11279 )
11280 ),
11281 'attach_known/1_1_$special_float/1___1'(F, A)
11282 ; true
11283 ).
11284'known/1_1_$special_number/1'(A) :-
11285 'known/1_1_$special_number/1___1__0'(A, _).
11286'known/1_1_$special_number/1___1__0'(A, G) :-
11287 ( 'chr newvia_1'(A, B)
11288 -> get_attr(B, guard_entailment, C),
11289 C=v(_, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _)
11290 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11291 D)
11292 ),
11293 member(E, D),
11294 E=suspension(_, active, _, _, _, F),
11295 F==A, !,
11296 ( var(G)
11297 -> true
11298 ; G=suspension(_, H, _, _, _, I),
11299 setarg(2, G, removed),
11300 ( H==not_stored_yet
11301 -> J=[]
11302 ; term_variables(I, J),
11303 ( arg(5, G, K),
11304 ( var(K)
11305 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11306 L),
11307 L=[_|M],
11308 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11309 M),
11310 ( M=[N|_]
11311 -> setarg(5, N, _)
11312 ; true
11313 )
11314 ; K=[_, _|M],
11315 setarg(2, K, M),
11316 ( M=[N|_]
11317 -> setarg(5, N, K)
11318 ; true
11319 )
11320 )
11321 ),
11322 'detach_known/1_1_$special_number/1___1'(J, G)
11323 )
11324 ).
11325'known/1_1_$special_number/1___1__0'(_, C) :-
11326 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
11327 A),
11328 member(B, A),
11329 B=suspension(_, active, _), !,
11330 ( var(C)
11331 -> true
11332 ; C=suspension(_, D, _, _, _, E),
11333 setarg(2, C, removed),
11334 ( D==not_stored_yet
11335 -> F=[]
11336 ; term_variables(E, F),
11337 ( arg(5, C, G),
11338 ( var(G)
11339 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11340 H),
11341 H=[_|I],
11342 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11343 I),
11344 ( I=[J|_]
11345 -> setarg(5, J, _)
11346 ; true
11347 )
11348 ; G=[_, _|I],
11349 setarg(2, G, I),
11350 ( I=[J|_]
11351 -> setarg(5, J, G)
11352 ; true
11353 )
11354 )
11355 ),
11356 'detach_known/1_1_$special_number/1___1'(F, C)
11357 )
11358 ).
11359'known/1_1_$special_number/1___1__0'(A, B) :-
11360 nonvar(A),
11361 \+ number(A), !,
11362 ( var(B)
11363 -> true
11364 ; B=suspension(_, C, _, _, _, D),
11365 setarg(2, B, removed),
11366 ( C==not_stored_yet
11367 -> E=[]
11368 ; term_variables(D, E),
11369 ( arg(5, B, F),
11370 ( var(F)
11371 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11372 G),
11373 G=[_|H],
11374 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11375 H),
11376 ( H=[I|_]
11377 -> setarg(5, I, _)
11378 ; true
11379 )
11380 ; F=[_, _|H],
11381 setarg(2, F, H),
11382 ( H=[I|_]
11383 -> setarg(5, I, F)
11384 ; true
11385 )
11386 )
11387 ),
11388 'detach_known/1_1_$special_number/1___1'(E, B)
11389 )
11390 ),
11391 'known/1_1_$special_fail/0'.
11392'known/1_1_$special_number/1___1__0'(A, N) :-
11393 ( 'chr newvia_1'(A, B)
11394 -> get_attr(B, guard_entailment, C),
11395 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
11396 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
11397 D)
11398 ),
11399 member(E, D),
11400 E=suspension(_, active, _, _, F),
11401 nonvar(F),
11402 F=number(G),
11403 G==A, !,
11404 E=suspension(_, _, _, _, H),
11405 setarg(2, E, removed),
11406 term_variables(H, M),
11407 arg(4, E, I),
11408 ( var(I)
11409 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
11410 J),
11411 J=[_|K],
11412 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
11413 K),
11414 ( K=[L|_]
11415 -> setarg(4, L, _)
11416 ; true
11417 )
11418 ; I=[_, _|K],
11419 setarg(2, I, K),
11420 ( K=[L|_]
11421 -> setarg(4, L, I)
11422 ; true
11423 )
11424 ),
11425 'detach_known/1_1_$special_\\+/1___1'(M, E),
11426 ( var(N)
11427 -> true
11428 ; N=suspension(_, O, _, _, _, P),
11429 setarg(2, N, removed),
11430 ( O==not_stored_yet
11431 -> Q=[]
11432 ; term_variables(P, Q),
11433 ( arg(5, N, R),
11434 ( var(R)
11435 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11436 S),
11437 S=[_|T],
11438 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11439 T),
11440 ( T=[U|_]
11441 -> setarg(5, U, _)
11442 ; true
11443 )
11444 ; R=[_, _|T],
11445 setarg(2, R, T),
11446 ( T=[U|_]
11447 -> setarg(5, U, R)
11448 ; true
11449 )
11450 )
11451 ),
11452 'detach_known/1_1_$special_number/1___1'(Q, N)
11453 )
11454 ),
11455 'known/1_1_$special_fail/0'.
11456'known/1_1_$special_number/1___1__0'(B, A) :-
11457 ( var(A)
11458 -> A=suspension(C, not_stored_yet, t, 0, _, B),
11459 'chr gen_id'(C)
11460 ; true
11461 ),
11462 ( '$novel_production'(A, 238), !,
11463 '$extend_history'(A, 238),
11464 arg(2, A, F),
11465 setarg(2, A, active),
11466 arg(4, A, D),
11467 E is D+1,
11468 setarg(4, A, E),
11469 ( F==not_stored_yet
11470 -> A=suspension(_, _, _, _, _, G),
11471 term_variables(G, H),
11472 'chr none_locked'(H),
11473 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11474 I),
11475 J=[A|I],
11476 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11477 J),
11478 ( I=[K|_]
11479 -> setarg(5, K, J)
11480 ; true
11481 )
11482 ),
11483 'attach_known/1_1_$special_number/1___1'(H, A)
11484 ; true
11485 ),
11486 'known/1_1_$special_nonvar/1'(B),
11487 ( A=suspension(_, active, _, E, _, _)
11488 -> setarg(2, A, inactive),
11489 'known/1_1_$special_number/1___1__1'(B, A)
11490 ; true
11491 )
11492 ; 'known/1_1_$special_number/1___1__1'(B, A)
11493 ).
11494'known/1_1_$special_number/1___1__1'(A, E) :-
11495 ( 'chr newvia_1'(A, B)
11496 -> get_attr(B, guard_entailment, C),
11497 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
11498 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11499 D)
11500 ), !,
11501 'known/1_1_$special_number/1___1__1__0__8'(D, A, E).
11502'known/1_1_$special_number/1___1__1__0__8'([], A, B) :-
11503 'known/1_1_$special_number/1___1__2'(A, B).
11504'known/1_1_$special_number/1___1__1__0__8'([A|W], E, M) :-
11505 ( A=suspension(_, active, _, _, B, V),
11506 nonvar(B),
11507 B=(\+C),
11508 nonvar(C),
11509 C=number(D),
11510 D==E
11511 -> ( A=suspension(_, _, _, _, F, G),
11512 setarg(2, A, removed),
11513 term_variables(term(F, G), L),
11514 ( arg(4, A, H),
11515 ( var(H)
11516 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11517 I),
11518 I=[_|J],
11519 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11520 J),
11521 ( J=[K|_]
11522 -> setarg(4, K, _)
11523 ; true
11524 )
11525 ; H=[_, _|J],
11526 setarg(2, H, J),
11527 ( J=[K|_]
11528 -> setarg(4, K, H)
11529 ; true
11530 )
11531 )
11532 ),
11533 'detach_known/1_1_$special_;/2___2'(L, A)
11534 ),
11535 ( arg(2, M, P),
11536 setarg(2, M, active),
11537 ( arg(4, M, N),
11538 O is N+1,
11539 setarg(4, M, O)
11540 ),
11541 ( P==not_stored_yet
11542 -> M=suspension(_, _, _, _, _, Q),
11543 term_variables(Q, R),
11544 'chr none_locked'(R),
11545 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11546 S),
11547 T=[M|S],
11548 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11549 T),
11550 ( S=[U|_]
11551 -> setarg(5, U, T)
11552 ; true
11553 )
11554 ),
11555 'attach_known/1_1_$special_number/1___1'(R, M)
11556 ; true
11557 )
11558 ),
11559 known(V),
11560 ( M=suspension(_, active, _, O, _, _)
11561 -> setarg(2, M, inactive),
11562 'known/1_1_$special_number/1___1__1__0__8'(W,
11563 E,
11564 M)
11565 ; true
11566 )
11567 ; 'known/1_1_$special_number/1___1__1__0__8'(W,
11568 E,
11569 M)
11570 ).
11571'known/1_1_$special_number/1___1__1'(A, B) :-
11572 'known/1_1_$special_number/1___1__2'(A, B).
11573'known/1_1_$special_number/1___1__2'(A, E) :-
11574 ( 'chr newvia_1'(A, B)
11575 -> get_attr(B, guard_entailment, C),
11576 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
11577 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11578 D)
11579 ), !,
11580 'known/1_1_$special_number/1___1__2__0__9'(D, A, E).
11581'known/1_1_$special_number/1___1__2__0__9'([], A, B) :-
11582 'known/1_1_$special_number/1___1__3'(A, B).
11583'known/1_1_$special_number/1___1__2__0__9'([A|X], F, N) :-
11584 ( A=suspension(_, active, _, _, B, W),
11585 nonvar(B),
11586 B=(C, _),
11587 nonvar(C),
11588 C=(\+D),
11589 nonvar(D),
11590 D=number(E),
11591 E==F
11592 -> ( A=suspension(_, _, _, _, G, H),
11593 setarg(2, A, removed),
11594 term_variables(term(G, H), M),
11595 ( arg(4, A, I),
11596 ( var(I)
11597 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11598 J),
11599 J=[_|K],
11600 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11601 K),
11602 ( K=[L|_]
11603 -> setarg(4, L, _)
11604 ; true
11605 )
11606 ; I=[_, _|K],
11607 setarg(2, I, K),
11608 ( K=[L|_]
11609 -> setarg(4, L, I)
11610 ; true
11611 )
11612 )
11613 ),
11614 'detach_known/1_1_$special_;/2___2'(M, A)
11615 ),
11616 ( arg(2, N, Q),
11617 setarg(2, N, active),
11618 ( arg(4, N, O),
11619 P is O+1,
11620 setarg(4, N, P)
11621 ),
11622 ( Q==not_stored_yet
11623 -> N=suspension(_, _, _, _, _, R),
11624 term_variables(R, S),
11625 'chr none_locked'(S),
11626 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11627 T),
11628 U=[N|T],
11629 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11630 U),
11631 ( T=[V|_]
11632 -> setarg(5, V, U)
11633 ; true
11634 )
11635 ),
11636 'attach_known/1_1_$special_number/1___1'(S, N)
11637 ; true
11638 )
11639 ),
11640 known(W),
11641 ( N=suspension(_, active, _, P, _, _)
11642 -> setarg(2, N, inactive),
11643 'known/1_1_$special_number/1___1__2__0__9'(X,
11644 F,
11645 N)
11646 ; true
11647 )
11648 ; 'known/1_1_$special_number/1___1__2__0__9'(X,
11649 F,
11650 N)
11651 ).
11652'known/1_1_$special_number/1___1__2'(A, B) :-
11653 'known/1_1_$special_number/1___1__3'(A, B).
11654'known/1_1_$special_number/1___1__3'(_, A) :-
11655 arg(2, A, D),
11656 setarg(2, A, active),
11657 arg(4, A, B),
11658 C is B+1,
11659 setarg(4, A, C),
11660 ( D==not_stored_yet
11661 -> A=suspension(_, _, _, _, _, E),
11662 term_variables(E, F),
11663 'chr none_locked'(F),
11664 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11665 G),
11666 H=[A|G],
11667 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11668 H),
11669 ( G=[I|_]
11670 -> setarg(5, I, H)
11671 ; true
11672 )
11673 ),
11674 'attach_known/1_1_$special_number/1___1'(F, A)
11675 ; true
11676 ).
11677'known/1_1_$special_=\\=/2'(A, B) :-
11678 'known/1_1_$special_=\\=/2___2__0'(A, B, _).
11679'known/1_1_$special_=\\=/2___2__0'(A, B, I) :-
11680 ( 'chr newvia_2'(A, B, C)
11681 -> get_attr(C, guard_entailment, D),
11682 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _, _)
11683 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11684 E)
11685 ),
11686 member(F, E),
11687 F=suspension(_, active, _, _, _, G, H),
11688 G==A,
11689 H==B, !,
11690 ( var(I)
11691 -> true
11692 ; I=suspension(_, J, _, _, _, K, L),
11693 setarg(2, I, removed),
11694 ( J==not_stored_yet
11695 -> M=[]
11696 ; term_variables(term(K, L), M),
11697 ( arg(5, I, N),
11698 ( var(N)
11699 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11700 O),
11701 O=[_|P],
11702 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11703 P),
11704 ( P=[Q|_]
11705 -> setarg(5, Q, _)
11706 ; true
11707 )
11708 ; N=[_, _|P],
11709 setarg(2, N, P),
11710 ( P=[Q|_]
11711 -> setarg(5, Q, N)
11712 ; true
11713 )
11714 )
11715 ),
11716 'detach_known/1_1_$special_=\\=/2___2'(M, I)
11717 )
11718 ).
11719'known/1_1_$special_=\\=/2___2__0'(_, _, C) :-
11720 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
11721 A),
11722 member(B, A),
11723 B=suspension(_, active, _), !,
11724 ( var(C)
11725 -> true
11726 ; C=suspension(_, D, _, _, _, E, F),
11727 setarg(2, C, removed),
11728 ( D==not_stored_yet
11729 -> G=[]
11730 ; term_variables(term(E, F), G),
11731 ( arg(5, C, H),
11732 ( var(H)
11733 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11734 I),
11735 I=[_|J],
11736 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11737 J),
11738 ( J=[K|_]
11739 -> setarg(5, K, _)
11740 ; true
11741 )
11742 ; H=[_, _|J],
11743 setarg(2, H, J),
11744 ( J=[K|_]
11745 -> setarg(5, K, H)
11746 ; true
11747 )
11748 )
11749 ),
11750 'detach_known/1_1_$special_=\\=/2___2'(G, C)
11751 )
11752 ).
11753'known/1_1_$special_=\\=/2___2__0'(F, A, E) :-
11754 ( 'chr newvia_1'(A, B)
11755 -> get_attr(B, guard_entailment, C),
11756 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _)
11757 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11758 D)
11759 ), !,
11760 ( var(E)
11761 -> E=suspension(G, not_stored_yet, t, 0, _, F, A),
11762 'chr gen_id'(G)
11763 ; true
11764 ),
11765 'known/1_1_$special_=\\=/2___2__0__0__5'(D, F, A, E).
11766'known/1_1_$special_=\\=/2___2__0__0__5'([], A, B, C) :-
11767 'known/1_1_$special_=\\=/2___2__1'(A, B, C).
11768'known/1_1_$special_=\\=/2___2__0__0__5'([A|H], I, C, J) :-
11769 ( ( A=suspension(_, active, _, _, _, B, D),
11770 B==C
11771 ),
11772 ( 'chr newvia_2'(C, D, E)
11773 -> get_attr(E, guard_entailment, F),
11774 F=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, G, _)
11775 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
11776 G)
11777 )
11778 -> 'known/1_1_$special_=\\=/2___2__0__1__5'(G,
11779 D,
11780 A,
11781 H,
11782 I,
11783 C,
11784 J)
11785 ; 'known/1_1_$special_=\\=/2___2__0__0__5'(H,
11786 I,
11787 C,
11788 J)
11789 ).
11790'known/1_1_$special_=\\=/2___2__0__1__5'([], _, _, A, B, C, D) :-
11791 'known/1_1_$special_=\\=/2___2__0__0__5'(A, B, C, D).
11792'known/1_1_$special_=\\=/2___2__0__1__5'([A|J], E, K, L, F, C, M) :-
11793 ( ( A=suspension(_, active, _, _, _, B, D),
11794 B==C,
11795 D==E
11796 ),
11797 ( 'chr newvia_2'(F, C, G)
11798 -> get_attr(G, guard_entailment, H),
11799 H=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, I, _)
11800 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
11801 I)
11802 )
11803 -> 'known/1_1_$special_=\\=/2___2__0__2__5'(I,
11804 A,
11805 J,
11806 E,
11807 K,
11808 L,
11809 F,
11810 C,
11811 M)
11812 ; 'known/1_1_$special_=\\=/2___2__0__1__5'(J,
11813 E,
11814 K,
11815 L,
11816 F,
11817 C,
11818 M)
11819 ).
11820'known/1_1_$special_=\\=/2___2__0__2__5'([], _, A, B, C, D, E, F, G) :-
11821 'known/1_1_$special_=\\=/2___2__0__1__5'(A,
11822 B,
11823 C,
11824 D,
11825 E,
11826 F,
11827 G).
11828'known/1_1_$special_=\\=/2___2__0__2__5'([A|T], B, U, S, H, V, D, F, G) :-
11829 ( A=suspension(_, active, _, _, _, C, E),
11830 A\==B,
11831 ( C==D,
11832 E==F
11833 ),
11834 I=t(188, A, G, B, H),
11835 '$novel_production'(A, I),
11836 '$novel_production'(G, I),
11837 '$novel_production'(B, I),
11838 '$novel_production'(H, I)
11839 -> '$extend_history'(G, I),
11840 ( arg(2, G, L),
11841 setarg(2, G, active),
11842 ( arg(4, G, J),
11843 K is J+1,
11844 setarg(4, G, K)
11845 ),
11846 ( L==not_stored_yet
11847 -> G=suspension(_, _, _, _, _, M, N),
11848 term_variables(term(M, N), O),
11849 'chr none_locked'(O),
11850 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11851 P),
11852 Q=[G|P],
11853 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11854 Q),
11855 ( P=[R|_]
11856 -> setarg(5, R, Q)
11857 ; true
11858 )
11859 ),
11860 'attach_known/1_1_$special_=\\=/2___2'(O, G)
11861 ; true
11862 )
11863 ),
11864 'known/1_1_$special_=\\=/2'(D, S),
11865 ( G=suspension(_, active, _, K, _, _, _)
11866 -> setarg(2, G, inactive),
11867 'known/1_1_$special_=\\=/2___2__0__2__5'(T,
11868 B,
11869 U,
11870 S,
11871 H,
11872 V,
11873 D,
11874 F,
11875 G)
11876 ; true
11877 )
11878 ; 'known/1_1_$special_=\\=/2___2__0__2__5'(T,
11879 B,
11880 U,
11881 S,
11882 H,
11883 V,
11884 D,
11885 F,
11886 G)
11887 ).
11888'known/1_1_$special_=\\=/2___2__0'(B, C, A) :-
11889 ( var(A)
11890 -> A=suspension(D, not_stored_yet, t, 0, _, B, C),
11891 'chr gen_id'(D)
11892 ; true
11893 ),
11894 'known/1_1_$special_=\\=/2___2__1'(B, C, A).
11895'known/1_1_$special_=\\=/2___2__1'(A, E, F) :-
11896 ( 'chr newvia_1'(A, B)
11897 -> get_attr(B, guard_entailment, C),
11898 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _)
11899 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
11900 D)
11901 ), !,
11902 'known/1_1_$special_=\\=/2___2__1__0__6'(D, A, E, F).
11903'known/1_1_$special_=\\=/2___2__1__0__6'([], A, B, C) :-
11904 'known/1_1_$special_=\\=/2___2__2'(A, B, C).
11905'known/1_1_$special_=\\=/2___2__1__0__6'([A|I], C, D, J) :-
11906 ( ( A=suspension(_, active, _, _, _, H, B),
11907 B==C
11908 ),
11909 ( 'chr newvia_2'(C, D, E)
11910 -> get_attr(E, guard_entailment, F),
11911 F=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, G, _)
11912 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
11913 G)
11914 )
11915 -> 'known/1_1_$special_=\\=/2___2__1__1__6'(G,
11916 H,
11917 A,
11918 I,
11919 C,
11920 D,
11921 J)
11922 ; 'known/1_1_$special_=\\=/2___2__1__0__6'(I,
11923 C,
11924 D,
11925 J)
11926 ).
11927'known/1_1_$special_=\\=/2___2__1__1__6'([], _, _, A, B, C, D) :-
11928 'known/1_1_$special_=\\=/2___2__1__0__6'(A, B, C, D).
11929'known/1_1_$special_=\\=/2___2__1__1__6'([A|K], G, B, L, D, F, M) :-
11930 ( ( A=suspension(_, active, _, _, _, C, E),
11931 A\==B,
11932 C==D,
11933 E==F
11934 ),
11935 ( 'chr newvia_2'(G, D, H)
11936 -> get_attr(H, guard_entailment, I),
11937 I=v(_, _, _, _, _, _, _, _, _, _, _, _, _, J, _, _, _, _, _, _, _, _)
11938 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11939 J)
11940 )
11941 -> 'known/1_1_$special_=\\=/2___2__1__2__6'(J,
11942 A,
11943 K,
11944 G,
11945 B,
11946 L,
11947 D,
11948 F,
11949 M)
11950 ; 'known/1_1_$special_=\\=/2___2__1__1__6'(K,
11951 G,
11952 B,
11953 L,
11954 D,
11955 F,
11956 M)
11957 ).
11958'known/1_1_$special_=\\=/2___2__1__2__6'([], _, A, B, C, D, E, F, G) :-
11959 'known/1_1_$special_=\\=/2___2__1__1__6'(A,
11960 B,
11961 C,
11962 D,
11963 E,
11964 F,
11965 G).
11966'known/1_1_$special_=\\=/2___2__1__2__6'([A|T], G, U, C, F, V, E, S, H) :-
11967 ( A=suspension(_, active, _, _, _, B, D),
11968 ( B==C,
11969 D==E
11970 ),
11971 I=t(188, F, A, G, H),
11972 '$novel_production'(F, I),
11973 '$novel_production'(A, I),
11974 '$novel_production'(G, I),
11975 '$novel_production'(H, I)
11976 -> '$extend_history'(H, I),
11977 ( arg(2, H, L),
11978 setarg(2, H, active),
11979 ( arg(4, H, J),
11980 K is J+1,
11981 setarg(4, H, K)
11982 ),
11983 ( L==not_stored_yet
11984 -> H=suspension(_, _, _, _, _, M, N),
11985 term_variables(term(M, N), O),
11986 'chr none_locked'(O),
11987 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11988 P),
11989 Q=[H|P],
11990 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11991 Q),
11992 ( P=[R|_]
11993 -> setarg(5, R, Q)
11994 ; true
11995 )
11996 ),
11997 'attach_known/1_1_$special_=\\=/2___2'(O, H)
11998 ; true
11999 )
12000 ),
12001 'known/1_1_$special_=\\=/2'(C, S),
12002 ( H=suspension(_, active, _, K, _, _, _)
12003 -> setarg(2, H, inactive),
12004 'known/1_1_$special_=\\=/2___2__1__2__6'(T,
12005 G,
12006 U,
12007 C,
12008 F,
12009 V,
12010 E,
12011 S,
12012 H)
12013 ; true
12014 )
12015 ; 'known/1_1_$special_=\\=/2___2__1__2__6'(T,
12016 G,
12017 U,
12018 C,
12019 F,
12020 V,
12021 E,
12022 S,
12023 H)
12024 ).
12025'known/1_1_$special_=\\=/2___2__1'(A, B, C) :-
12026 'known/1_1_$special_=\\=/2___2__2'(A, B, C).
12027'known/1_1_$special_=\\=/2___2__2'(B, A, C) :-
12028 number(A),
12029 number(B),
12030 B=:=A, !,
12031 ( var(C)
12032 -> true
12033 ; C=suspension(_, D, _, _, _, E, F),
12034 setarg(2, C, removed),
12035 ( D==not_stored_yet
12036 -> G=[]
12037 ; term_variables(term(E, F), G),
12038 ( arg(5, C, H),
12039 ( var(H)
12040 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12041 I),
12042 I=[_|J],
12043 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12044 J),
12045 ( J=[K|_]
12046 -> setarg(5, K, _)
12047 ; true
12048 )
12049 ; H=[_, _|J],
12050 setarg(2, H, J),
12051 ( J=[K|_]
12052 -> setarg(5, K, H)
12053 ; true
12054 )
12055 )
12056 ),
12057 'detach_known/1_1_$special_=\\=/2___2'(G, C)
12058 )
12059 ),
12060 'known/1_1_$special_fail/0'.
12061'known/1_1_$special_=\\=/2___2__2'(B, A, C) :-
12062 A==B, !,
12063 ( var(C)
12064 -> true
12065 ; C=suspension(_, D, _, _, _, E, F),
12066 setarg(2, C, removed),
12067 ( D==not_stored_yet
12068 -> G=[]
12069 ; term_variables(term(E, F), G),
12070 ( arg(5, C, H),
12071 ( var(H)
12072 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12073 I),
12074 I=[_|J],
12075 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12076 J),
12077 ( J=[K|_]
12078 -> setarg(5, K, _)
12079 ; true
12080 )
12081 ; H=[_, _|J],
12082 setarg(2, H, J),
12083 ( J=[K|_]
12084 -> setarg(5, K, H)
12085 ; true
12086 )
12087 )
12088 ),
12089 'detach_known/1_1_$special_=\\=/2___2'(G, C)
12090 )
12091 ),
12092 'known/1_1_$special_fail/0'.
12093'known/1_1_$special_=\\=/2___2__2'(A, B, P) :-
12094 ( 'chr newvia_2'(A, B, C)
12095 -> get_attr(C, guard_entailment, D),
12096 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E)
12097 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
12098 E)
12099 ),
12100 member(F, E),
12101 F=suspension(_, active, _, _, _, G, H),
12102 G==A,
12103 H==B, !,
12104 F=suspension(_, _, _, _, _, I, J),
12105 setarg(2, F, removed),
12106 term_variables(term(I, J), O),
12107 arg(5, F, K),
12108 ( var(K)
12109 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
12110 L),
12111 L=[_|M],
12112 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
12113 M),
12114 ( M=[N|_]
12115 -> setarg(5, N, _)
12116 ; true
12117 )
12118 ; K=[_, _|M],
12119 setarg(2, K, M),
12120 ( M=[N|_]
12121 -> setarg(5, N, K)
12122 ; true
12123 )
12124 ),
12125 'detach_known/1_1_$special_=:=/2___2'(O, F),
12126 ( var(P)
12127 -> true
12128 ; P=suspension(_, Q, _, _, _, R, S),
12129 setarg(2, P, removed),
12130 ( Q==not_stored_yet
12131 -> T=[]
12132 ; term_variables(term(R, S), T),
12133 ( arg(5, P, U),
12134 ( var(U)
12135 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12136 V),
12137 V=[_|W],
12138 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12139 W),
12140 ( W=[X|_]
12141 -> setarg(5, X, _)
12142 ; true
12143 )
12144 ; U=[_, _|W],
12145 setarg(2, U, W),
12146 ( W=[X|_]
12147 -> setarg(5, X, U)
12148 ; true
12149 )
12150 )
12151 ),
12152 'detach_known/1_1_$special_=\\=/2___2'(T, P)
12153 )
12154 ),
12155 'known/1_1_$special_fail/0'.
12156'known/1_1_$special_=\\=/2___2__2'(L, K, A) :-
12157 '$novel_production'(A, 195), !,
12158 '$extend_history'(A, 195),
12159 arg(2, A, D),
12160 setarg(2, A, active),
12161 arg(4, A, B),
12162 C is B+1,
12163 setarg(4, A, C),
12164 ( D==not_stored_yet
12165 -> A=suspension(_, _, _, _, _, E, F),
12166 term_variables(term(E, F), G),
12167 'chr none_locked'(G),
12168 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12169 H),
12170 I=[A|H],
12171 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12172 I),
12173 ( H=[J|_]
12174 -> setarg(5, J, I)
12175 ; true
12176 )
12177 ),
12178 'attach_known/1_1_$special_=\\=/2___2'(G, A)
12179 ; true
12180 ),
12181 'known/1_1_$special_=\\=/2'(K, L),
12182 ( A=suspension(_, active, _, C, _, _, _)
12183 -> setarg(2, A, inactive),
12184 'known/1_1_$special_=\\=/2___2__3'(L, K, A)
12185 ; true
12186 ).
12187'known/1_1_$special_=\\=/2___2__2'(A, B, C) :-
12188 'known/1_1_$special_=\\=/2___2__3'(A, B, C).
12189'known/1_1_$special_=\\=/2___2__3'(A, B, P) :-
12190 ( 'chr newvia_2'(A, B, C)
12191 -> get_attr(C, guard_entailment, D),
12192 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
12193 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12194 E)
12195 ),
12196 member(F, E),
12197 F=suspension(_, active, _, _, G),
12198 nonvar(G),
12199 G=(H=\=I),
12200 H==A,
12201 I==B, !,
12202 F=suspension(_, _, _, _, J),
12203 setarg(2, F, removed),
12204 term_variables(J, O),
12205 arg(4, F, K),
12206 ( var(K)
12207 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12208 L),
12209 L=[_|M],
12210 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12211 M),
12212 ( M=[N|_]
12213 -> setarg(4, N, _)
12214 ; true
12215 )
12216 ; K=[_, _|M],
12217 setarg(2, K, M),
12218 ( M=[N|_]
12219 -> setarg(4, N, K)
12220 ; true
12221 )
12222 ),
12223 'detach_known/1_1_$special_\\+/1___1'(O, F),
12224 ( var(P)
12225 -> true
12226 ; P=suspension(_, Q, _, _, _, R, S),
12227 setarg(2, P, removed),
12228 ( Q==not_stored_yet
12229 -> T=[]
12230 ; term_variables(term(R, S), T),
12231 ( arg(5, P, U),
12232 ( var(U)
12233 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12234 V),
12235 V=[_|W],
12236 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12237 W),
12238 ( W=[X|_]
12239 -> setarg(5, X, _)
12240 ; true
12241 )
12242 ; U=[_, _|W],
12243 setarg(2, U, W),
12244 ( W=[X|_]
12245 -> setarg(5, X, U)
12246 ; true
12247 )
12248 )
12249 ),
12250 'detach_known/1_1_$special_=\\=/2___2'(T, P)
12251 )
12252 ),
12253 'known/1_1_$special_fail/0'.
12254'known/1_1_$special_=\\=/2___2__3'(A, B, F) :-
12255 ( 'chr newvia_2'(A, B, C)
12256 -> get_attr(C, guard_entailment, D),
12257 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
12258 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12259 E)
12260 ), !,
12261 'known/1_1_$special_=\\=/2___2__3__0__12'(E,
12262 A,
12263 B,
12264 F).
12265'known/1_1_$special_=\\=/2___2__3__0__12'([], A, B, C) :-
12266 'known/1_1_$special_=\\=/2___2__4'(A, B, C).
12267'known/1_1_$special_=\\=/2___2__3__0__12'([A|Z], E, G, O) :-
12268 ( A=suspension(_, active, _, _, B, Y),
12269 nonvar(B),
12270 B=(\+C),
12271 nonvar(C),
12272 C=(D=\=F),
12273 D==E,
12274 F==G
12275 -> ( A=suspension(_, _, _, _, H, I),
12276 setarg(2, A, removed),
12277 term_variables(term(H, I), N),
12278 ( arg(4, A, J),
12279 ( var(J)
12280 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12281 K),
12282 K=[_|L],
12283 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12284 L),
12285 ( L=[M|_]
12286 -> setarg(4, M, _)
12287 ; true
12288 )
12289 ; J=[_, _|L],
12290 setarg(2, J, L),
12291 ( L=[M|_]
12292 -> setarg(4, M, J)
12293 ; true
12294 )
12295 )
12296 ),
12297 'detach_known/1_1_$special_;/2___2'(N, A)
12298 ),
12299 ( arg(2, O, R),
12300 setarg(2, O, active),
12301 ( arg(4, O, P),
12302 Q is P+1,
12303 setarg(4, O, Q)
12304 ),
12305 ( R==not_stored_yet
12306 -> O=suspension(_, _, _, _, _, S, T),
12307 term_variables(term(S, T), U),
12308 'chr none_locked'(U),
12309 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12310 V),
12311 W=[O|V],
12312 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12313 W),
12314 ( V=[X|_]
12315 -> setarg(5, X, W)
12316 ; true
12317 )
12318 ),
12319 'attach_known/1_1_$special_=\\=/2___2'(U, O)
12320 ; true
12321 )
12322 ),
12323 known(Y),
12324 ( O=suspension(_, active, _, Q, _, _, _)
12325 -> setarg(2, O, inactive),
12326 'known/1_1_$special_=\\=/2___2__3__0__12'(Z,
12327 E,
12328 G,
12329 O)
12330 ; true
12331 )
12332 ; 'known/1_1_$special_=\\=/2___2__3__0__12'(Z,
12333 E,
12334 G,
12335 O)
12336 ).
12337'known/1_1_$special_=\\=/2___2__3'(A, B, C) :-
12338 'known/1_1_$special_=\\=/2___2__4'(A, B, C).
12339'known/1_1_$special_=\\=/2___2__4'(A, B, F) :-
12340 ( 'chr newvia_2'(A, B, C)
12341 -> get_attr(C, guard_entailment, D),
12342 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
12343 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12344 E)
12345 ), !,
12346 'known/1_1_$special_=\\=/2___2__4__0__13'(E,
12347 A,
12348 B,
12349 F).
12350'known/1_1_$special_=\\=/2___2__4__0__13'([], A, B, C) :-
12351 'known/1_1_$special_=\\=/2___2__5'(A, B, C).
12352'known/1_1_$special_=\\=/2___2__4__0__13'([A|A1], F, H, P) :-
12353 ( A=suspension(_, active, _, _, B, Z),
12354 nonvar(B),
12355 B=(C, _),
12356 nonvar(C),
12357 C=(\+D),
12358 nonvar(D),
12359 D=(E=\=G),
12360 E==F,
12361 G==H
12362 -> ( A=suspension(_, _, _, _, I, J),
12363 setarg(2, A, removed),
12364 term_variables(term(I, J), O),
12365 ( arg(4, A, K),
12366 ( var(K)
12367 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12368 L),
12369 L=[_|M],
12370 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12371 M),
12372 ( M=[N|_]
12373 -> setarg(4, N, _)
12374 ; true
12375 )
12376 ; K=[_, _|M],
12377 setarg(2, K, M),
12378 ( M=[N|_]
12379 -> setarg(4, N, K)
12380 ; true
12381 )
12382 )
12383 ),
12384 'detach_known/1_1_$special_;/2___2'(O, A)
12385 ),
12386 ( arg(2, P, S),
12387 setarg(2, P, active),
12388 ( arg(4, P, Q),
12389 R is Q+1,
12390 setarg(4, P, R)
12391 ),
12392 ( S==not_stored_yet
12393 -> P=suspension(_, _, _, _, _, T, U),
12394 term_variables(term(T, U), V),
12395 'chr none_locked'(V),
12396 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12397 W),
12398 X=[P|W],
12399 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12400 X),
12401 ( W=[Y|_]
12402 -> setarg(5, Y, X)
12403 ; true
12404 )
12405 ),
12406 'attach_known/1_1_$special_=\\=/2___2'(V, P)
12407 ; true
12408 )
12409 ),
12410 known(Z),
12411 ( P=suspension(_, active, _, R, _, _, _)
12412 -> setarg(2, P, inactive),
12413 'known/1_1_$special_=\\=/2___2__4__0__13'(A1,
12414 F,
12415 H,
12416 P)
12417 ; true
12418 )
12419 ; 'known/1_1_$special_=\\=/2___2__4__0__13'(A1,
12420 F,
12421 H,
12422 P)
12423 ).
12424'known/1_1_$special_=\\=/2___2__4'(A, B, C) :-
12425 'known/1_1_$special_=\\=/2___2__5'(A, B, C).
12426'known/1_1_$special_=\\=/2___2__5'(_, _, A) :-
12427 arg(2, A, D),
12428 setarg(2, A, active),
12429 arg(4, A, B),
12430 C is B+1,
12431 setarg(4, A, C),
12432 ( D==not_stored_yet
12433 -> A=suspension(_, _, _, _, _, E, F),
12434 term_variables(term(E, F), G),
12435 'chr none_locked'(G),
12436 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12437 H),
12438 I=[A|H],
12439 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12440 I),
12441 ( H=[J|_]
12442 -> setarg(5, J, I)
12443 ; true
12444 )
12445 ),
12446 'attach_known/1_1_$special_=\\=/2___2'(G, A)
12447 ; true
12448 ).
12449'known/1_1_$special_\\+/1'(A) :-
12450 'known/1_1_$special_\\+/1___1__0'(A, _).
12451'known/1_1_$special_\\+/1___1__0'(A, G) :-
12452 ( 'chr newvia_1'(A, B)
12453 -> get_attr(B, guard_entailment, C),
12454 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
12455 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12456 D)
12457 ),
12458 member(E, D),
12459 E=suspension(_, active, _, _, F),
12460 F==A, !,
12461 ( var(G)
12462 -> true
12463 ; G=suspension(_, H, _, _, I),
12464 setarg(2, G, removed),
12465 ( H==not_stored_yet
12466 -> J=[]
12467 ; term_variables(I, J),
12468 ( arg(4, G, K),
12469 ( var(K)
12470 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12471 L),
12472 L=[_|M],
12473 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12474 M),
12475 ( M=[N|_]
12476 -> setarg(4, N, _)
12477 ; true
12478 )
12479 ; K=[_, _|M],
12480 setarg(2, K, M),
12481 ( M=[N|_]
12482 -> setarg(4, N, K)
12483 ; true
12484 )
12485 )
12486 ),
12487 'detach_known/1_1_$special_\\+/1___1'(J, G)
12488 )
12489 ).
12490'known/1_1_$special_\\+/1___1__0'(_, C) :-
12491 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
12492 A),
12493 member(B, A),
12494 B=suspension(_, active, _), !,
12495 ( var(C)
12496 -> true
12497 ; C=suspension(_, D, _, _, E),
12498 setarg(2, C, removed),
12499 ( D==not_stored_yet
12500 -> F=[]
12501 ; term_variables(E, F),
12502 ( arg(4, C, G),
12503 ( var(G)
12504 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12505 H),
12506 H=[_|I],
12507 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12508 I),
12509 ( I=[J|_]
12510 -> setarg(4, J, _)
12511 ; true
12512 )
12513 ; G=[_, _|I],
12514 setarg(2, G, I),
12515 ( I=[J|_]
12516 -> setarg(4, J, G)
12517 ; true
12518 )
12519 )
12520 ),
12521 'detach_known/1_1_$special_\\+/1___1'(F, C)
12522 )
12523 ).
12524'known/1_1_$special_\\+/1___1__0'(A, E) :-
12525 nonvar(A),
12526 ( ( ( ( ( ( ( ( ( ( ( A=functor(B, C, D),
12527 nonvar(B),
12528 'chr lock'(B),
12529 'chr lock'(C),
12530 'chr lock'(D),
12531 functor(B,
12532 C,
12533 D),
12534 'chr unlock'(B),
12535 'chr unlock'(C),
12536 'chr unlock'(D), !,
12537 ( var(E)
12538 -> true
12539 ; E=suspension(_, F, _, _, G),
12540 setarg(2,
12541 E,
12542 removed),
12543 ( F==not_stored_yet
12544 -> H=[]
12545 ; term_variables(G,
12546 H),
12547 ( arg(4,
12548 E,
12549 I),
12550 ( var(I)
12551 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12552 J),
12553 J=[_|K],
12554 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12555 K),
12556 ( K=[L|_]
12557 -> setarg(4,
12558 L,
12559 _)
12560 ; true
12561 )
12562 ; I=[_, _|K],
12563 setarg(2,
12564 I,
12565 K),
12566 ( K=[L|_]
12567 -> setarg(4,
12568 L,
12569 I)
12570 ; true
12571 )
12572 )
12573 ),
12574 'detach_known/1_1_$special_\\+/1___1'(H,
12575 E)
12576 )
12577 ),
12578 'known/1_1_$special_fail/0'
12579 ; A=(M;N),
12580 ( 'chr newvia_2'(M,
12581 N,
12582 O)
12583 -> get_attr(O,
12584 guard_entailment,
12585 P),
12586 P=v(_, _, _, Q, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
12587 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12588 Q)
12589 ),
12590 member(R, Q),
12591 R=suspension(_, active, _, _, S, T),
12592 S==M,
12593 T==N, !,
12594 R=suspension(_, _, _, _, U, V),
12595 setarg(2, R, removed),
12596 term_variables(term(U,
12597 V),
12598 A1),
12599 arg(4, R, W),
12600 ( var(W)
12601 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12602 X),
12603 X=[_|Y],
12604 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12605 Y),
12606 ( Y=[Z|_]
12607 -> setarg(4,
12608 Z,
12609 _)
12610 ; true
12611 )
12612 ; W=[_, _|Y],
12613 setarg(2,
12614 W,
12615 Y),
12616 ( Y=[Z|_]
12617 -> setarg(4,
12618 Z,
12619 W)
12620 ; true
12621 )
12622 ),
12623 'detach_known/1_1_$special_;/2___2'(A1,
12624 R),
12625 ( var(E)
12626 -> true
12627 ; E=suspension(_, B1, _, _, C1),
12628 setarg(2,
12629 E,
12630 removed),
12631 ( B1==not_stored_yet
12632 -> D1=[]
12633 ; term_variables(C1,
12634 D1),
12635 ( arg(4,
12636 E,
12637 E1),
12638 ( var(E1)
12639 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12640 F1),
12641 F1=[_|G1],
12642 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12643 G1),
12644 ( G1=[H1|_]
12645 -> setarg(4,
12646 H1,
12647 _)
12648 ; true
12649 )
12650 ; E1=[_, _|G1],
12651 setarg(2,
12652 E1,
12653 G1),
12654 ( G1=[H1|_]
12655 -> setarg(4,
12656 H1,
12657 E1)
12658 ; true
12659 )
12660 )
12661 ),
12662 'detach_known/1_1_$special_\\+/1___1'(D1,
12663 E)
12664 )
12665 ),
12666 'known/1_1_$special_fail/0'
12667 )
12668 ; A=nonvar(I1),
12669 ( 'chr newvia_1'(I1,
12670 J1)
12671 -> get_attr(J1,
12672 guard_entailment,
12673 K1),
12674 K1=v(_, _, _, _, L1, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
12675 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
12676 L1)
12677 ),
12678 member(M1, L1),
12679 M1=suspension(_, active, _, _, N1),
12680 N1==I1, !,
12681 M1=suspension(_, _, _, _, O1),
12682 setarg(2, M1, removed),
12683 term_variables(O1,
12684 T1),
12685 arg(4, M1, P1),
12686 ( var(P1)
12687 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
12688 Q1),
12689 Q1=[_|R1],
12690 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
12691 R1),
12692 ( R1=[S1|_]
12693 -> setarg(4,
12694 S1,
12695 _)
12696 ; true
12697 )
12698 ; P1=[_, _|R1],
12699 setarg(2,
12700 P1,
12701 R1),
12702 ( R1=[S1|_]
12703 -> setarg(4,
12704 S1,
12705 P1)
12706 ; true
12707 )
12708 ),
12709 'detach_known/1_1_$special_nonvar/1___1'(T1,
12710 M1),
12711 ( var(E)
12712 -> true
12713 ; E=suspension(_, U1, _, _, V1),
12714 setarg(2, E, removed),
12715 ( U1==not_stored_yet
12716 -> W1=[]
12717 ; term_variables(V1,
12718 W1),
12719 ( arg(4,
12720 E,
12721 X1),
12722 ( var(X1)
12723 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12724 Y1),
12725 Y1=[_|Z1],
12726 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12727 Z1),
12728 ( Z1=[A2|_]
12729 -> setarg(4,
12730 A2,
12731 _)
12732 ; true
12733 )
12734 ; X1=[_, _|Z1],
12735 setarg(2,
12736 X1,
12737 Z1),
12738 ( Z1=[A2|_]
12739 -> setarg(4,
12740 A2,
12741 X1)
12742 ; true
12743 )
12744 )
12745 ),
12746 'detach_known/1_1_$special_\\+/1___1'(W1,
12747 E)
12748 )
12749 ),
12750 'known/1_1_$special_fail/0'
12751 )
12752 ; A=var(B2),
12753 ( 'chr newvia_1'(B2,
12754 C2)
12755 -> get_attr(C2,
12756 guard_entailment,
12757 D2),
12758 D2=v(_, _, _, _, _, E2, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
12759 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
12760 E2)
12761 ),
12762 member(F2, E2),
12763 F2=suspension(_, active, _, _, G2),
12764 G2==B2, !,
12765 F2=suspension(_, _, _, _, H2),
12766 setarg(2, F2, removed),
12767 term_variables(H2, M2),
12768 arg(4, F2, I2),
12769 ( var(I2)
12770 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
12771 J2),
12772 J2=[_|K2],
12773 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
12774 K2),
12775 ( K2=[L2|_]
12776 -> setarg(4, L2, _)
12777 ; true
12778 )
12779 ; I2=[_, _|K2],
12780 setarg(2, I2, K2),
12781 ( K2=[L2|_]
12782 -> setarg(4,
12783 L2,
12784 I2)
12785 ; true
12786 )
12787 ),
12788 'detach_known/1_1_$special_var/1___1'(M2,
12789 F2),
12790 ( var(E)
12791 -> true
12792 ; E=suspension(_, N2, _, _, O2),
12793 setarg(2, E, removed),
12794 ( N2==not_stored_yet
12795 -> P2=[]
12796 ; term_variables(O2,
12797 P2),
12798 ( arg(4, E, Q2),
12799 ( var(Q2)
12800 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12801 R2),
12802 R2=[_|S2],
12803 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12804 S2),
12805 ( S2=[T2|_]
12806 -> setarg(4,
12807 T2,
12808 _)
12809 ; true
12810 )
12811 ; Q2=[_, _|S2],
12812 setarg(2,
12813 Q2,
12814 S2),
12815 ( S2=[T2|_]
12816 -> setarg(4,
12817 T2,
12818 Q2)
12819 ; true
12820 )
12821 )
12822 ),
12823 'detach_known/1_1_$special_\\+/1___1'(P2,
12824 E)
12825 )
12826 ),
12827 'known/1_1_$special_fail/0'
12828 )
12829 ; A=atom(U2),
12830 ( 'chr newvia_1'(U2, V2)
12831 -> get_attr(V2,
12832 guard_entailment,
12833 W2),
12834 W2=v(_, _, _, _, _, _, X2, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
12835 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
12836 X2)
12837 ),
12838 member(Y2, X2),
12839 Y2=suspension(_, active, _, _, _, Z2),
12840 Z2==U2, !,
12841 Y2=suspension(_, _, _, _, _, A3),
12842 setarg(2, Y2, removed),
12843 term_variables(A3, F3),
12844 arg(5, Y2, B3),
12845 ( var(B3)
12846 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
12847 C3),
12848 C3=[_|D3],
12849 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
12850 D3),
12851 ( D3=[E3|_]
12852 -> setarg(5, E3, _)
12853 ; true
12854 )
12855 ; B3=[_, _|D3],
12856 setarg(2, B3, D3),
12857 ( D3=[E3|_]
12858 -> setarg(5, E3, B3)
12859 ; true
12860 )
12861 ),
12862 'detach_known/1_1_$special_atom/1___1'(F3,
12863 Y2),
12864 ( var(E)
12865 -> true
12866 ; E=suspension(_, G3, _, _, H3),
12867 setarg(2, E, removed),
12868 ( G3==not_stored_yet
12869 -> I3=[]
12870 ; term_variables(H3,
12871 I3),
12872 ( arg(4, E, J3),
12873 ( var(J3)
12874 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12875 K3),
12876 K3=[_|L3],
12877 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12878 L3),
12879 ( L3=[M3|_]
12880 -> setarg(4,
12881 M3,
12882 _)
12883 ; true
12884 )
12885 ; J3=[_, _|L3],
12886 setarg(2,
12887 J3,
12888 L3),
12889 ( L3=[M3|_]
12890 -> setarg(4,
12891 M3,
12892 J3)
12893 ; true
12894 )
12895 )
12896 ),
12897 'detach_known/1_1_$special_\\+/1___1'(I3,
12898 E)
12899 )
12900 ),
12901 'known/1_1_$special_fail/0'
12902 )
12903 ; A=atomic(N3),
12904 ( 'chr newvia_1'(N3, O3)
12905 -> get_attr(O3,
12906 guard_entailment,
12907 P3),
12908 P3=v(_, _, _, _, _, _, _, Q3, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
12909 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
12910 Q3)
12911 ),
12912 member(R3, Q3),
12913 R3=suspension(_, active, _, _, _, S3),
12914 S3==N3, !,
12915 R3=suspension(_, _, _, _, _, T3),
12916 setarg(2, R3, removed),
12917 term_variables(T3, Y3),
12918 arg(5, R3, U3),
12919 ( var(U3)
12920 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
12921 V3),
12922 V3=[_|W3],
12923 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
12924 W3),
12925 ( W3=[X3|_]
12926 -> setarg(5, X3, _)
12927 ; true
12928 )
12929 ; U3=[_, _|W3],
12930 setarg(2, U3, W3),
12931 ( W3=[X3|_]
12932 -> setarg(5, X3, U3)
12933 ; true
12934 )
12935 ),
12936 'detach_known/1_1_$special_atomic/1___1'(Y3,
12937 R3),
12938 ( var(E)
12939 -> true
12940 ; E=suspension(_, Z3, _, _, A4),
12941 setarg(2, E, removed),
12942 ( Z3==not_stored_yet
12943 -> B4=[]
12944 ; term_variables(A4,
12945 B4),
12946 ( arg(4, E, C4),
12947 ( var(C4)
12948 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12949 D4),
12950 D4=[_|E4],
12951 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12952 E4),
12953 ( E4=[F4|_]
12954 -> setarg(4,
12955 F4,
12956 _)
12957 ; true
12958 )
12959 ; C4=[_, _|E4],
12960 setarg(2,
12961 C4,
12962 E4),
12963 ( E4=[F4|_]
12964 -> setarg(4,
12965 F4,
12966 C4)
12967 ; true
12968 )
12969 )
12970 ),
12971 'detach_known/1_1_$special_\\+/1___1'(B4,
12972 E)
12973 )
12974 ),
12975 'known/1_1_$special_fail/0'
12976 )
12977 ; A=compound(G4),
12978 ( 'chr newvia_1'(G4, H4)
12979 -> get_attr(H4,
12980 guard_entailment,
12981 I4),
12982 I4=v(_, _, _, _, _, _, _, _, J4, _, _, _, _, _, _, _, _, _, _, _, _, _)
12983 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
12984 J4)
12985 ),
12986 member(K4, J4),
12987 K4=suspension(_, active, _, _, _, L4),
12988 L4==G4, !,
12989 K4=suspension(_, _, _, _, _, M4),
12990 setarg(2, K4, removed),
12991 term_variables(M4, R4),
12992 arg(5, K4, N4),
12993 ( var(N4)
12994 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
12995 O4),
12996 O4=[_|P4],
12997 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
12998 P4),
12999 ( P4=[Q4|_]
13000 -> setarg(5, Q4, _)
13001 ; true
13002 )
13003 ; N4=[_, _|P4],
13004 setarg(2, N4, P4),
13005 ( P4=[Q4|_]
13006 -> setarg(5, Q4, N4)
13007 ; true
13008 )
13009 ),
13010 'detach_known/1_1_$special_compound/1___1'(R4,
13011 K4),
13012 ( var(E)
13013 -> true
13014 ; E=suspension(_, S4, _, _, T4),
13015 setarg(2, E, removed),
13016 ( S4==not_stored_yet
13017 -> U4=[]
13018 ; term_variables(T4, U4),
13019 ( arg(4, E, V4),
13020 ( var(V4)
13021 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13022 W4),
13023 W4=[_|X4],
13024 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13025 X4),
13026 ( X4=[Y4|_]
13027 -> setarg(4, Y4, _)
13028 ; true
13029 )
13030 ; V4=[_, _|X4],
13031 setarg(2, V4, X4),
13032 ( X4=[Y4|_]
13033 -> setarg(4,
13034 Y4,
13035 V4)
13036 ; true
13037 )
13038 )
13039 ),
13040 'detach_known/1_1_$special_\\+/1___1'(U4,
13041 E)
13042 )
13043 ),
13044 'known/1_1_$special_fail/0'
13045 )
13046 ; A=ground(Z4),
13047 ( 'chr newvia_1'(Z4, A5)
13048 -> get_attr(A5, guard_entailment, B5),
13049 B5=v(_, _, _, _, _, _, _, _, _, C5, _, _, _, _, _, _, _, _, _, _, _, _)
13050 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
13051 C5)
13052 ),
13053 member(D5, C5),
13054 D5=suspension(_, active, _, _, _, E5),
13055 E5==Z4, !,
13056 D5=suspension(_, _, _, _, _, F5),
13057 setarg(2, D5, removed),
13058 term_variables(F5, K5),
13059 arg(5, D5, G5),
13060 ( var(G5)
13061 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
13062 H5),
13063 H5=[_|I5],
13064 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
13065 I5),
13066 ( I5=[J5|_]
13067 -> setarg(5, J5, _)
13068 ; true
13069 )
13070 ; G5=[_, _|I5],
13071 setarg(2, G5, I5),
13072 ( I5=[J5|_]
13073 -> setarg(5, J5, G5)
13074 ; true
13075 )
13076 ),
13077 'detach_known/1_1_$special_ground/1___1'(K5,
13078 D5),
13079 ( var(E)
13080 -> true
13081 ; E=suspension(_, L5, _, _, M5),
13082 setarg(2, E, removed),
13083 ( L5==not_stored_yet
13084 -> N5=[]
13085 ; term_variables(M5, N5),
13086 ( arg(4, E, O5),
13087 ( var(O5)
13088 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13089 P5),
13090 P5=[_|Q5],
13091 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13092 Q5),
13093 ( Q5=[R5|_]
13094 -> setarg(4, R5, _)
13095 ; true
13096 )
13097 ; O5=[_, _|Q5],
13098 setarg(2, O5, Q5),
13099 ( Q5=[R5|_]
13100 -> setarg(4, R5, O5)
13101 ; true
13102 )
13103 )
13104 ),
13105 'detach_known/1_1_$special_\\+/1___1'(N5,
13106 E)
13107 )
13108 ),
13109 'known/1_1_$special_fail/0'
13110 )
13111 ; A=integer(S5),
13112 ( 'chr newvia_1'(S5, T5)
13113 -> get_attr(T5, guard_entailment, U5),
13114 U5=v(_, _, _, _, _, _, _, _, _, _, V5, _, _, _, _, _, _, _, _, _, _, _)
13115 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
13116 V5)
13117 ),
13118 member(W5, V5),
13119 W5=suspension(_, active, _, _, _, X5),
13120 X5==S5, !,
13121 W5=suspension(_, _, _, _, _, Y5),
13122 setarg(2, W5, removed),
13123 term_variables(Y5, D6),
13124 arg(5, W5, Z5),
13125 ( var(Z5)
13126 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
13127 A6),
13128 A6=[_|B6],
13129 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
13130 B6),
13131 ( B6=[C6|_]
13132 -> setarg(5, C6, _)
13133 ; true
13134 )
13135 ; Z5=[_, _|B6],
13136 setarg(2, Z5, B6),
13137 ( B6=[C6|_]
13138 -> setarg(5, C6, Z5)
13139 ; true
13140 )
13141 ),
13142 'detach_known/1_1_$special_integer/1___1'(D6,
13143 W5),
13144 ( var(E)
13145 -> true
13146 ; E=suspension(_, E6, _, _, F6),
13147 setarg(2, E, removed),
13148 ( E6==not_stored_yet
13149 -> G6=[]
13150 ; term_variables(F6, G6),
13151 ( arg(4, E, H6),
13152 ( var(H6)
13153 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13154 I6),
13155 I6=[_|J6],
13156 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13157 J6),
13158 ( J6=[K6|_]
13159 -> setarg(4, K6, _)
13160 ; true
13161 )
13162 ; H6=[_, _|J6],
13163 setarg(2, H6, J6),
13164 ( J6=[K6|_]
13165 -> setarg(4, K6, H6)
13166 ; true
13167 )
13168 )
13169 ),
13170 'detach_known/1_1_$special_\\+/1___1'(G6,
13171 E)
13172 )
13173 ),
13174 'known/1_1_$special_fail/0'
13175 )
13176 ; A=float(L6),
13177 ( 'chr newvia_1'(L6, M6)
13178 -> get_attr(M6, guard_entailment, N6),
13179 N6=v(_, _, _, _, _, _, _, _, _, _, _, O6, _, _, _, _, _, _, _, _, _, _)
13180 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
13181 O6)
13182 ),
13183 member(P6, O6),
13184 P6=suspension(_, active, _, _, _, Q6),
13185 Q6==L6, !,
13186 P6=suspension(_, _, _, _, _, R6),
13187 setarg(2, P6, removed),
13188 term_variables(R6, W6),
13189 arg(5, P6, S6),
13190 ( var(S6)
13191 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
13192 T6),
13193 T6=[_|U6],
13194 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
13195 U6),
13196 ( U6=[V6|_]
13197 -> setarg(5, V6, _)
13198 ; true
13199 )
13200 ; S6=[_, _|U6],
13201 setarg(2, S6, U6),
13202 ( U6=[V6|_]
13203 -> setarg(5, V6, S6)
13204 ; true
13205 )
13206 ),
13207 'detach_known/1_1_$special_float/1___1'(W6, P6),
13208 ( var(E)
13209 -> true
13210 ; E=suspension(_, X6, _, _, Y6),
13211 setarg(2, E, removed),
13212 ( X6==not_stored_yet
13213 -> Z6=[]
13214 ; term_variables(Y6, Z6),
13215 ( arg(4, E, A7),
13216 ( var(A7)
13217 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13218 B7),
13219 B7=[_|C7],
13220 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13221 C7),
13222 ( C7=[D7|_]
13223 -> setarg(4, D7, _)
13224 ; true
13225 )
13226 ; A7=[_, _|C7],
13227 setarg(2, A7, C7),
13228 ( C7=[D7|_]
13229 -> setarg(4, D7, A7)
13230 ; true
13231 )
13232 )
13233 ),
13234 'detach_known/1_1_$special_\\+/1___1'(Z6,
13235 E)
13236 )
13237 ),
13238 'known/1_1_$special_fail/0'
13239 )
13240 ; A=number(E7),
13241 ( 'chr newvia_1'(E7, F7)
13242 -> get_attr(F7, guard_entailment, G7),
13243 G7=v(_, _, _, _, _, _, _, _, _, _, _, _, H7, _, _, _, _, _, _, _, _, _)
13244 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
13245 H7)
13246 ),
13247 member(I7, H7),
13248 I7=suspension(_, active, _, _, _, J7),
13249 J7==E7, !,
13250 I7=suspension(_, _, _, _, _, K7),
13251 setarg(2, I7, removed),
13252 term_variables(K7, P7),
13253 arg(5, I7, L7),
13254 ( var(L7)
13255 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
13256 M7),
13257 M7=[_|N7],
13258 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
13259 N7),
13260 ( N7=[O7|_]
13261 -> setarg(5, O7, _)
13262 ; true
13263 )
13264 ; L7=[_, _|N7],
13265 setarg(2, L7, N7),
13266 ( N7=[O7|_]
13267 -> setarg(5, O7, L7)
13268 ; true
13269 )
13270 ),
13271 'detach_known/1_1_$special_number/1___1'(P7, I7),
13272 ( var(E)
13273 -> true
13274 ; E=suspension(_, Q7, _, _, R7),
13275 setarg(2, E, removed),
13276 ( Q7==not_stored_yet
13277 -> S7=[]
13278 ; term_variables(R7, S7),
13279 ( arg(4, E, T7),
13280 ( var(T7)
13281 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13282 U7),
13283 U7=[_|V7],
13284 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13285 V7),
13286 ( V7=[W7|_]
13287 -> setarg(4, W7, _)
13288 ; true
13289 )
13290 ; T7=[_, _|V7],
13291 setarg(2, T7, V7),
13292 ( V7=[W7|_]
13293 -> setarg(4, W7, T7)
13294 ; true
13295 )
13296 )
13297 ),
13298 'detach_known/1_1_$special_\\+/1___1'(S7, E)
13299 )
13300 ),
13301 'known/1_1_$special_fail/0'
13302 )
13303 ; A=(X7=\=Y7),
13304 ( 'chr newvia_2'(X7, Y7, Z7)
13305 -> get_attr(Z7, guard_entailment, A8),
13306 A8=v(_, _, _, _, _, _, _, _, _, _, _, _, _, B8, _, _, _, _, _, _, _, _)
13307 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
13308 B8)
13309 ),
13310 member(C8, B8),
13311 C8=suspension(_, active, _, _, _, D8, E8),
13312 D8==X7,
13313 E8==Y7, !,
13314 C8=suspension(_, _, _, _, _, F8, G8),
13315 setarg(2, C8, removed),
13316 term_variables(term(F8, G8), L8),
13317 arg(5, C8, H8),
13318 ( var(H8)
13319 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
13320 I8),
13321 I8=[_|J8],
13322 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
13323 J8),
13324 ( J8=[K8|_]
13325 -> setarg(5, K8, _)
13326 ; true
13327 )
13328 ; H8=[_, _|J8],
13329 setarg(2, H8, J8),
13330 ( J8=[K8|_]
13331 -> setarg(5, K8, H8)
13332 ; true
13333 )
13334 ),
13335 'detach_known/1_1_$special_=\\=/2___2'(L8, C8),
13336 ( var(E)
13337 -> true
13338 ; E=suspension(_, M8, _, _, N8),
13339 setarg(2, E, removed),
13340 ( M8==not_stored_yet
13341 -> O8=[]
13342 ; term_variables(N8, O8),
13343 ( arg(4, E, P8),
13344 ( var(P8)
13345 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13346 Q8),
13347 Q8=[_|R8],
13348 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13349 R8),
13350 ( R8=[S8|_]
13351 -> setarg(4, S8, _)
13352 ; true
13353 )
13354 ; P8=[_, _|R8],
13355 setarg(2, P8, R8),
13356 ( R8=[S8|_]
13357 -> setarg(4, S8, P8)
13358 ; true
13359 )
13360 )
13361 ),
13362 'detach_known/1_1_$special_\\+/1___1'(O8, E)
13363 )
13364 ),
13365 'known/1_1_$special_fail/0'
13366 ).
13367'known/1_1_$special_\\+/1___1__0'(A, N) :-
13368 ( 'chr newvia_1'(A, B)
13369 -> get_attr(B, guard_entailment, C),
13370 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
13371 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13372 D)
13373 ),
13374 member(E, D),
13375 E=suspension(_, active, _, _, F),
13376 nonvar(F),
13377 F=(\+G),
13378 G==A, !,
13379 E=suspension(_, _, _, _, H),
13380 setarg(2, E, removed),
13381 term_variables(H, M),
13382 arg(4, E, I),
13383 ( var(I)
13384 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13385 J),
13386 J=[_|K],
13387 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13388 K),
13389 ( K=[L|_]
13390 -> setarg(4, L, _)
13391 ; true
13392 )
13393 ; I=[_, _|K],
13394 setarg(2, I, K),
13395 ( K=[L|_]
13396 -> setarg(4, L, I)
13397 ; true
13398 )
13399 ),
13400 'detach_known/1_1_$special_\\+/1___1'(M, E),
13401 ( var(N)
13402 -> true
13403 ; N=suspension(_, O, _, _, P),
13404 setarg(2, N, removed),
13405 ( O==not_stored_yet
13406 -> Q=[]
13407 ; term_variables(P, Q),
13408 ( arg(4, N, R),
13409 ( var(R)
13410 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13411 S),
13412 S=[_|T],
13413 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13414 T),
13415 ( T=[U|_]
13416 -> setarg(4, U, _)
13417 ; true
13418 )
13419 ; R=[_, _|T],
13420 setarg(2, R, T),
13421 ( T=[U|_]
13422 -> setarg(4, U, R)
13423 ; true
13424 )
13425 )
13426 ),
13427 'detach_known/1_1_$special_\\+/1___1'(Q, N)
13428 )
13429 ),
13430 'known/1_1_$special_fail/0'.
13431'known/1_1_$special_\\+/1___1__0'(A, N) :-
13432 nonvar(A),
13433 ( ( ( ( ( ( ( A=(\+B),
13434 ( 'chr newvia_1'(B, C)
13435 -> get_attr(C,
13436 guard_entailment,
13437 D),
13438 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
13439 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13440 E)
13441 ),
13442 member(F, E),
13443 F=suspension(_, active, _, _, G),
13444 G==B, !,
13445 F=suspension(_, _, _, _, H),
13446 setarg(2, F, removed),
13447 term_variables(H, M),
13448 arg(4, F, I),
13449 ( var(I)
13450 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13451 J),
13452 J=[_|K],
13453 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13454 K),
13455 ( K=[L|_]
13456 -> setarg(4, L, _)
13457 ; true
13458 )
13459 ; I=[_, _|K],
13460 setarg(2, I, K),
13461 ( K=[L|_]
13462 -> setarg(4, L, I)
13463 ; true
13464 )
13465 ),
13466 'detach_known/1_1_$special_\\+/1___1'(M,
13467 F),
13468 ( var(N)
13469 -> true
13470 ; N=suspension(_, O, _, _, P),
13471 setarg(2, N, removed),
13472 ( O==not_stored_yet
13473 -> Q=[]
13474 ; term_variables(P, Q),
13475 ( arg(4, N, R),
13476 ( var(R)
13477 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13478 S),
13479 S=[_|T],
13480 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13481 T),
13482 ( T=[U|_]
13483 -> setarg(4,
13484 U,
13485 _)
13486 ; true
13487 )
13488 ; R=[_, _|T],
13489 setarg(2, R, T),
13490 ( T=[U|_]
13491 -> setarg(4,
13492 U,
13493 R)
13494 ; true
13495 )
13496 )
13497 ),
13498 'detach_known/1_1_$special_\\+/1___1'(Q,
13499 N)
13500 )
13501 ),
13502 'known/1_1_$special_fail/0'
13503 ; A=functor(V, W, X),
13504 ( 'chr newvia'(
13505 [ V,
13506 W,
13507 X
13508 ],
13509 Y)
13510 -> get_attr(Y,
13511 guard_entailment,
13512 Z),
13513 Z=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, A1, _, _, _, _, _, _)
13514 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
13515 A1)
13516 ),
13517 member(B1, A1),
13518 B1=suspension(_, active, _, _, C1, D1, E1),
13519 C1==V,
13520 D1==W,
13521 E1==X, !,
13522 B1=suspension(_, _, _, _, F1, G1, H1),
13523 setarg(2, B1, removed),
13524 term_variables(term(F1,
13525 G1,
13526 H1),
13527 M1),
13528 arg(4, B1, I1),
13529 ( var(I1)
13530 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
13531 J1),
13532 J1=[_|K1],
13533 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
13534 K1),
13535 ( K1=[L1|_]
13536 -> setarg(4, L1, _)
13537 ; true
13538 )
13539 ; I1=[_, _|K1],
13540 setarg(2, I1, K1),
13541 ( K1=[L1|_]
13542 -> setarg(4, L1, I1)
13543 ; true
13544 )
13545 ),
13546 'detach_known/1_1_$special_functor/3___3'(M1,
13547 B1),
13548 ( var(N)
13549 -> true
13550 ; N=suspension(_, N1, _, _, O1),
13551 setarg(2, N, removed),
13552 ( N1==not_stored_yet
13553 -> P1=[]
13554 ; term_variables(O1, P1),
13555 ( arg(4, N, Q1),
13556 ( var(Q1)
13557 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13558 R1),
13559 R1=[_|S1],
13560 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13561 S1),
13562 ( S1=[T1|_]
13563 -> setarg(4,
13564 T1,
13565 _)
13566 ; true
13567 )
13568 ; Q1=[_, _|S1],
13569 setarg(2, Q1, S1),
13570 ( S1=[T1|_]
13571 -> setarg(4,
13572 T1,
13573 Q1)
13574 ; true
13575 )
13576 )
13577 ),
13578 'detach_known/1_1_$special_\\+/1___1'(P1,
13579 N)
13580 )
13581 ),
13582 'known/1_1_$special_fail/0'
13583 )
13584 ; A=(U1\=V1),
13585 ( 'chr newvia_2'(U1, V1, W1)
13586 -> get_attr(W1,
13587 guard_entailment,
13588 X1),
13589 X1=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, Y1, _, _, _, _, _)
13590 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
13591 Y1)
13592 ),
13593 member(Z1, Y1),
13594 Z1=suspension(_, active, _, _, _, A2, B2),
13595 A2==U1,
13596 B2==V1, !,
13597 Z1=suspension(_, _, _, _, _, C2, D2),
13598 setarg(2, Z1, removed),
13599 term_variables(term(C2, D2),
13600 I2),
13601 arg(5, Z1, E2),
13602 ( var(E2)
13603 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
13604 F2),
13605 F2=[_|G2],
13606 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
13607 G2),
13608 ( G2=[H2|_]
13609 -> setarg(5, H2, _)
13610 ; true
13611 )
13612 ; E2=[_, _|G2],
13613 setarg(2, E2, G2),
13614 ( G2=[H2|_]
13615 -> setarg(5, H2, E2)
13616 ; true
13617 )
13618 ),
13619 'detach_known/1_1_$special_\\=/2___2'(I2,
13620 Z1),
13621 ( var(N)
13622 -> true
13623 ; N=suspension(_, J2, _, _, K2),
13624 setarg(2, N, removed),
13625 ( J2==not_stored_yet
13626 -> L2=[]
13627 ; term_variables(K2, L2),
13628 ( arg(4, N, M2),
13629 ( var(M2)
13630 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13631 N2),
13632 N2=[_|O2],
13633 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13634 O2),
13635 ( O2=[P2|_]
13636 -> setarg(4, P2, _)
13637 ; true
13638 )
13639 ; M2=[_, _|O2],
13640 setarg(2, M2, O2),
13641 ( O2=[P2|_]
13642 -> setarg(4, P2, M2)
13643 ; true
13644 )
13645 )
13646 ),
13647 'detach_known/1_1_$special_\\+/1___1'(L2,
13648 N)
13649 )
13650 ),
13651 'known/1_1_$special_fail/0'
13652 )
13653 ; A=(Q2=R2),
13654 ( 'chr newvia_2'(Q2, R2, S2)
13655 -> get_attr(S2, guard_entailment, T2),
13656 T2=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, U2, _, _, _, _)
13657 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
13658 U2)
13659 ),
13660 member(V2, U2),
13661 V2=suspension(_, active, _, _, W2, X2),
13662 W2==Q2,
13663 X2==R2, !,
13664 V2=suspension(_, _, _, _, Y2, Z2),
13665 setarg(2, V2, removed),
13666 term_variables(term(Y2, Z2), E3),
13667 arg(4, V2, A3),
13668 ( var(A3)
13669 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
13670 B3),
13671 B3=[_|C3],
13672 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
13673 C3),
13674 ( C3=[D3|_]
13675 -> setarg(4, D3, _)
13676 ; true
13677 )
13678 ; A3=[_, _|C3],
13679 setarg(2, A3, C3),
13680 ( C3=[D3|_]
13681 -> setarg(4, D3, A3)
13682 ; true
13683 )
13684 ),
13685 'detach_known/1_1_$special_=/2___2'(E3,
13686 V2),
13687 ( var(N)
13688 -> true
13689 ; N=suspension(_, F3, _, _, G3),
13690 setarg(2, N, removed),
13691 ( F3==not_stored_yet
13692 -> H3=[]
13693 ; term_variables(G3, H3),
13694 ( arg(4, N, I3),
13695 ( var(I3)
13696 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13697 J3),
13698 J3=[_|K3],
13699 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13700 K3),
13701 ( K3=[L3|_]
13702 -> setarg(4, L3, _)
13703 ; true
13704 )
13705 ; I3=[_, _|K3],
13706 setarg(2, I3, K3),
13707 ( K3=[L3|_]
13708 -> setarg(4, L3, I3)
13709 ; true
13710 )
13711 )
13712 ),
13713 'detach_known/1_1_$special_\\+/1___1'(H3,
13714 N)
13715 )
13716 ),
13717 'known/1_1_$special_fail/0'
13718 )
13719 ; A=(M3\==N3),
13720 ( 'chr newvia_2'(M3, N3, O3)
13721 -> get_attr(O3, guard_entailment, P3),
13722 P3=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, Q3, _, _, _)
13723 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
13724 Q3)
13725 ),
13726 member(R3, Q3),
13727 R3=suspension(_, active, _, _, _, S3, T3),
13728 S3==M3,
13729 T3==N3, !,
13730 R3=suspension(_, _, _, _, _, U3, V3),
13731 setarg(2, R3, removed),
13732 term_variables(term(U3, V3), A4),
13733 arg(5, R3, W3),
13734 ( var(W3)
13735 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
13736 X3),
13737 X3=[_|Y3],
13738 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
13739 Y3),
13740 ( Y3=[Z3|_]
13741 -> setarg(5, Z3, _)
13742 ; true
13743 )
13744 ; W3=[_, _|Y3],
13745 setarg(2, W3, Y3),
13746 ( Y3=[Z3|_]
13747 -> setarg(5, Z3, W3)
13748 ; true
13749 )
13750 ),
13751 'detach_known/1_1_$special_\\==/2___2'(A4,
13752 R3),
13753 ( var(N)
13754 -> true
13755 ; N=suspension(_, B4, _, _, C4),
13756 setarg(2, N, removed),
13757 ( B4==not_stored_yet
13758 -> D4=[]
13759 ; term_variables(C4, D4),
13760 ( arg(4, N, E4),
13761 ( var(E4)
13762 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13763 F4),
13764 F4=[_|G4],
13765 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13766 G4),
13767 ( G4=[H4|_]
13768 -> setarg(4, H4, _)
13769 ; true
13770 )
13771 ; E4=[_, _|G4],
13772 setarg(2, E4, G4),
13773 ( G4=[H4|_]
13774 -> setarg(4, H4, E4)
13775 ; true
13776 )
13777 )
13778 ),
13779 'detach_known/1_1_$special_\\+/1___1'(D4,
13780 N)
13781 )
13782 ),
13783 'known/1_1_$special_fail/0'
13784 )
13785 ; A=(I4==J4),
13786 ( 'chr newvia_2'(I4, J4, K4)
13787 -> get_attr(K4, guard_entailment, L4),
13788 L4=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, M4, _, _)
13789 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
13790 M4)
13791 ),
13792 member(N4, M4),
13793 N4=suspension(_, active, _, _, _, O4, P4),
13794 O4==I4,
13795 P4==J4, !,
13796 N4=suspension(_, _, _, _, _, Q4, R4),
13797 setarg(2, N4, removed),
13798 term_variables(term(Q4, R4), W4),
13799 arg(5, N4, S4),
13800 ( var(S4)
13801 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
13802 T4),
13803 T4=[_|U4],
13804 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
13805 U4),
13806 ( U4=[V4|_]
13807 -> setarg(5, V4, _)
13808 ; true
13809 )
13810 ; S4=[_, _|U4],
13811 setarg(2, S4, U4),
13812 ( U4=[V4|_]
13813 -> setarg(5, V4, S4)
13814 ; true
13815 )
13816 ),
13817 'detach_known/1_1_$special_==/2___2'(W4, N4),
13818 ( var(N)
13819 -> true
13820 ; N=suspension(_, X4, _, _, Y4),
13821 setarg(2, N, removed),
13822 ( X4==not_stored_yet
13823 -> Z4=[]
13824 ; term_variables(Y4, Z4),
13825 ( arg(4, N, A5),
13826 ( var(A5)
13827 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13828 B5),
13829 B5=[_|C5],
13830 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13831 C5),
13832 ( C5=[D5|_]
13833 -> setarg(4, D5, _)
13834 ; true
13835 )
13836 ; A5=[_, _|C5],
13837 setarg(2, A5, C5),
13838 ( C5=[D5|_]
13839 -> setarg(4, D5, A5)
13840 ; true
13841 )
13842 )
13843 ),
13844 'detach_known/1_1_$special_\\+/1___1'(Z4,
13845 N)
13846 )
13847 ),
13848 'known/1_1_$special_fail/0'
13849 )
13850 ; A=(E5=<F5),
13851 ( 'chr newvia_2'(E5, F5, G5)
13852 -> get_attr(G5, guard_entailment, H5),
13853 H5=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, I5, _)
13854 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
13855 I5)
13856 ),
13857 member(J5, I5),
13858 J5=suspension(_, active, _, _, _, K5, L5),
13859 K5==E5,
13860 L5==F5, !,
13861 J5=suspension(_, _, _, _, _, M5, N5),
13862 setarg(2, J5, removed),
13863 term_variables(term(M5, N5), S5),
13864 arg(5, J5, O5),
13865 ( var(O5)
13866 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
13867 P5),
13868 P5=[_|Q5],
13869 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
13870 Q5),
13871 ( Q5=[R5|_]
13872 -> setarg(5, R5, _)
13873 ; true
13874 )
13875 ; O5=[_, _|Q5],
13876 setarg(2, O5, Q5),
13877 ( Q5=[R5|_]
13878 -> setarg(5, R5, O5)
13879 ; true
13880 )
13881 ),
13882 'detach_known/1_1_$special_=</2___2'(S5, J5),
13883 ( var(N)
13884 -> true
13885 ; N=suspension(_, T5, _, _, U5),
13886 setarg(2, N, removed),
13887 ( T5==not_stored_yet
13888 -> V5=[]
13889 ; term_variables(U5, V5),
13890 ( arg(4, N, W5),
13891 ( var(W5)
13892 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13893 X5),
13894 X5=[_|Y5],
13895 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13896 Y5),
13897 ( Y5=[Z5|_]
13898 -> setarg(4, Z5, _)
13899 ; true
13900 )
13901 ; W5=[_, _|Y5],
13902 setarg(2, W5, Y5),
13903 ( Y5=[Z5|_]
13904 -> setarg(4, Z5, W5)
13905 ; true
13906 )
13907 )
13908 ),
13909 'detach_known/1_1_$special_\\+/1___1'(V5, N)
13910 )
13911 ),
13912 'known/1_1_$special_fail/0'
13913 )
13914 ; A=(A6=:=B6),
13915 ( 'chr newvia_2'(A6, B6, C6)
13916 -> get_attr(C6, guard_entailment, D6),
13917 D6=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E6)
13918 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
13919 E6)
13920 ),
13921 member(F6, E6),
13922 F6=suspension(_, active, _, _, _, G6, H6),
13923 G6==A6,
13924 H6==B6, !,
13925 F6=suspension(_, _, _, _, _, I6, J6),
13926 setarg(2, F6, removed),
13927 term_variables(term(I6, J6), O6),
13928 arg(5, F6, K6),
13929 ( var(K6)
13930 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
13931 L6),
13932 L6=[_|M6],
13933 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
13934 M6),
13935 ( M6=[N6|_]
13936 -> setarg(5, N6, _)
13937 ; true
13938 )
13939 ; K6=[_, _|M6],
13940 setarg(2, K6, M6),
13941 ( M6=[N6|_]
13942 -> setarg(5, N6, K6)
13943 ; true
13944 )
13945 ),
13946 'detach_known/1_1_$special_=:=/2___2'(O6, F6),
13947 ( var(N)
13948 -> true
13949 ; N=suspension(_, P6, _, _, Q6),
13950 setarg(2, N, removed),
13951 ( P6==not_stored_yet
13952 -> R6=[]
13953 ; term_variables(Q6, R6),
13954 ( arg(4, N, S6),
13955 ( var(S6)
13956 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13957 T6),
13958 T6=[_|U6],
13959 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13960 U6),
13961 ( U6=[V6|_]
13962 -> setarg(4, V6, _)
13963 ; true
13964 )
13965 ; S6=[_, _|U6],
13966 setarg(2, S6, U6),
13967 ( U6=[V6|_]
13968 -> setarg(4, V6, S6)
13969 ; true
13970 )
13971 )
13972 ),
13973 'detach_known/1_1_$special_\\+/1___1'(R6, N)
13974 )
13975 ),
13976 'known/1_1_$special_fail/0'
13977 ).
13978'known/1_1_$special_\\+/1___1__0'(A, M) :-
13979 ( 'chr newvia_1'(A, B)
13980 -> get_attr(B, guard_entailment, C),
13981 C=v(_, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
13982 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
13983 D)
13984 ),
13985 member(E, D),
13986 E=suspension(_, active, _, _, F),
13987 F==A, !,
13988 E=suspension(_, _, _, _, G),
13989 setarg(2, E, removed),
13990 term_variables(G, L),
13991 arg(4, E, H),
13992 ( var(H)
13993 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
13994 I),
13995 I=[_|J],
13996 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
13997 J),
13998 ( J=[K|_]
13999 -> setarg(4, K, _)
14000 ; true
14001 )
14002 ; H=[_, _|J],
14003 setarg(2, H, J),
14004 ( J=[K|_]
14005 -> setarg(4, K, H)
14006 ; true
14007 )
14008 ),
14009 'detach_known/1_1_$default___1'(L, E),
14010 ( var(M)
14011 -> true
14012 ; M=suspension(_, N, _, _, O),
14013 setarg(2, M, removed),
14014 ( N==not_stored_yet
14015 -> P=[]
14016 ; term_variables(O, P),
14017 ( arg(4, M, Q),
14018 ( var(Q)
14019 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14020 R),
14021 R=[_|S],
14022 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14023 S),
14024 ( S=[T|_]
14025 -> setarg(4, T, _)
14026 ; true
14027 )
14028 ; Q=[_, _|S],
14029 setarg(2, Q, S),
14030 ( S=[T|_]
14031 -> setarg(4, T, Q)
14032 ; true
14033 )
14034 )
14035 ),
14036 'detach_known/1_1_$special_\\+/1___1'(P, M)
14037 )
14038 ),
14039 'known/1_1_$special_fail/0'.
14040'known/1_1_$special_\\+/1___1__0'(A, E) :-
14041 ( 'chr newvia_1'(A, B)
14042 -> get_attr(B, guard_entailment, C),
14043 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
14044 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14045 D)
14046 ), !,
14047 ( var(E)
14048 -> E=suspension(F, not_stored_yet, 0, _, A),
14049 'chr gen_id'(F)
14050 ; true
14051 ),
14052 'known/1_1_$special_\\+/1___1__0__0__33'(D, A, E).
14053'known/1_1_$special_\\+/1___1__0__0__33'([], A, B) :-
14054 'known/1_1_$special_\\+/1___1__1'(A, B).
14055'known/1_1_$special_\\+/1___1__0__0__33'([A|W], E, M) :-
14056 ( A=suspension(_, active, _, _, B, V),
14057 nonvar(B),
14058 B=(\+C),
14059 nonvar(C),
14060 C=(\+D),
14061 D==E
14062 -> ( A=suspension(_, _, _, _, F, G),
14063 setarg(2, A, removed),
14064 term_variables(term(F, G), L),
14065 ( arg(4, A, H),
14066 ( var(H)
14067 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14068 I),
14069 I=[_|J],
14070 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14071 J),
14072 ( J=[K|_]
14073 -> setarg(4, K, _)
14074 ; true
14075 )
14076 ; H=[_, _|J],
14077 setarg(2, H, J),
14078 ( J=[K|_]
14079 -> setarg(4, K, H)
14080 ; true
14081 )
14082 )
14083 ),
14084 'detach_known/1_1_$special_;/2___2'(L, A)
14085 ),
14086 ( arg(2, M, P),
14087 setarg(2, M, active),
14088 ( arg(3, M, N),
14089 O is N+1,
14090 setarg(3, M, O)
14091 ),
14092 ( P==not_stored_yet
14093 -> M=suspension(_, _, _, _, Q),
14094 term_variables(Q, R),
14095 'chr none_locked'(R),
14096 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14097 S),
14098 T=[M|S],
14099 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14100 T),
14101 ( S=[U|_]
14102 -> setarg(4, U, T)
14103 ; true
14104 )
14105 ),
14106 'attach_known/1_1_$special_\\+/1___1'(R, M)
14107 ; true
14108 )
14109 ),
14110 known(V),
14111 ( M=suspension(_, active, O, _, _)
14112 -> setarg(2, M, inactive),
14113 'known/1_1_$special_\\+/1___1__0__0__33'(W,
14114 E,
14115 M)
14116 ; true
14117 )
14118 ; 'known/1_1_$special_\\+/1___1__0__0__33'(W, E, M)
14119 ).
14120'known/1_1_$special_\\+/1___1__0'(B, A) :-
14121 ( var(A)
14122 -> A=suspension(C, not_stored_yet, 0, _, B),
14123 'chr gen_id'(C)
14124 ; true
14125 ),
14126 'known/1_1_$special_\\+/1___1__1'(B, A).
14127'known/1_1_$special_\\+/1___1__1'(A, E) :-
14128 ( 'chr newvia_1'(A, B)
14129 -> get_attr(B, guard_entailment, C),
14130 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
14131 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14132 D)
14133 ), !,
14134 'known/1_1_$special_\\+/1___1__1__0__34'(D, A, E).
14135'known/1_1_$special_\\+/1___1__1__0__34'([], A, B) :-
14136 'known/1_1_$special_\\+/1___1__2'(A, B).
14137'known/1_1_$special_\\+/1___1__1__0__34'([A|X], F, N) :-
14138 ( A=suspension(_, active, _, _, B, W),
14139 nonvar(B),
14140 B=(C, _),
14141 nonvar(C),
14142 C=(\+D),
14143 nonvar(D),
14144 D=(\+E),
14145 E==F
14146 -> ( A=suspension(_, _, _, _, G, H),
14147 setarg(2, A, removed),
14148 term_variables(term(G, H), M),
14149 ( arg(4, A, I),
14150 ( var(I)
14151 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14152 J),
14153 J=[_|K],
14154 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14155 K),
14156 ( K=[L|_]
14157 -> setarg(4, L, _)
14158 ; true
14159 )
14160 ; I=[_, _|K],
14161 setarg(2, I, K),
14162 ( K=[L|_]
14163 -> setarg(4, L, I)
14164 ; true
14165 )
14166 )
14167 ),
14168 'detach_known/1_1_$special_;/2___2'(M, A)
14169 ),
14170 ( arg(2, N, Q),
14171 setarg(2, N, active),
14172 ( arg(3, N, O),
14173 P is O+1,
14174 setarg(3, N, P)
14175 ),
14176 ( Q==not_stored_yet
14177 -> N=suspension(_, _, _, _, R),
14178 term_variables(R, S),
14179 'chr none_locked'(S),
14180 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14181 T),
14182 U=[N|T],
14183 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14184 U),
14185 ( T=[V|_]
14186 -> setarg(4, V, U)
14187 ; true
14188 )
14189 ),
14190 'attach_known/1_1_$special_\\+/1___1'(S, N)
14191 ; true
14192 )
14193 ),
14194 known(W),
14195 ( N=suspension(_, active, P, _, _)
14196 -> setarg(2, N, inactive),
14197 'known/1_1_$special_\\+/1___1__1__0__34'(X,
14198 F,
14199 N)
14200 ; true
14201 )
14202 ; 'known/1_1_$special_\\+/1___1__1__0__34'(X, F, N)
14203 ).
14204'known/1_1_$special_\\+/1___1__1'(A, B) :-
14205 'known/1_1_$special_\\+/1___1__2'(A, B).
14206'known/1_1_$special_\\+/1___1__2'(A, E) :-
14207 ( 'chr newvia_1'(A, B)
14208 -> get_attr(B, guard_entailment, C),
14209 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
14210 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14211 D)
14212 ), !,
14213 'known/1_1_$special_\\+/1___1__2__0__35'(D, A, E).
14214'known/1_1_$special_\\+/1___1__2__0__35'([], A, B) :-
14215 'known/1_1_$special_\\+/1___1__3'(A, B).
14216'known/1_1_$special_\\+/1___1__2__0__35'([A|U], C, K) :-
14217 ( A=suspension(_, active, _, _, B, T),
14218 B==C
14219 -> ( A=suspension(_, _, _, _, D, E),
14220 setarg(2, A, removed),
14221 term_variables(term(D, E), J),
14222 ( arg(4, A, F),
14223 ( var(F)
14224 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14225 G),
14226 G=[_|H],
14227 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14228 H),
14229 ( H=[I|_]
14230 -> setarg(4, I, _)
14231 ; true
14232 )
14233 ; F=[_, _|H],
14234 setarg(2, F, H),
14235 ( H=[I|_]
14236 -> setarg(4, I, F)
14237 ; true
14238 )
14239 )
14240 ),
14241 'detach_known/1_1_$special_;/2___2'(J, A)
14242 ),
14243 ( arg(2, K, N),
14244 setarg(2, K, active),
14245 ( arg(3, K, L),
14246 M is L+1,
14247 setarg(3, K, M)
14248 ),
14249 ( N==not_stored_yet
14250 -> K=suspension(_, _, _, _, O),
14251 term_variables(O, P),
14252 'chr none_locked'(P),
14253 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14254 Q),
14255 R=[K|Q],
14256 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14257 R),
14258 ( Q=[S|_]
14259 -> setarg(4, S, R)
14260 ; true
14261 )
14262 ),
14263 'attach_known/1_1_$special_\\+/1___1'(P, K)
14264 ; true
14265 )
14266 ),
14267 known(T),
14268 ( K=suspension(_, active, M, _, _)
14269 -> setarg(2, K, inactive),
14270 'known/1_1_$special_\\+/1___1__2__0__35'(U,
14271 C,
14272 K)
14273 ; true
14274 )
14275 ; 'known/1_1_$special_\\+/1___1__2__0__35'(U, C, K)
14276 ).
14277'known/1_1_$special_\\+/1___1__2'(A, B) :-
14278 'known/1_1_$special_\\+/1___1__3'(A, B).
14279'known/1_1_$special_\\+/1___1__3'(A, E) :-
14280 ( 'chr newvia_1'(A, B)
14281 -> get_attr(B, guard_entailment, C),
14282 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
14283 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14284 D)
14285 ), !,
14286 'known/1_1_$special_\\+/1___1__3__0__36'(D, A, E).
14287'known/1_1_$special_\\+/1___1__3__0__36'([], A, B) :-
14288 'known/1_1_$special_\\+/1___1__4'(A, B).
14289'known/1_1_$special_\\+/1___1__3__0__36'([A|V], D, L) :-
14290 ( A=suspension(_, active, _, _, B, U),
14291 nonvar(B),
14292 B=(C, _),
14293 C==D
14294 -> ( A=suspension(_, _, _, _, E, F),
14295 setarg(2, A, removed),
14296 term_variables(term(E, F), K),
14297 ( arg(4, A, G),
14298 ( var(G)
14299 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14300 H),
14301 H=[_|I],
14302 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14303 I),
14304 ( I=[J|_]
14305 -> setarg(4, J, _)
14306 ; true
14307 )
14308 ; G=[_, _|I],
14309 setarg(2, G, I),
14310 ( I=[J|_]
14311 -> setarg(4, J, G)
14312 ; true
14313 )
14314 )
14315 ),
14316 'detach_known/1_1_$special_;/2___2'(K, A)
14317 ),
14318 ( arg(2, L, O),
14319 setarg(2, L, active),
14320 ( arg(3, L, M),
14321 N is M+1,
14322 setarg(3, L, N)
14323 ),
14324 ( O==not_stored_yet
14325 -> L=suspension(_, _, _, _, P),
14326 term_variables(P, Q),
14327 'chr none_locked'(Q),
14328 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14329 R),
14330 S=[L|R],
14331 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14332 S),
14333 ( R=[T|_]
14334 -> setarg(4, T, S)
14335 ; true
14336 )
14337 ),
14338 'attach_known/1_1_$special_\\+/1___1'(Q, L)
14339 ; true
14340 )
14341 ),
14342 known(U),
14343 ( L=suspension(_, active, N, _, _)
14344 -> setarg(2, L, inactive),
14345 'known/1_1_$special_\\+/1___1__3__0__36'(V,
14346 D,
14347 L)
14348 ; true
14349 )
14350 ; 'known/1_1_$special_\\+/1___1__3__0__36'(V, D, L)
14351 ).
14352'known/1_1_$special_\\+/1___1__3'(A, B) :-
14353 'known/1_1_$special_\\+/1___1__4'(A, B).
14354'known/1_1_$special_\\+/1___1__4'(_, A) :-
14355 arg(2, A, D),
14356 setarg(2, A, active),
14357 arg(3, A, B),
14358 C is B+1,
14359 setarg(3, A, C),
14360 ( D==not_stored_yet
14361 -> A=suspension(_, _, _, _, E),
14362 term_variables(E, F),
14363 'chr none_locked'(F),
14364 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14365 G),
14366 H=[A|G],
14367 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14368 H),
14369 ( G=[I|_]
14370 -> setarg(4, I, H)
14371 ; true
14372 )
14373 ),
14374 'attach_known/1_1_$special_\\+/1___1'(F, A)
14375 ; true
14376 ).
14377'known/1_1_$special_functor/3'(A, B, C) :-
14378 'known/1_1_$special_functor/3___3__0'(A, B, C, _).
14379'known/1_1_$special_functor/3___3__0'(A, B, C, K) :-
14380 ( 'chr newvia'([A, B, C], D)
14381 -> get_attr(D, guard_entailment, E),
14382 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _)
14383 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14384 F)
14385 ),
14386 member(G, F),
14387 G=suspension(_, active, _, _, H, I, J),
14388 H==A,
14389 I==B,
14390 J==C, !,
14391 ( var(K)
14392 -> true
14393 ; K=suspension(_, L, _, _, M, N, O),
14394 setarg(2, K, removed),
14395 ( L==not_stored_yet
14396 -> P=[]
14397 ; term_variables(term(M, N, O), P),
14398 ( arg(4, K, Q),
14399 ( var(Q)
14400 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14401 R),
14402 R=[_|S],
14403 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14404 S),
14405 ( S=[T|_]
14406 -> setarg(4, T, _)
14407 ; true
14408 )
14409 ; Q=[_, _|S],
14410 setarg(2, Q, S),
14411 ( S=[T|_]
14412 -> setarg(4, T, Q)
14413 ; true
14414 )
14415 )
14416 ),
14417 'detach_known/1_1_$special_functor/3___3'(P, K)
14418 )
14419 ).
14420'known/1_1_$special_functor/3___3__0'(_, _, _, C) :-
14421 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
14422 A),
14423 member(B, A),
14424 B=suspension(_, active, _), !,
14425 ( var(C)
14426 -> true
14427 ; C=suspension(_, D, _, _, E, F, G),
14428 setarg(2, C, removed),
14429 ( D==not_stored_yet
14430 -> H=[]
14431 ; term_variables(term(E, F, G), H),
14432 ( arg(4, C, I),
14433 ( var(I)
14434 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14435 J),
14436 J=[_|K],
14437 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14438 K),
14439 ( K=[L|_]
14440 -> setarg(4, L, _)
14441 ; true
14442 )
14443 ; I=[_, _|K],
14444 setarg(2, I, K),
14445 ( K=[L|_]
14446 -> setarg(4, L, I)
14447 ; true
14448 )
14449 )
14450 ),
14451 'detach_known/1_1_$special_functor/3___3'(H, C)
14452 )
14453 ).
14454'known/1_1_$special_functor/3___3__0'(C, B, A, L) :-
14455 ground(A),
14456 ground(B),
14457 var(C),
14458 nb_getval('$chr_store_global_list_guard_entailment____variables___1',
14459 D),
14460 member(E, D),
14461 E=suspension(_, active, _, W), !,
14462 E=suspension(_, _, _, F),
14463 setarg(2, E, removed),
14464 term_variables(F, K),
14465 arg(3, E, G),
14466 ( var(G)
14467 -> nb_getval('$chr_store_global_list_guard_entailment____variables___1',
14468 H),
14469 H=[_|I],
14470 b_setval('$chr_store_global_list_guard_entailment____variables___1',
14471 I),
14472 ( I=[J|_]
14473 -> setarg(3, J, _)
14474 ; true
14475 )
14476 ; G=[_, _|I],
14477 setarg(2, G, I),
14478 ( I=[J|_]
14479 -> setarg(3, J, G)
14480 ; true
14481 )
14482 ),
14483 detach_variables___1(K, E),
14484 ( var(L)
14485 -> true
14486 ; L=suspension(_, M, _, _, N, O, P),
14487 setarg(2, L, removed),
14488 ( M==not_stored_yet
14489 -> Q=[]
14490 ; term_variables(term(N, O, P), Q),
14491 ( arg(4, L, R),
14492 ( var(R)
14493 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14494 S),
14495 S=[_|T],
14496 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14497 T),
14498 ( T=[U|_]
14499 -> setarg(4, U, _)
14500 ; true
14501 )
14502 ; R=[_, _|T],
14503 setarg(2, R, T),
14504 ( T=[U|_]
14505 -> setarg(4, U, R)
14506 ; true
14507 )
14508 )
14509 ),
14510 'detach_known/1_1_$special_functor/3___3'(Q, L)
14511 )
14512 ),
14513 functor(C, B, A),
14514 C=..[_|V],
14515 append(V, W, X),
14516 variables(X).
14517'known/1_1_$special_functor/3___3__0'(A, B, C, D) :-
14518 nonvar(A),
14519 'chr lock'(A),
14520 'chr lock'(B),
14521 'chr lock'(C),
14522 \+ functor(A, B, C),
14523 'chr unlock'(A),
14524 'chr unlock'(B),
14525 'chr unlock'(C), !,
14526 ( var(D)
14527 -> true
14528 ; D=suspension(_, E, _, _, F, G, H),
14529 setarg(2, D, removed),
14530 ( E==not_stored_yet
14531 -> I=[]
14532 ; term_variables(term(F, G, H), I),
14533 ( arg(4, D, J),
14534 ( var(J)
14535 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14536 K),
14537 K=[_|L],
14538 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14539 L),
14540 ( L=[M|_]
14541 -> setarg(4, M, _)
14542 ; true
14543 )
14544 ; J=[_, _|L],
14545 setarg(2, J, L),
14546 ( L=[M|_]
14547 -> setarg(4, M, J)
14548 ; true
14549 )
14550 )
14551 ),
14552 'detach_known/1_1_$special_functor/3___3'(I, D)
14553 )
14554 ),
14555 'known/1_1_$special_fail/0'.
14556'known/1_1_$special_functor/3___3__0'(C, B, A, S) :-
14557 nonvar(A),
14558 nonvar(B),
14559 ( 'chr newvia_1'(C, D)
14560 -> get_attr(D, guard_entailment, E),
14561 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _)
14562 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14563 F)
14564 ),
14565 member(G, F),
14566 G=suspension(_, active, _, _, H, J, I),
14567 H==C,
14568 nonvar(I),
14569 nonvar(J), !,
14570 G=suspension(_, _, _, _, K, L, M),
14571 setarg(2, G, removed),
14572 term_variables(term(K, L, M), R),
14573 arg(4, G, N),
14574 ( var(N)
14575 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14576 O),
14577 O=[_|P],
14578 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14579 P),
14580 ( P=[Q|_]
14581 -> setarg(4, Q, _)
14582 ; true
14583 )
14584 ; N=[_, _|P],
14585 setarg(2, N, P),
14586 ( P=[Q|_]
14587 -> setarg(4, Q, N)
14588 ; true
14589 )
14590 ),
14591 'detach_known/1_1_$special_functor/3___3'(R, G),
14592 ( var(S)
14593 -> true
14594 ; S=suspension(_, T, _, _, U, V, W),
14595 setarg(2, S, removed),
14596 ( T==not_stored_yet
14597 -> X=[]
14598 ; term_variables(term(U, V, W), X),
14599 ( arg(4, S, Y),
14600 ( var(Y)
14601 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14602 Z),
14603 Z=[_|A1],
14604 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14605 A1),
14606 ( A1=[B1|_]
14607 -> setarg(4, B1, _)
14608 ; true
14609 )
14610 ; Y=[_, _|A1],
14611 setarg(2, Y, A1),
14612 ( A1=[B1|_]
14613 -> setarg(4, B1, Y)
14614 ; true
14615 )
14616 )
14617 ),
14618 'detach_known/1_1_$special_functor/3___3'(X, S)
14619 )
14620 ),
14621 'known/1_1_$special_fail/0'.
14622'known/1_1_$special_functor/3___3__0'(A, B, C, R) :-
14623 ( 'chr newvia'([A, B, C], D)
14624 -> get_attr(D, guard_entailment, E),
14625 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _, _)
14626 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14627 F)
14628 ),
14629 member(G, F),
14630 G=suspension(_, active, _, _, H),
14631 nonvar(H),
14632 H=functor(I, J, K),
14633 I==A,
14634 J==B,
14635 K==C, !,
14636 G=suspension(_, _, _, _, L),
14637 setarg(2, G, removed),
14638 term_variables(L, Q),
14639 arg(4, G, M),
14640 ( var(M)
14641 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14642 N),
14643 N=[_|O],
14644 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14645 O),
14646 ( O=[P|_]
14647 -> setarg(4, P, _)
14648 ; true
14649 )
14650 ; M=[_, _|O],
14651 setarg(2, M, O),
14652 ( O=[P|_]
14653 -> setarg(4, P, M)
14654 ; true
14655 )
14656 ),
14657 'detach_known/1_1_$special_\\+/1___1'(Q, G),
14658 ( var(R)
14659 -> true
14660 ; R=suspension(_, S, _, _, T, U, V),
14661 setarg(2, R, removed),
14662 ( S==not_stored_yet
14663 -> W=[]
14664 ; term_variables(term(T, U, V), W),
14665 ( arg(4, R, X),
14666 ( var(X)
14667 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14668 Y),
14669 Y=[_|Z],
14670 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14671 Z),
14672 ( Z=[A1|_]
14673 -> setarg(4, A1, _)
14674 ; true
14675 )
14676 ; X=[_, _|Z],
14677 setarg(2, X, Z),
14678 ( Z=[A1|_]
14679 -> setarg(4, A1, X)
14680 ; true
14681 )
14682 )
14683 ),
14684 'detach_known/1_1_$special_functor/3___3'(W, R)
14685 )
14686 ),
14687 'known/1_1_$special_fail/0'.
14688'known/1_1_$special_functor/3___3__0'(A, B, C, G) :-
14689 ( 'chr newvia'([A, B, C], D)
14690 -> get_attr(D, guard_entailment, E),
14691 E=v(_, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
14692 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14693 F)
14694 ), !,
14695 ( var(G)
14696 -> G=suspension(H, not_stored_yet, 0, _, A, B, C),
14697 'chr gen_id'(H)
14698 ; true
14699 ),
14700 'known/1_1_$special_functor/3___3__0__0__10'(F,
14701 A,
14702 B,
14703 C,
14704 G).
14705'known/1_1_$special_functor/3___3__0__0__10'([], A, B, C, D) :-
14706 'known/1_1_$special_functor/3___3__1'(A, B, C, D).
14707'known/1_1_$special_functor/3___3__0__0__10'([A|C1], E, G, I, Q) :-
14708 ( A=suspension(_, active, _, _, B, B1),
14709 nonvar(B),
14710 B=(\+C),
14711 nonvar(C),
14712 C=functor(D, F, H),
14713 D==E,
14714 F==G,
14715 H==I
14716 -> ( A=suspension(_, _, _, _, J, K),
14717 setarg(2, A, removed),
14718 term_variables(term(J, K), P),
14719 ( arg(4, A, L),
14720 ( var(L)
14721 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14722 M),
14723 M=[_|N],
14724 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14725 N),
14726 ( N=[O|_]
14727 -> setarg(4, O, _)
14728 ; true
14729 )
14730 ; L=[_, _|N],
14731 setarg(2, L, N),
14732 ( N=[O|_]
14733 -> setarg(4, O, L)
14734 ; true
14735 )
14736 )
14737 ),
14738 'detach_known/1_1_$special_;/2___2'(P, A)
14739 ),
14740 ( arg(2, Q, T),
14741 setarg(2, Q, active),
14742 ( arg(3, Q, R),
14743 S is R+1,
14744 setarg(3, Q, S)
14745 ),
14746 ( T==not_stored_yet
14747 -> Q=suspension(_, _, _, _, U, V, W),
14748 term_variables(term(U, V, W), X),
14749 'chr none_locked'(X),
14750 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14751 Y),
14752 Z=[Q|Y],
14753 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14754 Z),
14755 ( Y=[A1|_]
14756 -> setarg(4, A1, Z)
14757 ; true
14758 )
14759 ),
14760 'attach_known/1_1_$special_functor/3___3'(X, Q)
14761 ; true
14762 )
14763 ),
14764 known(B1),
14765 ( Q=suspension(_, active, S, _, _, _, _)
14766 -> setarg(2, Q, inactive),
14767 'known/1_1_$special_functor/3___3__0__0__10'(C1,
14768 E,
14769 G,
14770 I,
14771 Q)
14772 ; true
14773 )
14774 ; 'known/1_1_$special_functor/3___3__0__0__10'(C1,
14775 E,
14776 G,
14777 I,
14778 Q)
14779 ).
14780'known/1_1_$special_functor/3___3__0'(B, C, D, A) :-
14781 ( var(A)
14782 -> A=suspension(E, not_stored_yet, 0, _, B, C, D),
14783 'chr gen_id'(E)
14784 ; true
14785 ),
14786 'known/1_1_$special_functor/3___3__1'(B, C, D, A).
14787'known/1_1_$special_functor/3___3__1'(A, B, C, G) :-
14788 ( 'chr newvia'([A, B, C], D)
14789 -> get_attr(D, guard_entailment, E),
14790 E=v(_, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
14791 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14792 F)
14793 ), !,
14794 'known/1_1_$special_functor/3___3__1__0__11'(F,
14795 A,
14796 B,
14797 C,
14798 G).
14799'known/1_1_$special_functor/3___3__1__0__11'([], A, B, C, D) :-
14800 'known/1_1_$special_functor/3___3__2'(A, B, C, D).
14801'known/1_1_$special_functor/3___3__1__0__11'([A|D1], F, H, J, R) :-
14802 ( A=suspension(_, active, _, _, B, C1),
14803 nonvar(B),
14804 B=(C, _),
14805 nonvar(C),
14806 C=(\+D),
14807 nonvar(D),
14808 D=functor(E, G, I),
14809 E==F,
14810 G==H,
14811 I==J
14812 -> ( A=suspension(_, _, _, _, K, L),
14813 setarg(2, A, removed),
14814 term_variables(term(K, L), Q),
14815 ( arg(4, A, M),
14816 ( var(M)
14817 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14818 N),
14819 N=[_|O],
14820 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14821 O),
14822 ( O=[P|_]
14823 -> setarg(4, P, _)
14824 ; true
14825 )
14826 ; M=[_, _|O],
14827 setarg(2, M, O),
14828 ( O=[P|_]
14829 -> setarg(4, P, M)
14830 ; true
14831 )
14832 )
14833 ),
14834 'detach_known/1_1_$special_;/2___2'(Q, A)
14835 ),
14836 ( arg(2, R, U),
14837 setarg(2, R, active),
14838 ( arg(3, R, S),
14839 T is S+1,
14840 setarg(3, R, T)
14841 ),
14842 ( U==not_stored_yet
14843 -> R=suspension(_, _, _, _, V, W, X),
14844 term_variables(term(V, W, X), Y),
14845 'chr none_locked'(Y),
14846 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14847 Z),
14848 A1=[R|Z],
14849 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14850 A1),
14851 ( Z=[B1|_]
14852 -> setarg(4, B1, A1)
14853 ; true
14854 )
14855 ),
14856 'attach_known/1_1_$special_functor/3___3'(Y, R)
14857 ; true
14858 )
14859 ),
14860 known(C1),
14861 ( R=suspension(_, active, T, _, _, _, _)
14862 -> setarg(2, R, inactive),
14863 'known/1_1_$special_functor/3___3__1__0__11'(D1,
14864 F,
14865 H,
14866 J,
14867 R)
14868 ; true
14869 )
14870 ; 'known/1_1_$special_functor/3___3__1__0__11'(D1,
14871 F,
14872 H,
14873 J,
14874 R)
14875 ).
14876'known/1_1_$special_functor/3___3__1'(A, B, C, D) :-
14877 'known/1_1_$special_functor/3___3__2'(A, B, C, D).
14878'known/1_1_$special_functor/3___3__2'(A, E, F, G) :-
14879 ( 'chr newvia_1'(A, B)
14880 -> get_attr(B, guard_entailment, C),
14881 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
14882 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14883 D)
14884 ), !,
14885 'known/1_1_$special_functor/3___3__2__0__12'(D,
14886 A,
14887 E,
14888 F,
14889 G).
14890'known/1_1_$special_functor/3___3__2__0__12'([], A, B, C, D) :-
14891 'known/1_1_$special_functor/3___3__3'(A, B, C, D).
14892'known/1_1_$special_functor/3___3__2__0__12'([A|M], E, N, O, P) :-
14893 ( A=suspension(_, active, _, _, B, _),
14894 nonvar(B),
14895 B=(\+C),
14896 nonvar(C),
14897 C=functor(D, _, _),
14898 D==E
14899 -> ( A=suspension(_, _, _, _, F, G),
14900 setarg(2, A, removed),
14901 term_variables(term(F, G), L),
14902 ( arg(4, A, H),
14903 ( var(H)
14904 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14905 I),
14906 I=[_|J],
14907 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14908 J),
14909 ( J=[K|_]
14910 -> setarg(4, K, _)
14911 ; true
14912 )
14913 ; H=[_, _|J],
14914 setarg(2, H, J),
14915 ( J=[K|_]
14916 -> setarg(4, K, H)
14917 ; true
14918 )
14919 )
14920 ),
14921 'detach_known/1_1_$special_;/2___2'(L, A)
14922 ),
14923 'known/1_1_$special_functor/3___3__2__0__12'(M,
14924 E,
14925 N,
14926 O,
14927 P)
14928 ; 'known/1_1_$special_functor/3___3__2__0__12'(M,
14929 E,
14930 N,
14931 O,
14932 P)
14933 ).
14934'known/1_1_$special_functor/3___3__2'(A, B, C, D) :-
14935 'known/1_1_$special_functor/3___3__3'(A, B, C, D).
14936'known/1_1_$special_functor/3___3__3'(_, _, _, A) :-
14937 arg(2, A, D),
14938 setarg(2, A, active),
14939 arg(3, A, B),
14940 C is B+1,
14941 setarg(3, A, C),
14942 ( D==not_stored_yet
14943 -> A=suspension(_, _, _, _, E, F, G),
14944 term_variables(term(E, F, G), H),
14945 'chr none_locked'(H),
14946 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14947 I),
14948 J=[A|I],
14949 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14950 J),
14951 ( I=[K|_]
14952 -> setarg(4, K, J)
14953 ; true
14954 )
14955 ),
14956 'attach_known/1_1_$special_functor/3___3'(H, A)
14957 ; true
14958 ).
14959'known/1_1_$special_\\=/2'(A, B) :-
14960 'known/1_1_$special_\\=/2___2__0'(A, B, _).
14961'known/1_1_$special_\\=/2___2__0'(A, B, I) :-
14962 ( 'chr newvia_2'(A, B, C)
14963 -> get_attr(C, guard_entailment, D),
14964 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _)
14965 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
14966 E)
14967 ),
14968 member(F, E),
14969 F=suspension(_, active, _, _, _, G, H),
14970 G==A,
14971 H==B, !,
14972 ( var(I)
14973 -> true
14974 ; I=suspension(_, J, _, _, _, K, L),
14975 setarg(2, I, removed),
14976 ( J==not_stored_yet
14977 -> M=[]
14978 ; term_variables(term(K, L), M),
14979 ( arg(5, I, N),
14980 ( var(N)
14981 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
14982 O),
14983 O=[_|P],
14984 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
14985 P),
14986 ( P=[Q|_]
14987 -> setarg(5, Q, _)
14988 ; true
14989 )
14990 ; N=[_, _|P],
14991 setarg(2, N, P),
14992 ( P=[Q|_]
14993 -> setarg(5, Q, N)
14994 ; true
14995 )
14996 )
14997 ),
14998 'detach_known/1_1_$special_\\=/2___2'(M, I)
14999 )
15000 ).
15001'known/1_1_$special_\\=/2___2__0'(_, _, C) :-
15002 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
15003 A),
15004 member(B, A),
15005 B=suspension(_, active, _), !,
15006 ( var(C)
15007 -> true
15008 ; C=suspension(_, D, _, _, _, E, F),
15009 setarg(2, C, removed),
15010 ( D==not_stored_yet
15011 -> G=[]
15012 ; term_variables(term(E, F), G),
15013 ( arg(5, C, H),
15014 ( var(H)
15015 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15016 I),
15017 I=[_|J],
15018 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15019 J),
15020 ( J=[K|_]
15021 -> setarg(5, K, _)
15022 ; true
15023 )
15024 ; H=[_, _|J],
15025 setarg(2, H, J),
15026 ( J=[K|_]
15027 -> setarg(5, K, H)
15028 ; true
15029 )
15030 )
15031 ),
15032 'detach_known/1_1_$special_\\=/2___2'(G, C)
15033 )
15034 ).
15035'known/1_1_$special_\\=/2___2__0'(B, A, C) :-
15036 ground(A),
15037 ground(B),
15038 'chr lock'(B),
15039 'chr lock'(A),
15040 B=A,
15041 'chr unlock'(B),
15042 'chr unlock'(A), !,
15043 ( var(C)
15044 -> true
15045 ; C=suspension(_, D, _, _, _, E, F),
15046 setarg(2, C, removed),
15047 ( D==not_stored_yet
15048 -> G=[]
15049 ; term_variables(term(E, F), G),
15050 ( arg(5, C, H),
15051 ( var(H)
15052 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15053 I),
15054 I=[_|J],
15055 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15056 J),
15057 ( J=[K|_]
15058 -> setarg(5, K, _)
15059 ; true
15060 )
15061 ; H=[_, _|J],
15062 setarg(2, H, J),
15063 ( J=[K|_]
15064 -> setarg(5, K, H)
15065 ; true
15066 )
15067 )
15068 ),
15069 'detach_known/1_1_$special_\\=/2___2'(G, C)
15070 )
15071 ),
15072 'known/1_1_$special_fail/0'.
15073'known/1_1_$special_\\=/2___2__0'(B, A, C) :-
15074 A==B, !,
15075 ( var(C)
15076 -> true
15077 ; C=suspension(_, D, _, _, _, E, F),
15078 setarg(2, C, removed),
15079 ( D==not_stored_yet
15080 -> G=[]
15081 ; term_variables(term(E, F), G),
15082 ( arg(5, C, H),
15083 ( var(H)
15084 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15085 I),
15086 I=[_|J],
15087 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15088 J),
15089 ( J=[K|_]
15090 -> setarg(5, K, _)
15091 ; true
15092 )
15093 ; H=[_, _|J],
15094 setarg(2, H, J),
15095 ( J=[K|_]
15096 -> setarg(5, K, H)
15097 ; true
15098 )
15099 )
15100 ),
15101 'detach_known/1_1_$special_\\=/2___2'(G, C)
15102 )
15103 ),
15104 'known/1_1_$special_fail/0'.
15105'known/1_1_$special_\\=/2___2__0'(B, A, D) :-
15106 nonvar(A),
15107 ( var(B),
15108 'chr lock'(A),
15109 functor(A, M, C),
15110 C>0,
15111 'chr unlock'(A), !,
15112 ( var(D)
15113 -> true
15114 ; D=suspension(_, E, _, _, _, F, G),
15115 setarg(2, D, removed),
15116 ( E==not_stored_yet
15117 -> H=[]
15118 ; term_variables(term(F, G), H),
15119 ( arg(5, D, I),
15120 ( var(I)
15121 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15122 J),
15123 J=[_|K],
15124 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15125 K),
15126 ( K=[L|_]
15127 -> setarg(5, L, _)
15128 ; true
15129 )
15130 ; I=[_, _|K],
15131 setarg(2, I, K),
15132 ( K=[L|_]
15133 -> setarg(5, L, I)
15134 ; true
15135 )
15136 )
15137 ),
15138 'detach_known/1_1_$special_\\=/2___2'(H, D)
15139 )
15140 ),
15141 length(N, C),
15142 A=..[M|O],
15143 P=..[M|N],
15144 add_args_nunif(O, N, Q),
15145 R=(\+functor(B, M, C);B=P, Q),
15146 known(R)
15147 ; nonvar(B),
15148 'chr lock'(B),
15149 functor(B, A1, B1),
15150 'chr unlock'(B), !,
15151 ( var(D)
15152 -> true
15153 ; D=suspension(_, S, _, _, _, T, U),
15154 setarg(2, D, removed),
15155 ( S==not_stored_yet
15156 -> V=[]
15157 ; term_variables(term(T, U), V),
15158 ( arg(5, D, W),
15159 ( var(W)
15160 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15161 X),
15162 X=[_|Y],
15163 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15164 Y),
15165 ( Y=[Z|_]
15166 -> setarg(5, Z, _)
15167 ; true
15168 )
15169 ; W=[_, _|Y],
15170 setarg(2, W, Y),
15171 ( Y=[Z|_]
15172 -> setarg(5, Z, W)
15173 ; true
15174 )
15175 )
15176 ),
15177 'detach_known/1_1_$special_\\=/2___2'(V, D)
15178 )
15179 ),
15180 ( functor(A, A1, B1)
15181 -> B=..[A1|C1],
15182 A=..[A1|D1],
15183 add_args_nunif(C1, D1, E1),
15184 known(E1)
15185 ; true
15186 )
15187 ).
15188'known/1_1_$special_\\=/2___2__0'(B, C, A) :-
15189 ( var(A)
15190 -> A=suspension(D, not_stored_yet, t, 0, _, B, C),
15191 'chr gen_id'(D)
15192 ; true
15193 ),
15194 ( '$novel_production'(A, 182), !,
15195 '$extend_history'(A, 182),
15196 arg(2, A, G),
15197 setarg(2, A, active),
15198 arg(4, A, E),
15199 F is E+1,
15200 setarg(4, A, F),
15201 ( G==not_stored_yet
15202 -> A=suspension(_, _, _, _, _, H, I),
15203 term_variables(term(H, I), J),
15204 'chr none_locked'(J),
15205 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15206 K),
15207 L=[A|K],
15208 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15209 L),
15210 ( K=[M|_]
15211 -> setarg(5, M, L)
15212 ; true
15213 )
15214 ),
15215 'attach_known/1_1_$special_\\=/2___2'(J, A)
15216 ; true
15217 ),
15218 'known/1_1_$special_\\=/2'(C, B),
15219 ( A=suspension(_, active, _, F, _, _, _)
15220 -> setarg(2, A, inactive),
15221 'known/1_1_$special_\\=/2___2__1'(B, C, A)
15222 ; true
15223 )
15224 ; 'known/1_1_$special_\\=/2___2__1'(B, C, A)
15225 ).
15226'known/1_1_$special_\\=/2___2__1'(A, B, P) :-
15227 ( 'chr newvia_2'(A, B, C)
15228 -> get_attr(C, guard_entailment, D),
15229 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
15230 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
15231 E)
15232 ),
15233 member(F, E),
15234 F=suspension(_, active, _, _, G),
15235 nonvar(G),
15236 G=(H\=I),
15237 H==A,
15238 I==B, !,
15239 F=suspension(_, _, _, _, J),
15240 setarg(2, F, removed),
15241 term_variables(J, O),
15242 arg(4, F, K),
15243 ( var(K)
15244 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
15245 L),
15246 L=[_|M],
15247 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
15248 M),
15249 ( M=[N|_]
15250 -> setarg(4, N, _)
15251 ; true
15252 )
15253 ; K=[_, _|M],
15254 setarg(2, K, M),
15255 ( M=[N|_]
15256 -> setarg(4, N, K)
15257 ; true
15258 )
15259 ),
15260 'detach_known/1_1_$special_\\+/1___1'(O, F),
15261 ( var(P)
15262 -> true
15263 ; P=suspension(_, Q, _, _, _, R, S),
15264 setarg(2, P, removed),
15265 ( Q==not_stored_yet
15266 -> T=[]
15267 ; term_variables(term(R, S), T),
15268 ( arg(5, P, U),
15269 ( var(U)
15270 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15271 V),
15272 V=[_|W],
15273 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15274 W),
15275 ( W=[X|_]
15276 -> setarg(5, X, _)
15277 ; true
15278 )
15279 ; U=[_, _|W],
15280 setarg(2, U, W),
15281 ( W=[X|_]
15282 -> setarg(5, X, U)
15283 ; true
15284 )
15285 )
15286 ),
15287 'detach_known/1_1_$special_\\=/2___2'(T, P)
15288 )
15289 ),
15290 'known/1_1_$special_fail/0'.
15291'known/1_1_$special_\\=/2___2__1'(A, B, F) :-
15292 ( 'chr newvia_2'(A, B, C)
15293 -> get_attr(C, guard_entailment, D),
15294 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
15295 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15296 E)
15297 ), !,
15298 'known/1_1_$special_\\=/2___2__1__0__11'(E, A, B, F).
15299'known/1_1_$special_\\=/2___2__1__0__11'([], A, B, C) :-
15300 'known/1_1_$special_\\=/2___2__2'(A, B, C).
15301'known/1_1_$special_\\=/2___2__1__0__11'([A|Z], E, G, O) :-
15302 ( A=suspension(_, active, _, _, B, Y),
15303 nonvar(B),
15304 B=(\+C),
15305 nonvar(C),
15306 C=(D\=F),
15307 D==E,
15308 F==G
15309 -> ( A=suspension(_, _, _, _, H, I),
15310 setarg(2, A, removed),
15311 term_variables(term(H, I), N),
15312 ( arg(4, A, J),
15313 ( var(J)
15314 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15315 K),
15316 K=[_|L],
15317 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15318 L),
15319 ( L=[M|_]
15320 -> setarg(4, M, _)
15321 ; true
15322 )
15323 ; J=[_, _|L],
15324 setarg(2, J, L),
15325 ( L=[M|_]
15326 -> setarg(4, M, J)
15327 ; true
15328 )
15329 )
15330 ),
15331 'detach_known/1_1_$special_;/2___2'(N, A)
15332 ),
15333 ( arg(2, O, R),
15334 setarg(2, O, active),
15335 ( arg(4, O, P),
15336 Q is P+1,
15337 setarg(4, O, Q)
15338 ),
15339 ( R==not_stored_yet
15340 -> O=suspension(_, _, _, _, _, S, T),
15341 term_variables(term(S, T), U),
15342 'chr none_locked'(U),
15343 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15344 V),
15345 W=[O|V],
15346 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15347 W),
15348 ( V=[X|_]
15349 -> setarg(5, X, W)
15350 ; true
15351 )
15352 ),
15353 'attach_known/1_1_$special_\\=/2___2'(U, O)
15354 ; true
15355 )
15356 ),
15357 known(Y),
15358 ( O=suspension(_, active, _, Q, _, _, _)
15359 -> setarg(2, O, inactive),
15360 'known/1_1_$special_\\=/2___2__1__0__11'(Z,
15361 E,
15362 G,
15363 O)
15364 ; true
15365 )
15366 ; 'known/1_1_$special_\\=/2___2__1__0__11'(Z,
15367 E,
15368 G,
15369 O)
15370 ).
15371'known/1_1_$special_\\=/2___2__1'(A, B, C) :-
15372 'known/1_1_$special_\\=/2___2__2'(A, B, C).
15373'known/1_1_$special_\\=/2___2__2'(A, B, F) :-
15374 ( 'chr newvia_2'(A, B, C)
15375 -> get_attr(C, guard_entailment, D),
15376 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
15377 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15378 E)
15379 ), !,
15380 'known/1_1_$special_\\=/2___2__2__0__12'(E, A, B, F).
15381'known/1_1_$special_\\=/2___2__2__0__12'([], A, B, C) :-
15382 'known/1_1_$special_\\=/2___2__3'(A, B, C).
15383'known/1_1_$special_\\=/2___2__2__0__12'([A|A1], F, H, P) :-
15384 ( A=suspension(_, active, _, _, B, Z),
15385 nonvar(B),
15386 B=(C, _),
15387 nonvar(C),
15388 C=(\+D),
15389 nonvar(D),
15390 D=(E\=G),
15391 E==F,
15392 G==H
15393 -> ( A=suspension(_, _, _, _, I, J),
15394 setarg(2, A, removed),
15395 term_variables(term(I, J), O),
15396 ( arg(4, A, K),
15397 ( var(K)
15398 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15399 L),
15400 L=[_|M],
15401 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15402 M),
15403 ( M=[N|_]
15404 -> setarg(4, N, _)
15405 ; true
15406 )
15407 ; K=[_, _|M],
15408 setarg(2, K, M),
15409 ( M=[N|_]
15410 -> setarg(4, N, K)
15411 ; true
15412 )
15413 )
15414 ),
15415 'detach_known/1_1_$special_;/2___2'(O, A)
15416 ),
15417 ( arg(2, P, S),
15418 setarg(2, P, active),
15419 ( arg(4, P, Q),
15420 R is Q+1,
15421 setarg(4, P, R)
15422 ),
15423 ( S==not_stored_yet
15424 -> P=suspension(_, _, _, _, _, T, U),
15425 term_variables(term(T, U), V),
15426 'chr none_locked'(V),
15427 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15428 W),
15429 X=[P|W],
15430 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15431 X),
15432 ( W=[Y|_]
15433 -> setarg(5, Y, X)
15434 ; true
15435 )
15436 ),
15437 'attach_known/1_1_$special_\\=/2___2'(V, P)
15438 ; true
15439 )
15440 ),
15441 known(Z),
15442 ( P=suspension(_, active, _, R, _, _, _)
15443 -> setarg(2, P, inactive),
15444 'known/1_1_$special_\\=/2___2__2__0__12'(A1,
15445 F,
15446 H,
15447 P)
15448 ; true
15449 )
15450 ; 'known/1_1_$special_\\=/2___2__2__0__12'(A1,
15451 F,
15452 H,
15453 P)
15454 ).
15455'known/1_1_$special_\\=/2___2__2'(A, B, C) :-
15456 'known/1_1_$special_\\=/2___2__3'(A, B, C).
15457'known/1_1_$special_\\=/2___2__3'(_, _, A) :-
15458 arg(2, A, D),
15459 setarg(2, A, active),
15460 arg(4, A, B),
15461 C is B+1,
15462 setarg(4, A, C),
15463 ( D==not_stored_yet
15464 -> A=suspension(_, _, _, _, _, E, F),
15465 term_variables(term(E, F), G),
15466 'chr none_locked'(G),
15467 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15468 H),
15469 I=[A|H],
15470 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15471 I),
15472 ( H=[J|_]
15473 -> setarg(5, J, I)
15474 ; true
15475 )
15476 ),
15477 'attach_known/1_1_$special_\\=/2___2'(G, A)
15478 ; true
15479 ).
15480'known/1_1_$special_=/2'(A, B) :-
15481 'known/1_1_$special_=/2___2__0'(A, B, _).
15482'known/1_1_$special_=/2___2__0'(A, B, I) :-
15483 ( 'chr newvia_2'(A, B, C)
15484 -> get_attr(C, guard_entailment, D),
15485 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _)
15486 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15487 E)
15488 ),
15489 member(F, E),
15490 F=suspension(_, active, _, _, G, H),
15491 G==A,
15492 H==B, !,
15493 ( var(I)
15494 -> true
15495 ; I=suspension(_, J, _, _, K, L),
15496 setarg(2, I, removed),
15497 ( J==not_stored_yet
15498 -> M=[]
15499 ; term_variables(term(K, L), M),
15500 ( arg(4, I, N),
15501 ( var(N)
15502 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15503 O),
15504 O=[_|P],
15505 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15506 P),
15507 ( P=[Q|_]
15508 -> setarg(4, Q, _)
15509 ; true
15510 )
15511 ; N=[_, _|P],
15512 setarg(2, N, P),
15513 ( P=[Q|_]
15514 -> setarg(4, Q, N)
15515 ; true
15516 )
15517 )
15518 ),
15519 'detach_known/1_1_$special_=/2___2'(M, I)
15520 )
15521 ).
15522'known/1_1_$special_=/2___2__0'(_, _, C) :-
15523 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
15524 A),
15525 member(B, A),
15526 B=suspension(_, active, _), !,
15527 ( var(C)
15528 -> true
15529 ; C=suspension(_, D, _, _, E, F),
15530 setarg(2, C, removed),
15531 ( D==not_stored_yet
15532 -> G=[]
15533 ; term_variables(term(E, F), G),
15534 ( arg(4, C, H),
15535 ( var(H)
15536 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15537 I),
15538 I=[_|J],
15539 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15540 J),
15541 ( J=[K|_]
15542 -> setarg(4, K, _)
15543 ; true
15544 )
15545 ; H=[_, _|J],
15546 setarg(2, H, J),
15547 ( J=[K|_]
15548 -> setarg(4, K, H)
15549 ; true
15550 )
15551 )
15552 ),
15553 'detach_known/1_1_$special_=/2___2'(G, C)
15554 )
15555 ).
15556'known/1_1_$special_=/2___2__0'(B, A, C) :-
15557 A==B, !,
15558 ( var(C)
15559 -> true
15560 ; C=suspension(_, D, _, _, E, F),
15561 setarg(2, C, removed),
15562 ( D==not_stored_yet
15563 -> G=[]
15564 ; term_variables(term(E, F), G),
15565 ( arg(4, C, H),
15566 ( var(H)
15567 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15568 I),
15569 I=[_|J],
15570 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15571 J),
15572 ( J=[K|_]
15573 -> setarg(4, K, _)
15574 ; true
15575 )
15576 ; H=[_, _|J],
15577 setarg(2, H, J),
15578 ( J=[K|_]
15579 -> setarg(4, K, H)
15580 ; true
15581 )
15582 )
15583 ),
15584 'detach_known/1_1_$special_=/2___2'(G, C)
15585 )
15586 ).
15587'known/1_1_$special_=/2___2__0'(A, K, B) :-
15588 var(A), !,
15589 ( var(B)
15590 -> true
15591 ; B=suspension(_, C, _, _, D, E),
15592 setarg(2, B, removed),
15593 ( C==not_stored_yet
15594 -> F=[]
15595 ; term_variables(term(D, E), F),
15596 ( arg(4, B, G),
15597 ( var(G)
15598 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15599 H),
15600 H=[_|I],
15601 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15602 I),
15603 ( I=[J|_]
15604 -> setarg(4, J, _)
15605 ; true
15606 )
15607 ; G=[_, _|I],
15608 setarg(2, G, I),
15609 ( I=[J|_]
15610 -> setarg(4, J, G)
15611 ; true
15612 )
15613 )
15614 ),
15615 'detach_known/1_1_$special_=/2___2'(F, B)
15616 )
15617 ),
15618 A=K.
15619'known/1_1_$special_=/2___2__0'(K, A, B) :-
15620 var(A), !,
15621 ( var(B)
15622 -> true
15623 ; B=suspension(_, C, _, _, D, E),
15624 setarg(2, B, removed),
15625 ( C==not_stored_yet
15626 -> F=[]
15627 ; term_variables(term(D, E), F),
15628 ( arg(4, B, G),
15629 ( var(G)
15630 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15631 H),
15632 H=[_|I],
15633 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15634 I),
15635 ( I=[J|_]
15636 -> setarg(4, J, _)
15637 ; true
15638 )
15639 ; G=[_, _|I],
15640 setarg(2, G, I),
15641 ( I=[J|_]
15642 -> setarg(4, J, G)
15643 ; true
15644 )
15645 )
15646 ),
15647 'detach_known/1_1_$special_=/2___2'(F, B)
15648 )
15649 ),
15650 K=A.
15651'known/1_1_$special_=/2___2__0'(A, K, B) :-
15652 'chr lock'(A),
15653 functor(A, L, M),
15654 'chr unlock'(A), !,
15655 ( var(B)
15656 -> true
15657 ; B=suspension(_, C, _, _, D, E),
15658 setarg(2, B, removed),
15659 ( C==not_stored_yet
15660 -> F=[]
15661 ; term_variables(term(D, E), F),
15662 ( arg(4, B, G),
15663 ( var(G)
15664 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15665 H),
15666 H=[_|I],
15667 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15668 I),
15669 ( I=[J|_]
15670 -> setarg(4, J, _)
15671 ; true
15672 )
15673 ; G=[_, _|I],
15674 setarg(2, G, I),
15675 ( I=[J|_]
15676 -> setarg(4, J, G)
15677 ; true
15678 )
15679 )
15680 ),
15681 'detach_known/1_1_$special_=/2___2'(F, B)
15682 )
15683 ),
15684 ( functor(K, L, M),
15685 A=K
15686 -> true
15687 ; 'known/1_1_$special_fail/0'
15688 ).
15689'known/1_1_$special_=/2___2__0'(A, B, P) :-
15690 ( 'chr newvia_2'(A, B, C)
15691 -> get_attr(C, guard_entailment, D),
15692 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
15693 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
15694 E)
15695 ),
15696 member(F, E),
15697 F=suspension(_, active, _, _, G),
15698 nonvar(G),
15699 G=(H=I),
15700 H==A,
15701 I==B, !,
15702 F=suspension(_, _, _, _, J),
15703 setarg(2, F, removed),
15704 term_variables(J, O),
15705 arg(4, F, K),
15706 ( var(K)
15707 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
15708 L),
15709 L=[_|M],
15710 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
15711 M),
15712 ( M=[N|_]
15713 -> setarg(4, N, _)
15714 ; true
15715 )
15716 ; K=[_, _|M],
15717 setarg(2, K, M),
15718 ( M=[N|_]
15719 -> setarg(4, N, K)
15720 ; true
15721 )
15722 ),
15723 'detach_known/1_1_$special_\\+/1___1'(O, F),
15724 ( var(P)
15725 -> true
15726 ; P=suspension(_, Q, _, _, R, S),
15727 setarg(2, P, removed),
15728 ( Q==not_stored_yet
15729 -> T=[]
15730 ; term_variables(term(R, S), T),
15731 ( arg(4, P, U),
15732 ( var(U)
15733 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15734 V),
15735 V=[_|W],
15736 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15737 W),
15738 ( W=[X|_]
15739 -> setarg(4, X, _)
15740 ; true
15741 )
15742 ; U=[_, _|W],
15743 setarg(2, U, W),
15744 ( W=[X|_]
15745 -> setarg(4, X, U)
15746 ; true
15747 )
15748 )
15749 ),
15750 'detach_known/1_1_$special_=/2___2'(T, P)
15751 )
15752 ),
15753 'known/1_1_$special_fail/0'.
15754'known/1_1_$special_=/2___2__0'(A, B, F) :-
15755 ( 'chr newvia_2'(A, B, C)
15756 -> get_attr(C, guard_entailment, D),
15757 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
15758 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15759 E)
15760 ), !,
15761 ( var(F)
15762 -> F=suspension(G, not_stored_yet, 0, _, A, B),
15763 'chr gen_id'(G)
15764 ; true
15765 ),
15766 'known/1_1_$special_=/2___2__0__0__10'(E, A, B, F).
15767'known/1_1_$special_=/2___2__0__0__10'([], A, B, C) :-
15768 'known/1_1_$special_=/2___2__1'(A, B, C).
15769'known/1_1_$special_=/2___2__0__0__10'([A|Z], E, G, O) :-
15770 ( A=suspension(_, active, _, _, B, Y),
15771 nonvar(B),
15772 B=(\+C),
15773 nonvar(C),
15774 C=(D=F),
15775 D==E,
15776 F==G
15777 -> ( A=suspension(_, _, _, _, H, I),
15778 setarg(2, A, removed),
15779 term_variables(term(H, I), N),
15780 ( arg(4, A, J),
15781 ( var(J)
15782 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15783 K),
15784 K=[_|L],
15785 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15786 L),
15787 ( L=[M|_]
15788 -> setarg(4, M, _)
15789 ; true
15790 )
15791 ; J=[_, _|L],
15792 setarg(2, J, L),
15793 ( L=[M|_]
15794 -> setarg(4, M, J)
15795 ; true
15796 )
15797 )
15798 ),
15799 'detach_known/1_1_$special_;/2___2'(N, A)
15800 ),
15801 ( arg(2, O, R),
15802 setarg(2, O, active),
15803 ( arg(3, O, P),
15804 Q is P+1,
15805 setarg(3, O, Q)
15806 ),
15807 ( R==not_stored_yet
15808 -> O=suspension(_, _, _, _, S, T),
15809 term_variables(term(S, T), U),
15810 'chr none_locked'(U),
15811 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15812 V),
15813 W=[O|V],
15814 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15815 W),
15816 ( V=[X|_]
15817 -> setarg(4, X, W)
15818 ; true
15819 )
15820 ),
15821 'attach_known/1_1_$special_=/2___2'(U, O)
15822 ; true
15823 )
15824 ),
15825 known(Y),
15826 ( O=suspension(_, active, Q, _, _, _)
15827 -> setarg(2, O, inactive),
15828 'known/1_1_$special_=/2___2__0__0__10'(Z,
15829 E,
15830 G,
15831 O)
15832 ; true
15833 )
15834 ; 'known/1_1_$special_=/2___2__0__0__10'(Z,
15835 E,
15836 G,
15837 O)
15838 ).
15839'known/1_1_$special_=/2___2__0'(B, C, A) :-
15840 ( var(A)
15841 -> A=suspension(D, not_stored_yet, 0, _, B, C),
15842 'chr gen_id'(D)
15843 ; true
15844 ),
15845 'known/1_1_$special_=/2___2__1'(B, C, A).
15846'known/1_1_$special_=/2___2__1'(A, B, F) :-
15847 ( 'chr newvia_2'(A, B, C)
15848 -> get_attr(C, guard_entailment, D),
15849 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
15850 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15851 E)
15852 ), !,
15853 'known/1_1_$special_=/2___2__1__0__11'(E, A, B, F).
15854'known/1_1_$special_=/2___2__1__0__11'([], A, B, C) :-
15855 'known/1_1_$special_=/2___2__2'(A, B, C).
15856'known/1_1_$special_=/2___2__1__0__11'([A|A1], F, H, P) :-
15857 ( A=suspension(_, active, _, _, B, Z),
15858 nonvar(B),
15859 B=(C, _),
15860 nonvar(C),
15861 C=(\+D),
15862 nonvar(D),
15863 D=(E=G),
15864 E==F,
15865 G==H
15866 -> ( A=suspension(_, _, _, _, I, J),
15867 setarg(2, A, removed),
15868 term_variables(term(I, J), O),
15869 ( arg(4, A, K),
15870 ( var(K)
15871 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15872 L),
15873 L=[_|M],
15874 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15875 M),
15876 ( M=[N|_]
15877 -> setarg(4, N, _)
15878 ; true
15879 )
15880 ; K=[_, _|M],
15881 setarg(2, K, M),
15882 ( M=[N|_]
15883 -> setarg(4, N, K)
15884 ; true
15885 )
15886 )
15887 ),
15888 'detach_known/1_1_$special_;/2___2'(O, A)
15889 ),
15890 ( arg(2, P, S),
15891 setarg(2, P, active),
15892 ( arg(3, P, Q),
15893 R is Q+1,
15894 setarg(3, P, R)
15895 ),
15896 ( S==not_stored_yet
15897 -> P=suspension(_, _, _, _, T, U),
15898 term_variables(term(T, U), V),
15899 'chr none_locked'(V),
15900 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15901 W),
15902 X=[P|W],
15903 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15904 X),
15905 ( W=[Y|_]
15906 -> setarg(4, Y, X)
15907 ; true
15908 )
15909 ),
15910 'attach_known/1_1_$special_=/2___2'(V, P)
15911 ; true
15912 )
15913 ),
15914 known(Z),
15915 ( P=suspension(_, active, R, _, _, _)
15916 -> setarg(2, P, inactive),
15917 'known/1_1_$special_=/2___2__1__0__11'(A1,
15918 F,
15919 H,
15920 P)
15921 ; true
15922 )
15923 ; 'known/1_1_$special_=/2___2__1__0__11'(A1,
15924 F,
15925 H,
15926 P)
15927 ).
15928'known/1_1_$special_=/2___2__1'(A, B, C) :-
15929 'known/1_1_$special_=/2___2__2'(A, B, C).
15930'known/1_1_$special_=/2___2__2'(_, _, A) :-
15931 arg(2, A, D),
15932 setarg(2, A, active),
15933 arg(3, A, B),
15934 C is B+1,
15935 setarg(3, A, C),
15936 ( D==not_stored_yet
15937 -> A=suspension(_, _, _, _, E, F),
15938 term_variables(term(E, F), G),
15939 'chr none_locked'(G),
15940 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15941 H),
15942 I=[A|H],
15943 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15944 I),
15945 ( H=[J|_]
15946 -> setarg(4, J, I)
15947 ; true
15948 )
15949 ),
15950 'attach_known/1_1_$special_=/2___2'(G, A)
15951 ; true
15952 ).
15953'known/1_1_$special_,/2'(_, _) :-
15954 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
15955 A),
15956 member(B, A),
15957 B=suspension(_, active, _), !.
15958'known/1_1_$special_,/2'(A, B) :-
15959 known(A),
15960 known(B).
15961'known/1_1_$special_\\==/2'(A, B) :-
15962 'known/1_1_$special_\\==/2___2__0'(A, B, _).
15963'known/1_1_$special_\\==/2___2__0'(A, B, I) :-
15964 ( 'chr newvia_2'(A, B, C)
15965 -> get_attr(C, guard_entailment, D),
15966 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _)
15967 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
15968 E)
15969 ),
15970 member(F, E),
15971 F=suspension(_, active, _, _, _, G, H),
15972 G==A,
15973 H==B, !,
15974 ( var(I)
15975 -> true
15976 ; I=suspension(_, J, _, _, _, K, L),
15977 setarg(2, I, removed),
15978 ( J==not_stored_yet
15979 -> M=[]
15980 ; term_variables(term(K, L), M),
15981 ( arg(5, I, N),
15982 ( var(N)
15983 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
15984 O),
15985 O=[_|P],
15986 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
15987 P),
15988 ( P=[Q|_]
15989 -> setarg(5, Q, _)
15990 ; true
15991 )
15992 ; N=[_, _|P],
15993 setarg(2, N, P),
15994 ( P=[Q|_]
15995 -> setarg(5, Q, N)
15996 ; true
15997 )
15998 )
15999 ),
16000 'detach_known/1_1_$special_\\==/2___2'(M, I)
16001 )
16002 ).
16003'known/1_1_$special_\\==/2___2__0'(B, C, A) :-
16004 ( var(A)
16005 -> A=suspension(D, not_stored_yet, t, 0, _, B, C),
16006 'chr gen_id'(D)
16007 ; true
16008 ),
16009 ( '$novel_production'(A, 138),
16010 number(B), !,
16011 '$extend_history'(A, 138),
16012 arg(2, A, G),
16013 setarg(2, A, active),
16014 arg(4, A, E),
16015 F is E+1,
16016 setarg(4, A, F),
16017 ( G==not_stored_yet
16018 -> A=suspension(_, _, _, _, _, H, I),
16019 term_variables(term(H, I), J),
16020 'chr none_locked'(J),
16021 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16022 K),
16023 L=[A|K],
16024 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16025 L),
16026 ( K=[M|_]
16027 -> setarg(5, M, L)
16028 ; true
16029 )
16030 ),
16031 'attach_known/1_1_$special_\\==/2___2'(J, A)
16032 ; true
16033 ),
16034 'known/1_1_$special_=\\=/2'(B, C),
16035 ( A=suspension(_, active, _, F, _, _, _)
16036 -> setarg(2, A, inactive),
16037 'known/1_1_$special_\\==/2___2__1'(B, C, A)
16038 ; true
16039 )
16040 ; 'known/1_1_$special_\\==/2___2__1'(B, C, A)
16041 ).
16042'known/1_1_$special_\\==/2___2__1'(L, B, A) :-
16043 '$novel_production'(A, 139),
16044 number(B), !,
16045 '$extend_history'(A, 139),
16046 arg(2, A, E),
16047 setarg(2, A, active),
16048 arg(4, A, C),
16049 D is C+1,
16050 setarg(4, A, D),
16051 ( E==not_stored_yet
16052 -> A=suspension(_, _, _, _, _, F, G),
16053 term_variables(term(F, G), H),
16054 'chr none_locked'(H),
16055 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16056 I),
16057 J=[A|I],
16058 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16059 J),
16060 ( I=[K|_]
16061 -> setarg(5, K, J)
16062 ; true
16063 )
16064 ),
16065 'attach_known/1_1_$special_\\==/2___2'(H, A)
16066 ; true
16067 ),
16068 'known/1_1_$special_=\\=/2'(L, B),
16069 ( A=suspension(_, active, _, D, _, _, _)
16070 -> setarg(2, A, inactive),
16071 'known/1_1_$special_\\==/2___2__2'(L, B, A)
16072 ; true
16073 ).
16074'known/1_1_$special_\\==/2___2__1'(A, B, C) :-
16075 'known/1_1_$special_\\==/2___2__2'(A, B, C).
16076'known/1_1_$special_\\==/2___2__2'(_, _, C) :-
16077 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
16078 A),
16079 member(B, A),
16080 B=suspension(_, active, _), !,
16081 ( var(C)
16082 -> true
16083 ; C=suspension(_, D, _, _, _, E, F),
16084 setarg(2, C, removed),
16085 ( D==not_stored_yet
16086 -> G=[]
16087 ; term_variables(term(E, F), G),
16088 ( arg(5, C, H),
16089 ( var(H)
16090 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16091 I),
16092 I=[_|J],
16093 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16094 J),
16095 ( J=[K|_]
16096 -> setarg(5, K, _)
16097 ; true
16098 )
16099 ; H=[_, _|J],
16100 setarg(2, H, J),
16101 ( J=[K|_]
16102 -> setarg(5, K, H)
16103 ; true
16104 )
16105 )
16106 ),
16107 'detach_known/1_1_$special_\\==/2___2'(G, C)
16108 )
16109 ).
16110'known/1_1_$special_\\==/2___2__2'(A, B, P) :-
16111 ( 'chr newvia_2'(A, B, C)
16112 -> get_attr(C, guard_entailment, D),
16113 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
16114 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
16115 E)
16116 ),
16117 member(F, E),
16118 F=suspension(_, active, _, _, G),
16119 nonvar(G),
16120 G=(H\==I),
16121 H==A,
16122 I==B, !,
16123 F=suspension(_, _, _, _, J),
16124 setarg(2, F, removed),
16125 term_variables(J, O),
16126 arg(4, F, K),
16127 ( var(K)
16128 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
16129 L),
16130 L=[_|M],
16131 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
16132 M),
16133 ( M=[N|_]
16134 -> setarg(4, N, _)
16135 ; true
16136 )
16137 ; K=[_, _|M],
16138 setarg(2, K, M),
16139 ( M=[N|_]
16140 -> setarg(4, N, K)
16141 ; true
16142 )
16143 ),
16144 'detach_known/1_1_$special_\\+/1___1'(O, F),
16145 ( var(P)
16146 -> true
16147 ; P=suspension(_, Q, _, _, _, R, S),
16148 setarg(2, P, removed),
16149 ( Q==not_stored_yet
16150 -> T=[]
16151 ; term_variables(term(R, S), T),
16152 ( arg(5, P, U),
16153 ( var(U)
16154 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16155 V),
16156 V=[_|W],
16157 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16158 W),
16159 ( W=[X|_]
16160 -> setarg(5, X, _)
16161 ; true
16162 )
16163 ; U=[_, _|W],
16164 setarg(2, U, W),
16165 ( W=[X|_]
16166 -> setarg(5, X, U)
16167 ; true
16168 )
16169 )
16170 ),
16171 'detach_known/1_1_$special_\\==/2___2'(T, P)
16172 )
16173 ),
16174 'known/1_1_$special_fail/0'.
16175'known/1_1_$special_\\==/2___2__2'(A, B, P) :-
16176 ( 'chr newvia_2'(A, B, C)
16177 -> get_attr(C, guard_entailment, D),
16178 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _)
16179 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16180 E)
16181 ),
16182 member(F, E),
16183 F=suspension(_, active, _, _, _, G, H),
16184 G==A,
16185 H==B, !,
16186 F=suspension(_, _, _, _, _, I, J),
16187 setarg(2, F, removed),
16188 term_variables(term(I, J), O),
16189 arg(5, F, K),
16190 ( var(K)
16191 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16192 L),
16193 L=[_|M],
16194 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16195 M),
16196 ( M=[N|_]
16197 -> setarg(5, N, _)
16198 ; true
16199 )
16200 ; K=[_, _|M],
16201 setarg(2, K, M),
16202 ( M=[N|_]
16203 -> setarg(5, N, K)
16204 ; true
16205 )
16206 ),
16207 'detach_known/1_1_$special_==/2___2'(O, F),
16208 ( var(P)
16209 -> true
16210 ; P=suspension(_, Q, _, _, _, R, S),
16211 setarg(2, P, removed),
16212 ( Q==not_stored_yet
16213 -> T=[]
16214 ; term_variables(term(R, S), T),
16215 ( arg(5, P, U),
16216 ( var(U)
16217 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16218 V),
16219 V=[_|W],
16220 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16221 W),
16222 ( W=[X|_]
16223 -> setarg(5, X, _)
16224 ; true
16225 )
16226 ; U=[_, _|W],
16227 setarg(2, U, W),
16228 ( W=[X|_]
16229 -> setarg(5, X, U)
16230 ; true
16231 )
16232 )
16233 ),
16234 'detach_known/1_1_$special_\\==/2___2'(T, P)
16235 )
16236 ),
16237 'known/1_1_$special_fail/0'.
16238'known/1_1_$special_\\==/2___2__2'(A, E, F) :-
16239 ( 'chr newvia_1'(A, B)
16240 -> get_attr(B, guard_entailment, C),
16241 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _)
16242 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16243 D)
16244 ), !,
16245 'known/1_1_$special_\\==/2___2__2__0__9'(D, A, E, F).
16246'known/1_1_$special_\\==/2___2__2__0__9'([], A, B, C) :-
16247 'known/1_1_$special_\\==/2___2__3'(A, B, C).
16248'known/1_1_$special_\\==/2___2__2__0__9'([A|Q], C, P, D) :-
16249 ( A=suspension(_, active, _, _, _, O, B),
16250 B==C,
16251 E=t(229, A, D),
16252 '$novel_production'(A, E),
16253 '$novel_production'(D, E)
16254 -> '$extend_history'(D, E),
16255 ( arg(2, D, H),
16256 setarg(2, D, active),
16257 ( arg(4, D, F),
16258 G is F+1,
16259 setarg(4, D, G)
16260 ),
16261 ( H==not_stored_yet
16262 -> D=suspension(_, _, _, _, _, I, J),
16263 term_variables(term(I, J), K),
16264 'chr none_locked'(K),
16265 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16266 L),
16267 M=[D|L],
16268 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16269 M),
16270 ( L=[N|_]
16271 -> setarg(5, N, M)
16272 ; true
16273 )
16274 ),
16275 'attach_known/1_1_$special_\\==/2___2'(K, D)
16276 ; true
16277 )
16278 ),
16279 'known/1_1_$special_\\==/2'(O, P),
16280 ( D=suspension(_, active, _, G, _, _, _)
16281 -> setarg(2, D, inactive),
16282 'known/1_1_$special_\\==/2___2__2__0__9'(Q,
16283 C,
16284 P,
16285 D)
16286 ; true
16287 )
16288 ; 'known/1_1_$special_\\==/2___2__2__0__9'(Q,
16289 C,
16290 P,
16291 D)
16292 ).
16293'known/1_1_$special_\\==/2___2__2'(A, B, C) :-
16294 'known/1_1_$special_\\==/2___2__3'(A, B, C).
16295'known/1_1_$special_\\==/2___2__3'(L, K, A) :-
16296 '$novel_production'(A, 231), !,
16297 '$extend_history'(A, 231),
16298 arg(2, A, D),
16299 setarg(2, A, active),
16300 arg(4, A, B),
16301 C is B+1,
16302 setarg(4, A, C),
16303 ( D==not_stored_yet
16304 -> A=suspension(_, _, _, _, _, E, F),
16305 term_variables(term(E, F), G),
16306 'chr none_locked'(G),
16307 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16308 H),
16309 I=[A|H],
16310 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16311 I),
16312 ( H=[J|_]
16313 -> setarg(5, J, I)
16314 ; true
16315 )
16316 ),
16317 'attach_known/1_1_$special_\\==/2___2'(G, A)
16318 ; true
16319 ),
16320 'known/1_1_$special_\\==/2'(K, L),
16321 ( A=suspension(_, active, _, C, _, _, _)
16322 -> setarg(2, A, inactive),
16323 'known/1_1_$special_\\==/2___2__4'(L, K, A)
16324 ; true
16325 ).
16326'known/1_1_$special_\\==/2___2__3'(A, B, C) :-
16327 'known/1_1_$special_\\==/2___2__4'(A, B, C).
16328'known/1_1_$special_\\==/2___2__4'(B, A, C) :-
16329 A==B,
16330 '$novel_production'(C, 232), !,
16331 '$extend_history'(C, 232),
16332 arg(2, C, F),
16333 setarg(2, C, active),
16334 arg(4, C, D),
16335 E is D+1,
16336 setarg(4, C, E),
16337 ( F==not_stored_yet
16338 -> C=suspension(_, _, _, _, _, G, H),
16339 term_variables(term(G, H), I),
16340 'chr none_locked'(I),
16341 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16342 J),
16343 K=[C|J],
16344 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16345 K),
16346 ( J=[L|_]
16347 -> setarg(5, L, K)
16348 ; true
16349 )
16350 ),
16351 'attach_known/1_1_$special_\\==/2___2'(I, C)
16352 ; true
16353 ),
16354 'known/1_1_$special_fail/0',
16355 ( C=suspension(_, active, _, E, _, _, _)
16356 -> setarg(2, C, inactive),
16357 'known/1_1_$special_\\==/2___2__5'(B, A, C)
16358 ; true
16359 ).
16360'known/1_1_$special_\\==/2___2__4'(A, B, C) :-
16361 'known/1_1_$special_\\==/2___2__5'(A, B, C).
16362'known/1_1_$special_\\==/2___2__5'(B, A, C) :-
16363 nonvar(A),
16364 nonvar(B),
16365 'chr lock'(B),
16366 functor(B, L, M),
16367 'chr unlock'(B), !,
16368 ( var(C)
16369 -> true
16370 ; C=suspension(_, D, _, _, _, E, F),
16371 setarg(2, C, removed),
16372 ( D==not_stored_yet
16373 -> G=[]
16374 ; term_variables(term(E, F), G),
16375 ( arg(5, C, H),
16376 ( var(H)
16377 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16378 I),
16379 I=[_|J],
16380 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16381 J),
16382 ( J=[K|_]
16383 -> setarg(5, K, _)
16384 ; true
16385 )
16386 ; H=[_, _|J],
16387 setarg(2, H, J),
16388 ( J=[K|_]
16389 -> setarg(5, K, H)
16390 ; true
16391 )
16392 )
16393 ),
16394 'detach_known/1_1_$special_\\==/2___2'(G, C)
16395 )
16396 ),
16397 ( functor(A, L, M)
16398 -> B=..[L|N],
16399 A=..[L|O],
16400 add_args_nmatch(N, O, P),
16401 known(P)
16402 ; true
16403 ).
16404'known/1_1_$special_\\==/2___2__5'(A, B, F) :-
16405 ( 'chr newvia_2'(A, B, C)
16406 -> get_attr(C, guard_entailment, D),
16407 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
16408 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16409 E)
16410 ), !,
16411 'known/1_1_$special_\\==/2___2__5__0__13'(E,
16412 A,
16413 B,
16414 F).
16415'known/1_1_$special_\\==/2___2__5__0__13'([], A, B, C) :-
16416 'known/1_1_$special_\\==/2___2__6'(A, B, C).
16417'known/1_1_$special_\\==/2___2__5__0__13'([A|Z], E, G, O) :-
16418 ( A=suspension(_, active, _, _, B, Y),
16419 nonvar(B),
16420 B=(\+C),
16421 nonvar(C),
16422 C=(D\==F),
16423 D==E,
16424 F==G
16425 -> ( A=suspension(_, _, _, _, H, I),
16426 setarg(2, A, removed),
16427 term_variables(term(H, I), N),
16428 ( arg(4, A, J),
16429 ( var(J)
16430 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16431 K),
16432 K=[_|L],
16433 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16434 L),
16435 ( L=[M|_]
16436 -> setarg(4, M, _)
16437 ; true
16438 )
16439 ; J=[_, _|L],
16440 setarg(2, J, L),
16441 ( L=[M|_]
16442 -> setarg(4, M, J)
16443 ; true
16444 )
16445 )
16446 ),
16447 'detach_known/1_1_$special_;/2___2'(N, A)
16448 ),
16449 ( arg(2, O, R),
16450 setarg(2, O, active),
16451 ( arg(4, O, P),
16452 Q is P+1,
16453 setarg(4, O, Q)
16454 ),
16455 ( R==not_stored_yet
16456 -> O=suspension(_, _, _, _, _, S, T),
16457 term_variables(term(S, T), U),
16458 'chr none_locked'(U),
16459 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16460 V),
16461 W=[O|V],
16462 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16463 W),
16464 ( V=[X|_]
16465 -> setarg(5, X, W)
16466 ; true
16467 )
16468 ),
16469 'attach_known/1_1_$special_\\==/2___2'(U, O)
16470 ; true
16471 )
16472 ),
16473 known(Y),
16474 ( O=suspension(_, active, _, Q, _, _, _)
16475 -> setarg(2, O, inactive),
16476 'known/1_1_$special_\\==/2___2__5__0__13'(Z,
16477 E,
16478 G,
16479 O)
16480 ; true
16481 )
16482 ; 'known/1_1_$special_\\==/2___2__5__0__13'(Z,
16483 E,
16484 G,
16485 O)
16486 ).
16487'known/1_1_$special_\\==/2___2__5'(A, B, C) :-
16488 'known/1_1_$special_\\==/2___2__6'(A, B, C).
16489'known/1_1_$special_\\==/2___2__6'(A, B, F) :-
16490 ( 'chr newvia_2'(A, B, C)
16491 -> get_attr(C, guard_entailment, D),
16492 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
16493 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16494 E)
16495 ), !,
16496 'known/1_1_$special_\\==/2___2__6__0__14'(E,
16497 A,
16498 B,
16499 F).
16500'known/1_1_$special_\\==/2___2__6__0__14'([], A, B, C) :-
16501 'known/1_1_$special_\\==/2___2__7'(A, B, C).
16502'known/1_1_$special_\\==/2___2__6__0__14'([A|A1], F, H, P) :-
16503 ( A=suspension(_, active, _, _, B, Z),
16504 nonvar(B),
16505 B=(C, _),
16506 nonvar(C),
16507 C=(\+D),
16508 nonvar(D),
16509 D=(E\==G),
16510 E==F,
16511 G==H
16512 -> ( A=suspension(_, _, _, _, I, J),
16513 setarg(2, A, removed),
16514 term_variables(term(I, J), O),
16515 ( arg(4, A, K),
16516 ( var(K)
16517 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16518 L),
16519 L=[_|M],
16520 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16521 M),
16522 ( M=[N|_]
16523 -> setarg(4, N, _)
16524 ; true
16525 )
16526 ; K=[_, _|M],
16527 setarg(2, K, M),
16528 ( M=[N|_]
16529 -> setarg(4, N, K)
16530 ; true
16531 )
16532 )
16533 ),
16534 'detach_known/1_1_$special_;/2___2'(O, A)
16535 ),
16536 ( arg(2, P, S),
16537 setarg(2, P, active),
16538 ( arg(4, P, Q),
16539 R is Q+1,
16540 setarg(4, P, R)
16541 ),
16542 ( S==not_stored_yet
16543 -> P=suspension(_, _, _, _, _, T, U),
16544 term_variables(term(T, U), V),
16545 'chr none_locked'(V),
16546 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16547 W),
16548 X=[P|W],
16549 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16550 X),
16551 ( W=[Y|_]
16552 -> setarg(5, Y, X)
16553 ; true
16554 )
16555 ),
16556 'attach_known/1_1_$special_\\==/2___2'(V, P)
16557 ; true
16558 )
16559 ),
16560 known(Z),
16561 ( P=suspension(_, active, _, R, _, _, _)
16562 -> setarg(2, P, inactive),
16563 'known/1_1_$special_\\==/2___2__6__0__14'(A1,
16564 F,
16565 H,
16566 P)
16567 ; true
16568 )
16569 ; 'known/1_1_$special_\\==/2___2__6__0__14'(A1,
16570 F,
16571 H,
16572 P)
16573 ).
16574'known/1_1_$special_\\==/2___2__6'(A, B, C) :-
16575 'known/1_1_$special_\\==/2___2__7'(A, B, C).
16576'known/1_1_$special_\\==/2___2__7'(_, _, A) :-
16577 arg(2, A, D),
16578 setarg(2, A, active),
16579 arg(4, A, B),
16580 C is B+1,
16581 setarg(4, A, C),
16582 ( D==not_stored_yet
16583 -> A=suspension(_, _, _, _, _, E, F),
16584 term_variables(term(E, F), G),
16585 'chr none_locked'(G),
16586 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16587 H),
16588 I=[A|H],
16589 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16590 I),
16591 ( H=[J|_]
16592 -> setarg(5, J, I)
16593 ; true
16594 )
16595 ),
16596 'attach_known/1_1_$special_\\==/2___2'(G, A)
16597 ; true
16598 ).
16599'known/1_1_$special_==/2'(A, B) :-
16600 'known/1_1_$special_==/2___2__0'(A, B, _).
16601'known/1_1_$special_==/2___2__0'(A, B, I) :-
16602 ( 'chr newvia_2'(A, B, C)
16603 -> get_attr(C, guard_entailment, D),
16604 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _)
16605 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16606 E)
16607 ),
16608 member(F, E),
16609 F=suspension(_, active, _, _, _, G, H),
16610 G==A,
16611 H==B, !,
16612 ( var(I)
16613 -> true
16614 ; I=suspension(_, J, _, _, _, K, L),
16615 setarg(2, I, removed),
16616 ( J==not_stored_yet
16617 -> M=[]
16618 ; term_variables(term(K, L), M),
16619 ( arg(5, I, N),
16620 ( var(N)
16621 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16622 O),
16623 O=[_|P],
16624 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16625 P),
16626 ( P=[Q|_]
16627 -> setarg(5, Q, _)
16628 ; true
16629 )
16630 ; N=[_, _|P],
16631 setarg(2, N, P),
16632 ( P=[Q|_]
16633 -> setarg(5, Q, N)
16634 ; true
16635 )
16636 )
16637 ),
16638 'detach_known/1_1_$special_==/2___2'(M, I)
16639 )
16640 ).
16641'known/1_1_$special_==/2___2__0'(B, C, A) :-
16642 ( var(A)
16643 -> A=suspension(D, not_stored_yet, t, 0, _, B, C),
16644 'chr gen_id'(D)
16645 ; true
16646 ),
16647 ( '$novel_production'(A, 136),
16648 number(B), !,
16649 '$extend_history'(A, 136),
16650 arg(2, A, G),
16651 setarg(2, A, active),
16652 arg(4, A, E),
16653 F is E+1,
16654 setarg(4, A, F),
16655 ( G==not_stored_yet
16656 -> A=suspension(_, _, _, _, _, H, I),
16657 term_variables(term(H, I), J),
16658 'chr none_locked'(J),
16659 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16660 K),
16661 L=[A|K],
16662 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16663 L),
16664 ( K=[M|_]
16665 -> setarg(5, M, L)
16666 ; true
16667 )
16668 ),
16669 'attach_known/1_1_$special_==/2___2'(J, A)
16670 ; true
16671 ),
16672 'known/1_1_$special_=:=/2'(B, C),
16673 ( A=suspension(_, active, _, F, _, _, _)
16674 -> setarg(2, A, inactive),
16675 'known/1_1_$special_==/2___2__1'(B, C, A)
16676 ; true
16677 )
16678 ; 'known/1_1_$special_==/2___2__1'(B, C, A)
16679 ).
16680'known/1_1_$special_==/2___2__1'(L, B, A) :-
16681 '$novel_production'(A, 137),
16682 number(B), !,
16683 '$extend_history'(A, 137),
16684 arg(2, A, E),
16685 setarg(2, A, active),
16686 arg(4, A, C),
16687 D is C+1,
16688 setarg(4, A, D),
16689 ( E==not_stored_yet
16690 -> A=suspension(_, _, _, _, _, F, G),
16691 term_variables(term(F, G), H),
16692 'chr none_locked'(H),
16693 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16694 I),
16695 J=[A|I],
16696 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16697 J),
16698 ( I=[K|_]
16699 -> setarg(5, K, J)
16700 ; true
16701 )
16702 ),
16703 'attach_known/1_1_$special_==/2___2'(H, A)
16704 ; true
16705 ),
16706 'known/1_1_$special_=:=/2'(L, B),
16707 ( A=suspension(_, active, _, D, _, _, _)
16708 -> setarg(2, A, inactive),
16709 'known/1_1_$special_==/2___2__2'(L, B, A)
16710 ; true
16711 ).
16712'known/1_1_$special_==/2___2__1'(A, B, C) :-
16713 'known/1_1_$special_==/2___2__2'(A, B, C).
16714'known/1_1_$special_==/2___2__2'(_, _, C) :-
16715 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
16716 A),
16717 member(B, A),
16718 B=suspension(_, active, _), !,
16719 ( var(C)
16720 -> true
16721 ; C=suspension(_, D, _, _, _, E, F),
16722 setarg(2, C, removed),
16723 ( D==not_stored_yet
16724 -> G=[]
16725 ; term_variables(term(E, F), G),
16726 ( arg(5, C, H),
16727 ( var(H)
16728 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16729 I),
16730 I=[_|J],
16731 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16732 J),
16733 ( J=[K|_]
16734 -> setarg(5, K, _)
16735 ; true
16736 )
16737 ; H=[_, _|J],
16738 setarg(2, H, J),
16739 ( J=[K|_]
16740 -> setarg(5, K, H)
16741 ; true
16742 )
16743 )
16744 ),
16745 'detach_known/1_1_$special_==/2___2'(G, C)
16746 )
16747 ).
16748'known/1_1_$special_==/2___2__2'(B, A, C) :-
16749 A==B, !,
16750 ( var(C)
16751 -> true
16752 ; C=suspension(_, D, _, _, _, E, F),
16753 setarg(2, C, removed),
16754 ( D==not_stored_yet
16755 -> G=[]
16756 ; term_variables(term(E, F), G),
16757 ( arg(5, C, H),
16758 ( var(H)
16759 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16760 I),
16761 I=[_|J],
16762 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16763 J),
16764 ( J=[K|_]
16765 -> setarg(5, K, _)
16766 ; true
16767 )
16768 ; H=[_, _|J],
16769 setarg(2, H, J),
16770 ( J=[K|_]
16771 -> setarg(5, K, H)
16772 ; true
16773 )
16774 )
16775 ),
16776 'detach_known/1_1_$special_==/2___2'(G, C)
16777 )
16778 ).
16779'known/1_1_$special_==/2___2__2'(A, B, P) :-
16780 ( 'chr newvia_2'(A, B, C)
16781 -> get_attr(C, guard_entailment, D),
16782 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
16783 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
16784 E)
16785 ),
16786 member(F, E),
16787 F=suspension(_, active, _, _, G),
16788 nonvar(G),
16789 G=(H==I),
16790 H==A,
16791 I==B, !,
16792 F=suspension(_, _, _, _, J),
16793 setarg(2, F, removed),
16794 term_variables(J, O),
16795 arg(4, F, K),
16796 ( var(K)
16797 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
16798 L),
16799 L=[_|M],
16800 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
16801 M),
16802 ( M=[N|_]
16803 -> setarg(4, N, _)
16804 ; true
16805 )
16806 ; K=[_, _|M],
16807 setarg(2, K, M),
16808 ( M=[N|_]
16809 -> setarg(4, N, K)
16810 ; true
16811 )
16812 ),
16813 'detach_known/1_1_$special_\\+/1___1'(O, F),
16814 ( var(P)
16815 -> true
16816 ; P=suspension(_, Q, _, _, _, R, S),
16817 setarg(2, P, removed),
16818 ( Q==not_stored_yet
16819 -> T=[]
16820 ; term_variables(term(R, S), T),
16821 ( arg(5, P, U),
16822 ( var(U)
16823 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16824 V),
16825 V=[_|W],
16826 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16827 W),
16828 ( W=[X|_]
16829 -> setarg(5, X, _)
16830 ; true
16831 )
16832 ; U=[_, _|W],
16833 setarg(2, U, W),
16834 ( W=[X|_]
16835 -> setarg(5, X, U)
16836 ; true
16837 )
16838 )
16839 ),
16840 'detach_known/1_1_$special_==/2___2'(T, P)
16841 )
16842 ),
16843 'known/1_1_$special_fail/0'.
16844'known/1_1_$special_==/2___2__2'(A, B, P) :-
16845 ( 'chr newvia_2'(A, B, C)
16846 -> get_attr(C, guard_entailment, D),
16847 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _)
16848 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16849 E)
16850 ),
16851 member(F, E),
16852 F=suspension(_, active, _, _, _, G, H),
16853 G==A,
16854 H==B, !,
16855 F=suspension(_, _, _, _, _, I, J),
16856 setarg(2, F, removed),
16857 term_variables(term(I, J), O),
16858 arg(5, F, K),
16859 ( var(K)
16860 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16861 L),
16862 L=[_|M],
16863 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16864 M),
16865 ( M=[N|_]
16866 -> setarg(5, N, _)
16867 ; true
16868 )
16869 ; K=[_, _|M],
16870 setarg(2, K, M),
16871 ( M=[N|_]
16872 -> setarg(5, N, K)
16873 ; true
16874 )
16875 ),
16876 'detach_known/1_1_$special_\\==/2___2'(O, F),
16877 ( var(P)
16878 -> true
16879 ; P=suspension(_, Q, _, _, _, R, S),
16880 setarg(2, P, removed),
16881 ( Q==not_stored_yet
16882 -> T=[]
16883 ; term_variables(term(R, S), T),
16884 ( arg(5, P, U),
16885 ( var(U)
16886 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16887 V),
16888 V=[_|W],
16889 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16890 W),
16891 ( W=[X|_]
16892 -> setarg(5, X, _)
16893 ; true
16894 )
16895 ; U=[_, _|W],
16896 setarg(2, U, W),
16897 ( W=[X|_]
16898 -> setarg(5, X, U)
16899 ; true
16900 )
16901 )
16902 ),
16903 'detach_known/1_1_$special_==/2___2'(T, P)
16904 )
16905 ),
16906 'known/1_1_$special_fail/0'.
16907'known/1_1_$special_==/2___2__2'(E, A, F) :-
16908 ( 'chr newvia_1'(A, B)
16909 -> get_attr(B, guard_entailment, C),
16910 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _)
16911 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16912 D)
16913 ), !,
16914 'known/1_1_$special_==/2___2__2__0__10'(D, E, A, F).
16915'known/1_1_$special_==/2___2__2__0__10'([], A, B, C) :-
16916 'known/1_1_$special_==/2___2__3'(A, B, C).
16917'known/1_1_$special_==/2___2__2__0__10'([A|Q], O, C, D) :-
16918 ( A=suspension(_, active, _, _, _, B, P),
16919 B==C,
16920 E=t(228, D, A),
16921 '$novel_production'(D, E),
16922 '$novel_production'(A, E)
16923 -> '$extend_history'(D, E),
16924 ( arg(2, D, H),
16925 setarg(2, D, active),
16926 ( arg(4, D, F),
16927 G is F+1,
16928 setarg(4, D, G)
16929 ),
16930 ( H==not_stored_yet
16931 -> D=suspension(_, _, _, _, _, I, J),
16932 term_variables(term(I, J), K),
16933 'chr none_locked'(K),
16934 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16935 L),
16936 M=[D|L],
16937 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16938 M),
16939 ( L=[N|_]
16940 -> setarg(5, N, M)
16941 ; true
16942 )
16943 ),
16944 'attach_known/1_1_$special_==/2___2'(K, D)
16945 ; true
16946 )
16947 ),
16948 'known/1_1_$special_==/2'(O, P),
16949 ( D=suspension(_, active, _, G, _, _, _)
16950 -> setarg(2, D, inactive),
16951 'known/1_1_$special_==/2___2__2__0__10'(Q,
16952 O,
16953 C,
16954 D)
16955 ; true
16956 )
16957 ; 'known/1_1_$special_==/2___2__2__0__10'(Q,
16958 O,
16959 C,
16960 D)
16961 ).
16962'known/1_1_$special_==/2___2__2'(A, B, C) :-
16963 'known/1_1_$special_==/2___2__3'(A, B, C).
16964'known/1_1_$special_==/2___2__3'(A, E, F) :-
16965 ( 'chr newvia_1'(A, B)
16966 -> get_attr(B, guard_entailment, C),
16967 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _)
16968 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16969 D)
16970 ), !,
16971 'known/1_1_$special_==/2___2__3__0__11'(D, A, E, F).
16972'known/1_1_$special_==/2___2__3__0__11'([], A, B, C) :-
16973 'known/1_1_$special_==/2___2__4'(A, B, C).
16974'known/1_1_$special_==/2___2__3__0__11'([A|Q], C, P, D) :-
16975 ( A=suspension(_, active, _, _, _, O, B),
16976 B==C,
16977 E=t(228, A, D),
16978 '$novel_production'(A, E),
16979 '$novel_production'(D, E)
16980 -> '$extend_history'(D, E),
16981 ( arg(2, D, H),
16982 setarg(2, D, active),
16983 ( arg(4, D, F),
16984 G is F+1,
16985 setarg(4, D, G)
16986 ),
16987 ( H==not_stored_yet
16988 -> D=suspension(_, _, _, _, _, I, J),
16989 term_variables(term(I, J), K),
16990 'chr none_locked'(K),
16991 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16992 L),
16993 M=[D|L],
16994 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16995 M),
16996 ( L=[N|_]
16997 -> setarg(5, N, M)
16998 ; true
16999 )
17000 ),
17001 'attach_known/1_1_$special_==/2___2'(K, D)
17002 ; true
17003 )
17004 ),
17005 'known/1_1_$special_==/2'(O, P),
17006 ( D=suspension(_, active, _, G, _, _, _)
17007 -> setarg(2, D, inactive),
17008 'known/1_1_$special_==/2___2__3__0__11'(Q,
17009 C,
17010 P,
17011 D)
17012 ; true
17013 )
17014 ; 'known/1_1_$special_==/2___2__3__0__11'(Q,
17015 C,
17016 P,
17017 D)
17018 ).
17019'known/1_1_$special_==/2___2__3'(A, B, C) :-
17020 'known/1_1_$special_==/2___2__4'(A, B, C).
17021'known/1_1_$special_==/2___2__4'(E, A, F) :-
17022 ( 'chr newvia_1'(A, B)
17023 -> get_attr(B, guard_entailment, C),
17024 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _)
17025 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
17026 D)
17027 ), !,
17028 'known/1_1_$special_==/2___2__4__0__12'(D, E, A, F).
17029'known/1_1_$special_==/2___2__4__0__12'([], A, B, C) :-
17030 'known/1_1_$special_==/2___2__5'(A, B, C).
17031'known/1_1_$special_==/2___2__4__0__12'([A|Q], O, C, D) :-
17032 ( A=suspension(_, active, _, _, _, B, P),
17033 B==C,
17034 E=t(229, D, A),
17035 '$novel_production'(D, E),
17036 '$novel_production'(A, E)
17037 -> '$extend_history'(D, E),
17038 ( arg(2, D, H),
17039 setarg(2, D, active),
17040 ( arg(4, D, F),
17041 G is F+1,
17042 setarg(4, D, G)
17043 ),
17044 ( H==not_stored_yet
17045 -> D=suspension(_, _, _, _, _, I, J),
17046 term_variables(term(I, J), K),
17047 'chr none_locked'(K),
17048 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17049 L),
17050 M=[D|L],
17051 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17052 M),
17053 ( L=[N|_]
17054 -> setarg(5, N, M)
17055 ; true
17056 )
17057 ),
17058 'attach_known/1_1_$special_==/2___2'(K, D)
17059 ; true
17060 )
17061 ),
17062 'known/1_1_$special_\\==/2'(O, P),
17063 ( D=suspension(_, active, _, G, _, _, _)
17064 -> setarg(2, D, inactive),
17065 'known/1_1_$special_==/2___2__4__0__12'(Q,
17066 O,
17067 C,
17068 D)
17069 ; true
17070 )
17071 ; 'known/1_1_$special_==/2___2__4__0__12'(Q,
17072 O,
17073 C,
17074 D)
17075 ).
17076'known/1_1_$special_==/2___2__4'(A, B, C) :-
17077 'known/1_1_$special_==/2___2__5'(A, B, C).
17078'known/1_1_$special_==/2___2__5'(L, K, A) :-
17079 '$novel_production'(A, 230), !,
17080 '$extend_history'(A, 230),
17081 arg(2, A, D),
17082 setarg(2, A, active),
17083 arg(4, A, B),
17084 C is B+1,
17085 setarg(4, A, C),
17086 ( D==not_stored_yet
17087 -> A=suspension(_, _, _, _, _, E, F),
17088 term_variables(term(E, F), G),
17089 'chr none_locked'(G),
17090 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17091 H),
17092 I=[A|H],
17093 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17094 I),
17095 ( H=[J|_]
17096 -> setarg(5, J, I)
17097 ; true
17098 )
17099 ),
17100 'attach_known/1_1_$special_==/2___2'(G, A)
17101 ; true
17102 ),
17103 'known/1_1_$special_==/2'(K, L),
17104 ( A=suspension(_, active, _, C, _, _, _)
17105 -> setarg(2, A, inactive),
17106 'known/1_1_$special_==/2___2__6'(L, K, A)
17107 ; true
17108 ).
17109'known/1_1_$special_==/2___2__5'(A, B, C) :-
17110 'known/1_1_$special_==/2___2__6'(A, B, C).
17111'known/1_1_$special_==/2___2__6'(K, L, A) :-
17112 '$novel_production'(A, 234), !,
17113 '$extend_history'(A, 234),
17114 arg(2, A, D),
17115 setarg(2, A, active),
17116 arg(4, A, B),
17117 C is B+1,
17118 setarg(4, A, C),
17119 ( D==not_stored_yet
17120 -> A=suspension(_, _, _, _, _, E, F),
17121 term_variables(term(E, F), G),
17122 'chr none_locked'(G),
17123 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17124 H),
17125 I=[A|H],
17126 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17127 I),
17128 ( H=[J|_]
17129 -> setarg(5, J, I)
17130 ; true
17131 )
17132 ),
17133 'attach_known/1_1_$special_==/2___2'(G, A)
17134 ; true
17135 ),
17136 'known/1_1_$special_=/2'(K, L),
17137 ( A=suspension(_, active, _, C, _, _, _)
17138 -> setarg(2, A, inactive),
17139 'known/1_1_$special_==/2___2__7'(K, L, A)
17140 ; true
17141 ).
17142'known/1_1_$special_==/2___2__6'(A, B, C) :-
17143 'known/1_1_$special_==/2___2__7'(A, B, C).
17144'known/1_1_$special_==/2___2__7'(A, B, F) :-
17145 ( 'chr newvia_2'(A, B, C)
17146 -> get_attr(C, guard_entailment, D),
17147 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
17148 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
17149 E)
17150 ), !,
17151 'known/1_1_$special_==/2___2__7__0__15'(E, A, B, F).
17152'known/1_1_$special_==/2___2__7__0__15'([], A, B, C) :-
17153 'known/1_1_$special_==/2___2__8'(A, B, C).
17154'known/1_1_$special_==/2___2__7__0__15'([A|Z], E, G, O) :-
17155 ( A=suspension(_, active, _, _, B, Y),
17156 nonvar(B),
17157 B=(\+C),
17158 nonvar(C),
17159 C=(D==F),
17160 D==E,
17161 F==G
17162 -> ( A=suspension(_, _, _, _, H, I),
17163 setarg(2, A, removed),
17164 term_variables(term(H, I), N),
17165 ( arg(4, A, J),
17166 ( var(J)
17167 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
17168 K),
17169 K=[_|L],
17170 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
17171 L),
17172 ( L=[M|_]
17173 -> setarg(4, M, _)
17174 ; true
17175 )
17176 ; J=[_, _|L],
17177 setarg(2, J, L),
17178 ( L=[M|_]
17179 -> setarg(4, M, J)
17180 ; true
17181 )
17182 )
17183 ),
17184 'detach_known/1_1_$special_;/2___2'(N, A)
17185 ),
17186 ( arg(2, O, R),
17187 setarg(2, O, active),
17188 ( arg(4, O, P),
17189 Q is P+1,
17190 setarg(4, O, Q)
17191 ),
17192 ( R==not_stored_yet
17193 -> O=suspension(_, _, _, _, _, S, T),
17194 term_variables(term(S, T), U),
17195 'chr none_locked'(U),
17196 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17197 V),
17198 W=[O|V],
17199 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17200 W),
17201 ( V=[X|_]
17202 -> setarg(5, X, W)
17203 ; true
17204 )
17205 ),
17206 'attach_known/1_1_$special_==/2___2'(U, O)
17207 ; true
17208 )
17209 ),
17210 known(Y),
17211 ( O=suspension(_, active, _, Q, _, _, _)
17212 -> setarg(2, O, inactive),
17213 'known/1_1_$special_==/2___2__7__0__15'(Z,
17214 E,
17215 G,
17216 O)
17217 ; true
17218 )
17219 ; 'known/1_1_$special_==/2___2__7__0__15'(Z,
17220 E,
17221 G,
17222 O)
17223 ).
17224'known/1_1_$special_==/2___2__7'(A, B, C) :-
17225 'known/1_1_$special_==/2___2__8'(A, B, C).
17226'known/1_1_$special_==/2___2__8'(A, B, F) :-
17227 ( 'chr newvia_2'(A, B, C)
17228 -> get_attr(C, guard_entailment, D),
17229 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
17230 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
17231 E)
17232 ), !,
17233 'known/1_1_$special_==/2___2__8__0__16'(E, A, B, F).
17234'known/1_1_$special_==/2___2__8__0__16'([], A, B, C) :-
17235 'known/1_1_$special_==/2___2__9'(A, B, C).
17236'known/1_1_$special_==/2___2__8__0__16'([A|A1], F, H, P) :-
17237 ( A=suspension(_, active, _, _, B, Z),
17238 nonvar(B),
17239 B=(C, _),
17240 nonvar(C),
17241 C=(\+D),
17242 nonvar(D),
17243 D=(E==G),
17244 E==F,
17245 G==H
17246 -> ( A=suspension(_, _, _, _, I, J),
17247 setarg(2, A, removed),
17248 term_variables(term(I, J), O),
17249 ( arg(4, A, K),
17250 ( var(K)
17251 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
17252 L),
17253 L=[_|M],
17254 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
17255 M),
17256 ( M=[N|_]
17257 -> setarg(4, N, _)
17258 ; true
17259 )
17260 ; K=[_, _|M],
17261 setarg(2, K, M),
17262 ( M=[N|_]
17263 -> setarg(4, N, K)
17264 ; true
17265 )
17266 )
17267 ),
17268 'detach_known/1_1_$special_;/2___2'(O, A)
17269 ),
17270 ( arg(2, P, S),
17271 setarg(2, P, active),
17272 ( arg(4, P, Q),
17273 R is Q+1,
17274 setarg(4, P, R)
17275 ),
17276 ( S==not_stored_yet
17277 -> P=suspension(_, _, _, _, _, T, U),
17278 term_variables(term(T, U), V),
17279 'chr none_locked'(V),
17280 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17281 W),
17282 X=[P|W],
17283 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17284 X),
17285 ( W=[Y|_]
17286 -> setarg(5, Y, X)
17287 ; true
17288 )
17289 ),
17290 'attach_known/1_1_$special_==/2___2'(V, P)
17291 ; true
17292 )
17293 ),
17294 known(Z),
17295 ( P=suspension(_, active, _, R, _, _, _)
17296 -> setarg(2, P, inactive),
17297 'known/1_1_$special_==/2___2__8__0__16'(A1,
17298 F,
17299 H,
17300 P)
17301 ; true
17302 )
17303 ; 'known/1_1_$special_==/2___2__8__0__16'(A1,
17304 F,
17305 H,
17306 P)
17307 ).
17308'known/1_1_$special_==/2___2__8'(A, B, C) :-
17309 'known/1_1_$special_==/2___2__9'(A, B, C).
17310'known/1_1_$special_==/2___2__9'(_, _, A) :-
17311 arg(2, A, D),
17312 setarg(2, A, active),
17313 arg(4, A, B),
17314 C is B+1,
17315 setarg(4, A, C),
17316 ( D==not_stored_yet
17317 -> A=suspension(_, _, _, _, _, E, F),
17318 term_variables(term(E, F), G),
17319 'chr none_locked'(G),
17320 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17321 H),
17322 I=[A|H],
17323 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17324 I),
17325 ( H=[J|_]
17326 -> setarg(5, J, I)
17327 ; true
17328 )
17329 ),
17330 'attach_known/1_1_$special_==/2___2'(G, A)
17331 ; true
17332 ).
17333'known/1_1_$special_is/2'(A, B) :-
17334 'known/1_1_$special_=:=/2'(A, B).
17335'known/1_1_$special_</2'(A, B) :-
17336 'known/1_1_$special_=</2'(A, B),
17337 'known/1_1_$special_=\\=/2'(A, B).
17338'known/1_1_$special_>=/2'(B, A) :-
17339 'known/1_1_$special_=</2'(A, B).
17340'known/1_1_$special_>/2'(B, A) :-
17341 'known/1_1_$special_</2'(A, B).
17342'known/1_1_$special_=</2'(A, B) :-
17343 'known/1_1_$special_=</2___2__0'(A, B, _).
17344'known/1_1_$special_=</2___2__0'(A, B, I) :-
17345 ( 'chr newvia_2'(A, B, C)
17346 -> get_attr(C, guard_entailment, D),
17347 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _)
17348 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17349 E)
17350 ),
17351 member(F, E),
17352 F=suspension(_, active, _, _, _, G, H),
17353 G==A,
17354 H==B, !,
17355 ( var(I)
17356 -> true
17357 ; I=suspension(_, J, _, _, _, K, L),
17358 setarg(2, I, removed),
17359 ( J==not_stored_yet
17360 -> M=[]
17361 ; term_variables(term(K, L), M),
17362 ( arg(5, I, N),
17363 ( var(N)
17364 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17365 O),
17366 O=[_|P],
17367 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17368 P),
17369 ( P=[Q|_]
17370 -> setarg(5, Q, _)
17371 ; true
17372 )
17373 ; N=[_, _|P],
17374 setarg(2, N, P),
17375 ( P=[Q|_]
17376 -> setarg(5, Q, N)
17377 ; true
17378 )
17379 )
17380 ),
17381 'detach_known/1_1_$special_=</2___2'(M, I)
17382 )
17383 ).
17384'known/1_1_$special_=</2___2__0'(_, _, C) :-
17385 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
17386 A),
17387 member(B, A),
17388 B=suspension(_, active, _), !,
17389 ( var(C)
17390 -> true
17391 ; C=suspension(_, D, _, _, _, E, F),
17392 setarg(2, C, removed),
17393 ( D==not_stored_yet
17394 -> G=[]
17395 ; term_variables(term(E, F), G),
17396 ( arg(5, C, H),
17397 ( var(H)
17398 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17399 I),
17400 I=[_|J],
17401 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17402 J),
17403 ( J=[K|_]
17404 -> setarg(5, K, _)
17405 ; true
17406 )
17407 ; H=[_, _|J],
17408 setarg(2, H, J),
17409 ( J=[K|_]
17410 -> setarg(5, K, H)
17411 ; true
17412 )
17413 )
17414 ),
17415 'detach_known/1_1_$special_=</2___2'(G, C)
17416 )
17417 ).
17418'known/1_1_$special_=</2___2__0'(B, A, C) :-
17419 A==B, !,
17420 ( var(C)
17421 -> true
17422 ; C=suspension(_, D, _, _, _, E, F),
17423 setarg(2, C, removed),
17424 ( D==not_stored_yet
17425 -> G=[]
17426 ; term_variables(term(E, F), G),
17427 ( arg(5, C, H),
17428 ( var(H)
17429 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17430 I),
17431 I=[_|J],
17432 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17433 J),
17434 ( J=[K|_]
17435 -> setarg(5, K, _)
17436 ; true
17437 )
17438 ; H=[_, _|J],
17439 setarg(2, H, J),
17440 ( J=[K|_]
17441 -> setarg(5, K, H)
17442 ; true
17443 )
17444 )
17445 ),
17446 'detach_known/1_1_$special_=</2___2'(G, C)
17447 )
17448 ).
17449'known/1_1_$special_=</2___2__0'(B, A, C) :-
17450 number(A),
17451 ( number(B),
17452 B>A, !,
17453 ( var(C)
17454 -> true
17455 ; C=suspension(_, D, _, _, _, E, F),
17456 setarg(2, C, removed),
17457 ( D==not_stored_yet
17458 -> G=[]
17459 ; term_variables(term(E, F), G),
17460 ( arg(5, C, H),
17461 ( var(H)
17462 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17463 I),
17464 I=[_|J],
17465 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17466 J),
17467 ( J=[K|_]
17468 -> setarg(5, K, _)
17469 ; true
17470 )
17471 ; H=[_, _|J],
17472 setarg(2, H, J),
17473 ( J=[K|_]
17474 -> setarg(5, K, H)
17475 ; true
17476 )
17477 )
17478 ),
17479 'detach_known/1_1_$special_=</2___2'(G, C)
17480 )
17481 ),
17482 'known/1_1_$special_fail/0'
17483 ; ( 'chr newvia_1'(B, L)
17484 -> get_attr(L, guard_entailment, M),
17485 M=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, N, _)
17486 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17487 N)
17488 ),
17489 member(O, N),
17490 O=suspension(_, active, _, _, _, P, Q),
17491 P==B,
17492 number(Q),
17493 Q=<A, !,
17494 ( var(C)
17495 -> true
17496 ; C=suspension(_, R, _, _, _, S, T),
17497 setarg(2, C, removed),
17498 ( R==not_stored_yet
17499 -> U=[]
17500 ; term_variables(term(S, T), U),
17501 ( arg(5, C, V),
17502 ( var(V)
17503 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17504 W),
17505 W=[_|X],
17506 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17507 X),
17508 ( X=[Y|_]
17509 -> setarg(5, Y, _)
17510 ; true
17511 )
17512 ; V=[_, _|X],
17513 setarg(2, V, X),
17514 ( X=[Y|_]
17515 -> setarg(5, Y, V)
17516 ; true
17517 )
17518 )
17519 ),
17520 'detach_known/1_1_$special_=</2___2'(U, C)
17521 )
17522 )
17523 ).
17524'known/1_1_$special_=</2___2__0'(A, E, F) :-
17525 ( 'chr newvia_1'(A, B)
17526 -> get_attr(B, guard_entailment, C),
17527 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _)
17528 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17529 D)
17530 ), !,
17531 'known/1_1_$special_=</2___2__0__0__12'(D, A, E, F).
17532'known/1_1_$special_=</2___2__0__0__12'([], A, B, C) :-
17533 'known/1_1_$special_=</2___2__1'(A, B, C).
17534'known/1_1_$special_=</2___2__0__0__12'([A|M], C, E, N) :-
17535 ( ( A=suspension(_, active, _, _, _, B, D),
17536 B==C
17537 ),
17538 number(D),
17539 number(E),
17540 E=<D
17541 -> ( A=suspension(_, _, _, _, _, F, G),
17542 setarg(2, A, removed),
17543 term_variables(term(F, G), L),
17544 ( arg(5, A, H),
17545 ( var(H)
17546 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17547 I),
17548 I=[_|J],
17549 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17550 J),
17551 ( J=[K|_]
17552 -> setarg(5, K, _)
17553 ; true
17554 )
17555 ; H=[_, _|J],
17556 setarg(2, H, J),
17557 ( J=[K|_]
17558 -> setarg(5, K, H)
17559 ; true
17560 )
17561 )
17562 ),
17563 'detach_known/1_1_$special_=</2___2'(L, A)
17564 ),
17565 'known/1_1_$special_=</2___2__0__0__12'(M,
17566 C,
17567 E,
17568 N)
17569 ; 'known/1_1_$special_=</2___2__0__0__12'(M,
17570 C,
17571 E,
17572 N)
17573 ).
17574'known/1_1_$special_=</2___2__0'(A, B, C) :-
17575 'known/1_1_$special_=</2___2__1'(A, B, C).
17576'known/1_1_$special_=</2___2__1'(A, B, I) :-
17577 number(A),
17578 ( 'chr newvia_1'(B, C)
17579 -> get_attr(C, guard_entailment, D),
17580 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _)
17581 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17582 E)
17583 ),
17584 member(F, E),
17585 F=suspension(_, active, _, _, _, H, G),
17586 G==B,
17587 number(H),
17588 A=<H, !,
17589 ( var(I)
17590 -> true
17591 ; I=suspension(_, J, _, _, _, K, L),
17592 setarg(2, I, removed),
17593 ( J==not_stored_yet
17594 -> M=[]
17595 ; term_variables(term(K, L), M),
17596 ( arg(5, I, N),
17597 ( var(N)
17598 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17599 O),
17600 O=[_|P],
17601 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17602 P),
17603 ( P=[Q|_]
17604 -> setarg(5, Q, _)
17605 ; true
17606 )
17607 ; N=[_, _|P],
17608 setarg(2, N, P),
17609 ( P=[Q|_]
17610 -> setarg(5, Q, N)
17611 ; true
17612 )
17613 )
17614 ),
17615 'detach_known/1_1_$special_=</2___2'(M, I)
17616 )
17617 ).
17618'known/1_1_$special_=</2___2__1'(E, A, F) :-
17619 ( 'chr newvia_1'(A, B)
17620 -> get_attr(B, guard_entailment, C),
17621 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _)
17622 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17623 D)
17624 ), !,
17625 'known/1_1_$special_=</2___2__1__0__14'(D, E, A, F).
17626'known/1_1_$special_=</2___2__1__0__14'([], A, B, C) :-
17627 'known/1_1_$special_=</2___2__2'(A, B, C).
17628'known/1_1_$special_=</2___2__1__0__14'([A|M], D, C, N) :-
17629 ( ( A=suspension(_, active, _, _, _, E, B),
17630 B==C
17631 ),
17632 number(D),
17633 number(E),
17634 E=<D
17635 -> ( A=suspension(_, _, _, _, _, F, G),
17636 setarg(2, A, removed),
17637 term_variables(term(F, G), L),
17638 ( arg(5, A, H),
17639 ( var(H)
17640 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17641 I),
17642 I=[_|J],
17643 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17644 J),
17645 ( J=[K|_]
17646 -> setarg(5, K, _)
17647 ; true
17648 )
17649 ; H=[_, _|J],
17650 setarg(2, H, J),
17651 ( J=[K|_]
17652 -> setarg(5, K, H)
17653 ; true
17654 )
17655 )
17656 ),
17657 'detach_known/1_1_$special_=</2___2'(L, A)
17658 ),
17659 'known/1_1_$special_=</2___2__1__0__14'(M,
17660 D,
17661 C,
17662 N)
17663 ; 'known/1_1_$special_=</2___2__1__0__14'(M,
17664 D,
17665 C,
17666 N)
17667 ).
17668'known/1_1_$special_=</2___2__1'(A, B, C) :-
17669 'known/1_1_$special_=</2___2__2'(A, B, C).
17670'known/1_1_$special_=</2___2__2'(B, A, P) :-
17671 ( 'chr newvia_2'(A, B, C)
17672 -> get_attr(C, guard_entailment, D),
17673 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _)
17674 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17675 E)
17676 ),
17677 member(F, E),
17678 F=suspension(_, active, _, _, _, G, H),
17679 G==A,
17680 H==B, !,
17681 F=suspension(_, _, _, _, _, I, J),
17682 setarg(2, F, removed),
17683 term_variables(term(I, J), O),
17684 arg(5, F, K),
17685 ( var(K)
17686 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17687 L),
17688 L=[_|M],
17689 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17690 M),
17691 ( M=[N|_]
17692 -> setarg(5, N, _)
17693 ; true
17694 )
17695 ; K=[_, _|M],
17696 setarg(2, K, M),
17697 ( M=[N|_]
17698 -> setarg(5, N, K)
17699 ; true
17700 )
17701 ),
17702 'detach_known/1_1_$special_=</2___2'(O, F),
17703 ( var(P)
17704 -> true
17705 ; P=suspension(_, Q, _, _, _, R, S),
17706 setarg(2, P, removed),
17707 ( Q==not_stored_yet
17708 -> T=[]
17709 ; term_variables(term(R, S), T),
17710 ( arg(5, P, U),
17711 ( var(U)
17712 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17713 V),
17714 V=[_|W],
17715 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17716 W),
17717 ( W=[X|_]
17718 -> setarg(5, X, _)
17719 ; true
17720 )
17721 ; U=[_, _|W],
17722 setarg(2, U, W),
17723 ( W=[X|_]
17724 -> setarg(5, X, U)
17725 ; true
17726 )
17727 )
17728 ),
17729 'detach_known/1_1_$special_=</2___2'(T, P)
17730 )
17731 ),
17732 'known/1_1_$special_=:=/2'(B, A).
17733'known/1_1_$special_=</2___2__2'(F, A, E) :-
17734 ( 'chr newvia_1'(A, B)
17735 -> get_attr(B, guard_entailment, C),
17736 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _)
17737 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17738 D)
17739 ), !,
17740 ( var(E)
17741 -> E=suspension(G, not_stored_yet, t, 0, _, F, A),
17742 'chr gen_id'(G)
17743 ; true
17744 ),
17745 'known/1_1_$special_=</2___2__2__0__17'(D, F, A, E).
17746'known/1_1_$special_=</2___2__2__0__17'([], A, B, C) :-
17747 'known/1_1_$special_=</2___2__3'(A, B, C).
17748'known/1_1_$special_=</2___2__2__0__17'([A|Q], O, C, D) :-
17749 ( A=suspension(_, active, _, _, _, B, P),
17750 B==C,
17751 E=t(187, D, A),
17752 '$novel_production'(D, E),
17753 '$novel_production'(A, E)
17754 -> '$extend_history'(D, E),
17755 ( arg(2, D, H),
17756 setarg(2, D, active),
17757 ( arg(4, D, F),
17758 G is F+1,
17759 setarg(4, D, G)
17760 ),
17761 ( H==not_stored_yet
17762 -> D=suspension(_, _, _, _, _, I, J),
17763 term_variables(term(I, J), K),
17764 'chr none_locked'(K),
17765 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17766 L),
17767 M=[D|L],
17768 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17769 M),
17770 ( L=[N|_]
17771 -> setarg(5, N, M)
17772 ; true
17773 )
17774 ),
17775 'attach_known/1_1_$special_=</2___2'(K, D)
17776 ; true
17777 )
17778 ),
17779 'known/1_1_$special_=</2'(O, P),
17780 ( D=suspension(_, active, _, G, _, _, _)
17781 -> setarg(2, D, inactive),
17782 'known/1_1_$special_=</2___2__2__0__17'(Q,
17783 O,
17784 C,
17785 D)
17786 ; true
17787 )
17788 ; 'known/1_1_$special_=</2___2__2__0__17'(Q,
17789 O,
17790 C,
17791 D)
17792 ).
17793'known/1_1_$special_=</2___2__2'(B, C, A) :-
17794 ( var(A)
17795 -> A=suspension(D, not_stored_yet, t, 0, _, B, C),
17796 'chr gen_id'(D)
17797 ; true
17798 ),
17799 'known/1_1_$special_=</2___2__3'(B, C, A).
17800'known/1_1_$special_=</2___2__3'(A, E, F) :-
17801 ( 'chr newvia_1'(A, B)
17802 -> get_attr(B, guard_entailment, C),
17803 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _)
17804 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17805 D)
17806 ), !,
17807 'known/1_1_$special_=</2___2__3__0__18'(D, A, E, F).
17808'known/1_1_$special_=</2___2__3__0__18'([], A, B, C) :-
17809 'known/1_1_$special_=</2___2__4'(A, B, C).
17810'known/1_1_$special_=</2___2__3__0__18'([A|Q], C, P, D) :-
17811 ( A=suspension(_, active, _, _, _, O, B),
17812 B==C,
17813 E=t(187, A, D),
17814 '$novel_production'(A, E),
17815 '$novel_production'(D, E)
17816 -> '$extend_history'(D, E),
17817 ( arg(2, D, H),
17818 setarg(2, D, active),
17819 ( arg(4, D, F),
17820 G is F+1,
17821 setarg(4, D, G)
17822 ),
17823 ( H==not_stored_yet
17824 -> D=suspension(_, _, _, _, _, I, J),
17825 term_variables(term(I, J), K),
17826 'chr none_locked'(K),
17827 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17828 L),
17829 M=[D|L],
17830 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17831 M),
17832 ( L=[N|_]
17833 -> setarg(5, N, M)
17834 ; true
17835 )
17836 ),
17837 'attach_known/1_1_$special_=</2___2'(K, D)
17838 ; true
17839 )
17840 ),
17841 'known/1_1_$special_=</2'(O, P),
17842 ( D=suspension(_, active, _, G, _, _, _)
17843 -> setarg(2, D, inactive),
17844 'known/1_1_$special_=</2___2__3__0__18'(Q,
17845 C,
17846 P,
17847 D)
17848 ; true
17849 )
17850 ; 'known/1_1_$special_=</2___2__3__0__18'(Q,
17851 C,
17852 P,
17853 D)
17854 ).
17855'known/1_1_$special_=</2___2__3'(A, B, C) :-
17856 'known/1_1_$special_=</2___2__4'(A, B, C).
17857'known/1_1_$special_=</2___2__4'(E, A, F) :-
17858 ( 'chr newvia_1'(A, B)
17859 -> get_attr(B, guard_entailment, C),
17860 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _)
17861 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
17862 D)
17863 ), !,
17864 'known/1_1_$special_=</2___2__4__0__19'(D, E, A, F).
17865'known/1_1_$special_=</2___2__4__0__19'([], A, B, C) :-
17866 'known/1_1_$special_=</2___2__5'(A, B, C).
17867'known/1_1_$special_=</2___2__4__0__19'([A|H], I, C, J) :-
17868 ( ( A=suspension(_, active, _, _, _, B, D),
17869 B==C
17870 ),
17871 ( 'chr newvia_2'(C, D, E)
17872 -> get_attr(E, guard_entailment, F),
17873 F=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, G, _)
17874 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17875 G)
17876 )
17877 -> 'known/1_1_$special_=</2___2__4__1__19'(G,
17878 D,
17879 A,
17880 H,
17881 I,
17882 C,
17883 J)
17884 ; 'known/1_1_$special_=</2___2__4__0__19'(H,
17885 I,
17886 C,
17887 J)
17888 ).
17889'known/1_1_$special_=</2___2__4__1__19'([], _, _, A, B, C, D) :-
17890 'known/1_1_$special_=</2___2__4__0__19'(A, B, C, D).
17891'known/1_1_$special_=</2___2__4__1__19'([A|J], E, K, L, F, C, M) :-
17892 ( ( A=suspension(_, active, _, _, _, B, D),
17893 B==C,
17894 D==E
17895 ),
17896 ( 'chr newvia_2'(F, C, G)
17897 -> get_attr(G, guard_entailment, H),
17898 H=v(_, _, _, _, _, _, _, _, _, _, _, _, _, I, _, _, _, _, _, _, _, _)
17899 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
17900 I)
17901 )
17902 -> 'known/1_1_$special_=</2___2__4__2__19'(I,
17903 A,
17904 J,
17905 E,
17906 K,
17907 L,
17908 F,
17909 C,
17910 M)
17911 ; 'known/1_1_$special_=</2___2__4__1__19'(J,
17912 E,
17913 K,
17914 L,
17915 F,
17916 C,
17917 M)
17918 ).
17919'known/1_1_$special_=</2___2__4__2__19'([], _, A, B, C, D, E, F, G) :-
17920 'known/1_1_$special_=</2___2__4__1__19'(A,
17921 B,
17922 C,
17923 D,
17924 E,
17925 F,
17926 G).
17927'known/1_1_$special_=</2___2__4__2__19'([A|T], H, U, S, B, V, D, F, G) :-
17928 ( A=suspension(_, active, _, _, _, C, E),
17929 A\==B,
17930 ( C==D,
17931 E==F
17932 ),
17933 I=t(188, G, A, H, B),
17934 '$novel_production'(G, I),
17935 '$novel_production'(A, I),
17936 '$novel_production'(H, I),
17937 '$novel_production'(B, I)
17938 -> '$extend_history'(G, I),
17939 ( arg(2, G, L),
17940 setarg(2, G, active),
17941 ( arg(4, G, J),
17942 K is J+1,
17943 setarg(4, G, K)
17944 ),
17945 ( L==not_stored_yet
17946 -> G=suspension(_, _, _, _, _, M, N),
17947 term_variables(term(M, N), O),
17948 'chr none_locked'(O),
17949 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17950 P),
17951 Q=[G|P],
17952 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17953 Q),
17954 ( P=[R|_]
17955 -> setarg(5, R, Q)
17956 ; true
17957 )
17958 ),
17959 'attach_known/1_1_$special_=</2___2'(O, G)
17960 ; true
17961 )
17962 ),
17963 'known/1_1_$special_=\\=/2'(D, S),
17964 ( G=suspension(_, active, _, K, _, _, _)
17965 -> setarg(2, G, inactive),
17966 'known/1_1_$special_=</2___2__4__2__19'(T,
17967 H,
17968 U,
17969 S,
17970 B,
17971 V,
17972 D,
17973 F,
17974 G)
17975 ; true
17976 )
17977 ; 'known/1_1_$special_=</2___2__4__2__19'(T,
17978 H,
17979 U,
17980 S,
17981 B,
17982 V,
17983 D,
17984 F,
17985 G)
17986 ).
17987'known/1_1_$special_=</2___2__4'(A, B, C) :-
17988 'known/1_1_$special_=</2___2__5'(A, B, C).
17989'known/1_1_$special_=</2___2__5'(A, E, F) :-
17990 ( 'chr newvia_1'(A, B)
17991 -> get_attr(B, guard_entailment, C),
17992 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _)
17993 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17994 D)
17995 ), !,
17996 'known/1_1_$special_=</2___2__5__0__20'(D, A, E, F).
17997'known/1_1_$special_=</2___2__5__0__20'([], A, B, C) :-
17998 'known/1_1_$special_=</2___2__6'(A, B, C).
17999'known/1_1_$special_=</2___2__5__0__20'([A|I], C, D, J) :-
18000 ( ( A=suspension(_, active, _, _, _, H, B),
18001 B==C
18002 ),
18003 ( 'chr newvia_2'(C, D, E)
18004 -> get_attr(E, guard_entailment, F),
18005 F=v(_, _, _, _, _, _, _, _, _, _, _, _, _, G, _, _, _, _, _, _, _, _)
18006 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
18007 G)
18008 )
18009 -> 'known/1_1_$special_=</2___2__5__1__20'(G,
18010 H,
18011 A,
18012 I,
18013 C,
18014 D,
18015 J)
18016 ; 'known/1_1_$special_=</2___2__5__0__20'(I,
18017 C,
18018 D,
18019 J)
18020 ).
18021'known/1_1_$special_=</2___2__5__1__20'([], _, _, A, B, C, D) :-
18022 'known/1_1_$special_=</2___2__5__0__20'(A, B, C, D).
18023'known/1_1_$special_=</2___2__5__1__20'([A|J], F, K, L, C, E, M) :-
18024 ( ( A=suspension(_, active, _, _, _, B, D),
18025 B==C,
18026 D==E
18027 ),
18028 ( 'chr newvia_2'(F, C, G)
18029 -> get_attr(G, guard_entailment, H),
18030 H=v(_, _, _, _, _, _, _, _, _, _, _, _, _, I, _, _, _, _, _, _, _, _)
18031 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
18032 I)
18033 )
18034 -> 'known/1_1_$special_=</2___2__5__2__20'(I,
18035 A,
18036 J,
18037 F,
18038 K,
18039 L,
18040 C,
18041 E,
18042 M)
18043 ; 'known/1_1_$special_=</2___2__5__1__20'(J,
18044 F,
18045 K,
18046 L,
18047 C,
18048 E,
18049 M)
18050 ).
18051'known/1_1_$special_=</2___2__5__2__20'([], _, A, B, C, D, E, F, G) :-
18052 'known/1_1_$special_=</2___2__5__1__20'(A,
18053 B,
18054 C,
18055 D,
18056 E,
18057 F,
18058 G).
18059'known/1_1_$special_=</2___2__5__2__20'([A|T], B, U, D, G, V, F, S, H) :-
18060 ( A=suspension(_, active, _, _, _, C, E),
18061 A\==B,
18062 ( C==D,
18063 E==F
18064 ),
18065 I=t(188, G, A, H, B),
18066 '$novel_production'(G, I),
18067 '$novel_production'(A, I),
18068 '$novel_production'(H, I),
18069 '$novel_production'(B, I)
18070 -> '$extend_history'(H, I),
18071 ( arg(2, H, L),
18072 setarg(2, H, active),
18073 ( arg(4, H, J),
18074 K is J+1,
18075 setarg(4, H, K)
18076 ),
18077 ( L==not_stored_yet
18078 -> H=suspension(_, _, _, _, _, M, N),
18079 term_variables(term(M, N), O),
18080 'chr none_locked'(O),
18081 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18082 P),
18083 Q=[H|P],
18084 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18085 Q),
18086 ( P=[R|_]
18087 -> setarg(5, R, Q)
18088 ; true
18089 )
18090 ),
18091 'attach_known/1_1_$special_=</2___2'(O, H)
18092 ; true
18093 )
18094 ),
18095 'known/1_1_$special_=\\=/2'(D, S),
18096 ( H=suspension(_, active, _, K, _, _, _)
18097 -> setarg(2, H, inactive),
18098 'known/1_1_$special_=</2___2__5__2__20'(T,
18099 B,
18100 U,
18101 D,
18102 G,
18103 V,
18104 F,
18105 S,
18106 H)
18107 ; true
18108 )
18109 ; 'known/1_1_$special_=</2___2__5__2__20'(T,
18110 B,
18111 U,
18112 D,
18113 G,
18114 V,
18115 F,
18116 S,
18117 H)
18118 ).
18119'known/1_1_$special_=</2___2__5'(A, B, C) :-
18120 'known/1_1_$special_=</2___2__6'(A, B, C).
18121'known/1_1_$special_=</2___2__6'(A, B, P) :-
18122 ( 'chr newvia_2'(A, B, C)
18123 -> get_attr(C, guard_entailment, D),
18124 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
18125 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
18126 E)
18127 ),
18128 member(F, E),
18129 F=suspension(_, active, _, _, G),
18130 nonvar(G),
18131 G=(H=<I),
18132 H==A,
18133 I==B, !,
18134 F=suspension(_, _, _, _, J),
18135 setarg(2, F, removed),
18136 term_variables(J, O),
18137 arg(4, F, K),
18138 ( var(K)
18139 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
18140 L),
18141 L=[_|M],
18142 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
18143 M),
18144 ( M=[N|_]
18145 -> setarg(4, N, _)
18146 ; true
18147 )
18148 ; K=[_, _|M],
18149 setarg(2, K, M),
18150 ( M=[N|_]
18151 -> setarg(4, N, K)
18152 ; true
18153 )
18154 ),
18155 'detach_known/1_1_$special_\\+/1___1'(O, F),
18156 ( var(P)
18157 -> true
18158 ; P=suspension(_, Q, _, _, _, R, S),
18159 setarg(2, P, removed),
18160 ( Q==not_stored_yet
18161 -> T=[]
18162 ; term_variables(term(R, S), T),
18163 ( arg(5, P, U),
18164 ( var(U)
18165 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18166 V),
18167 V=[_|W],
18168 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18169 W),
18170 ( W=[X|_]
18171 -> setarg(5, X, _)
18172 ; true
18173 )
18174 ; U=[_, _|W],
18175 setarg(2, U, W),
18176 ( W=[X|_]
18177 -> setarg(5, X, U)
18178 ; true
18179 )
18180 )
18181 ),
18182 'detach_known/1_1_$special_=</2___2'(T, P)
18183 )
18184 ),
18185 'known/1_1_$special_fail/0'.
18186'known/1_1_$special_=</2___2__6'(A, B, F) :-
18187 ( 'chr newvia_2'(A, B, C)
18188 -> get_attr(C, guard_entailment, D),
18189 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
18190 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18191 E)
18192 ), !,
18193 'known/1_1_$special_=</2___2__6__0__22'(E, A, B, F).
18194'known/1_1_$special_=</2___2__6__0__22'([], A, B, C) :-
18195 'known/1_1_$special_=</2___2__7'(A, B, C).
18196'known/1_1_$special_=</2___2__6__0__22'([A|Z], E, G, O) :-
18197 ( A=suspension(_, active, _, _, B, Y),
18198 nonvar(B),
18199 B=(\+C),
18200 nonvar(C),
18201 C=(D=<F),
18202 D==E,
18203 F==G
18204 -> ( A=suspension(_, _, _, _, H, I),
18205 setarg(2, A, removed),
18206 term_variables(term(H, I), N),
18207 ( arg(4, A, J),
18208 ( var(J)
18209 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18210 K),
18211 K=[_|L],
18212 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18213 L),
18214 ( L=[M|_]
18215 -> setarg(4, M, _)
18216 ; true
18217 )
18218 ; J=[_, _|L],
18219 setarg(2, J, L),
18220 ( L=[M|_]
18221 -> setarg(4, M, J)
18222 ; true
18223 )
18224 )
18225 ),
18226 'detach_known/1_1_$special_;/2___2'(N, A)
18227 ),
18228 ( arg(2, O, R),
18229 setarg(2, O, active),
18230 ( arg(4, O, P),
18231 Q is P+1,
18232 setarg(4, O, Q)
18233 ),
18234 ( R==not_stored_yet
18235 -> O=suspension(_, _, _, _, _, S, T),
18236 term_variables(term(S, T), U),
18237 'chr none_locked'(U),
18238 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18239 V),
18240 W=[O|V],
18241 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18242 W),
18243 ( V=[X|_]
18244 -> setarg(5, X, W)
18245 ; true
18246 )
18247 ),
18248 'attach_known/1_1_$special_=</2___2'(U, O)
18249 ; true
18250 )
18251 ),
18252 known(Y),
18253 ( O=suspension(_, active, _, Q, _, _, _)
18254 -> setarg(2, O, inactive),
18255 'known/1_1_$special_=</2___2__6__0__22'(Z,
18256 E,
18257 G,
18258 O)
18259 ; true
18260 )
18261 ; 'known/1_1_$special_=</2___2__6__0__22'(Z,
18262 E,
18263 G,
18264 O)
18265 ).
18266'known/1_1_$special_=</2___2__6'(A, B, C) :-
18267 'known/1_1_$special_=</2___2__7'(A, B, C).
18268'known/1_1_$special_=</2___2__7'(A, B, F) :-
18269 ( 'chr newvia_2'(A, B, C)
18270 -> get_attr(C, guard_entailment, D),
18271 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
18272 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18273 E)
18274 ), !,
18275 'known/1_1_$special_=</2___2__7__0__23'(E, A, B, F).
18276'known/1_1_$special_=</2___2__7__0__23'([], A, B, C) :-
18277 'known/1_1_$special_=</2___2__8'(A, B, C).
18278'known/1_1_$special_=</2___2__7__0__23'([A|A1], F, H, P) :-
18279 ( A=suspension(_, active, _, _, B, Z),
18280 nonvar(B),
18281 B=(C, _),
18282 nonvar(C),
18283 C=(\+D),
18284 nonvar(D),
18285 D=(E=<G),
18286 E==F,
18287 G==H
18288 -> ( A=suspension(_, _, _, _, I, J),
18289 setarg(2, A, removed),
18290 term_variables(term(I, J), O),
18291 ( arg(4, A, K),
18292 ( var(K)
18293 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18294 L),
18295 L=[_|M],
18296 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18297 M),
18298 ( M=[N|_]
18299 -> setarg(4, N, _)
18300 ; true
18301 )
18302 ; K=[_, _|M],
18303 setarg(2, K, M),
18304 ( M=[N|_]
18305 -> setarg(4, N, K)
18306 ; true
18307 )
18308 )
18309 ),
18310 'detach_known/1_1_$special_;/2___2'(O, A)
18311 ),
18312 ( arg(2, P, S),
18313 setarg(2, P, active),
18314 ( arg(4, P, Q),
18315 R is Q+1,
18316 setarg(4, P, R)
18317 ),
18318 ( S==not_stored_yet
18319 -> P=suspension(_, _, _, _, _, T, U),
18320 term_variables(term(T, U), V),
18321 'chr none_locked'(V),
18322 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18323 W),
18324 X=[P|W],
18325 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18326 X),
18327 ( W=[Y|_]
18328 -> setarg(5, Y, X)
18329 ; true
18330 )
18331 ),
18332 'attach_known/1_1_$special_=</2___2'(V, P)
18333 ; true
18334 )
18335 ),
18336 known(Z),
18337 ( P=suspension(_, active, _, R, _, _, _)
18338 -> setarg(2, P, inactive),
18339 'known/1_1_$special_=</2___2__7__0__23'(A1,
18340 F,
18341 H,
18342 P)
18343 ; true
18344 )
18345 ; 'known/1_1_$special_=</2___2__7__0__23'(A1,
18346 F,
18347 H,
18348 P)
18349 ).
18350'known/1_1_$special_=</2___2__7'(A, B, C) :-
18351 'known/1_1_$special_=</2___2__8'(A, B, C).
18352'known/1_1_$special_=</2___2__8'(_, _, A) :-
18353 arg(2, A, D),
18354 setarg(2, A, active),
18355 arg(4, A, B),
18356 C is B+1,
18357 setarg(4, A, C),
18358 ( D==not_stored_yet
18359 -> A=suspension(_, _, _, _, _, E, F),
18360 term_variables(term(E, F), G),
18361 'chr none_locked'(G),
18362 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18363 H),
18364 I=[A|H],
18365 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18366 I),
18367 ( H=[J|_]
18368 -> setarg(5, J, I)
18369 ; true
18370 )
18371 ),
18372 'attach_known/1_1_$special_=</2___2'(G, A)
18373 ; true
18374 ).
18375'known/1_1_$special_=:=/2'(A, B) :-
18376 'known/1_1_$special_=:=/2___2__0'(A, B, _).
18377'known/1_1_$special_=:=/2___2__0'(A, B, I) :-
18378 ( 'chr newvia_2'(A, B, C)
18379 -> get_attr(C, guard_entailment, D),
18380 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E)
18381 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18382 E)
18383 ),
18384 member(F, E),
18385 F=suspension(_, active, _, _, _, G, H),
18386 G==A,
18387 H==B, !,
18388 ( var(I)
18389 -> true
18390 ; I=suspension(_, J, _, _, _, K, L),
18391 setarg(2, I, removed),
18392 ( J==not_stored_yet
18393 -> M=[]
18394 ; term_variables(term(K, L), M),
18395 ( arg(5, I, N),
18396 ( var(N)
18397 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18398 O),
18399 O=[_|P],
18400 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18401 P),
18402 ( P=[Q|_]
18403 -> setarg(5, Q, _)
18404 ; true
18405 )
18406 ; N=[_, _|P],
18407 setarg(2, N, P),
18408 ( P=[Q|_]
18409 -> setarg(5, Q, N)
18410 ; true
18411 )
18412 )
18413 ),
18414 'detach_known/1_1_$special_=:=/2___2'(M, I)
18415 )
18416 ).
18417'known/1_1_$special_=:=/2___2__0'(_, _, C) :-
18418 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
18419 A),
18420 member(B, A),
18421 B=suspension(_, active, _), !,
18422 ( var(C)
18423 -> true
18424 ; C=suspension(_, D, _, _, _, E, F),
18425 setarg(2, C, removed),
18426 ( D==not_stored_yet
18427 -> G=[]
18428 ; term_variables(term(E, F), G),
18429 ( arg(5, C, H),
18430 ( var(H)
18431 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18432 I),
18433 I=[_|J],
18434 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18435 J),
18436 ( J=[K|_]
18437 -> setarg(5, K, _)
18438 ; true
18439 )
18440 ; H=[_, _|J],
18441 setarg(2, H, J),
18442 ( J=[K|_]
18443 -> setarg(5, K, H)
18444 ; true
18445 )
18446 )
18447 ),
18448 'detach_known/1_1_$special_=:=/2___2'(G, C)
18449 )
18450 ).
18451'known/1_1_$special_=:=/2___2__0'(B, A, C) :-
18452 A==B, !,
18453 ( var(C)
18454 -> true
18455 ; C=suspension(_, D, _, _, _, E, F),
18456 setarg(2, C, removed),
18457 ( D==not_stored_yet
18458 -> G=[]
18459 ; term_variables(term(E, F), G),
18460 ( arg(5, C, H),
18461 ( var(H)
18462 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18463 I),
18464 I=[_|J],
18465 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18466 J),
18467 ( J=[K|_]
18468 -> setarg(5, K, _)
18469 ; true
18470 )
18471 ; H=[_, _|J],
18472 setarg(2, H, J),
18473 ( J=[K|_]
18474 -> setarg(5, K, H)
18475 ; true
18476 )
18477 )
18478 ),
18479 'detach_known/1_1_$special_=:=/2___2'(G, C)
18480 )
18481 ).
18482'known/1_1_$special_=:=/2___2__0'(B, A, C) :-
18483 number(A),
18484 number(B),
18485 B=\=A, !,
18486 ( var(C)
18487 -> true
18488 ; C=suspension(_, D, _, _, _, E, F),
18489 setarg(2, C, removed),
18490 ( D==not_stored_yet
18491 -> G=[]
18492 ; term_variables(term(E, F), G),
18493 ( arg(5, C, H),
18494 ( var(H)
18495 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18496 I),
18497 I=[_|J],
18498 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18499 J),
18500 ( J=[K|_]
18501 -> setarg(5, K, _)
18502 ; true
18503 )
18504 ; H=[_, _|J],
18505 setarg(2, H, J),
18506 ( J=[K|_]
18507 -> setarg(5, K, H)
18508 ; true
18509 )
18510 )
18511 ),
18512 'detach_known/1_1_$special_=:=/2___2'(G, C)
18513 )
18514 ),
18515 'known/1_1_$special_fail/0'.
18516'known/1_1_$special_=:=/2___2__0'(A, B, P) :-
18517 ( 'chr newvia_2'(A, B, C)
18518 -> get_attr(C, guard_entailment, D),
18519 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _, _)
18520 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
18521 E)
18522 ),
18523 member(F, E),
18524 F=suspension(_, active, _, _, _, G, H),
18525 G==A,
18526 H==B, !,
18527 F=suspension(_, _, _, _, _, I, J),
18528 setarg(2, F, removed),
18529 term_variables(term(I, J), O),
18530 arg(5, F, K),
18531 ( var(K)
18532 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
18533 L),
18534 L=[_|M],
18535 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
18536 M),
18537 ( M=[N|_]
18538 -> setarg(5, N, _)
18539 ; true
18540 )
18541 ; K=[_, _|M],
18542 setarg(2, K, M),
18543 ( M=[N|_]
18544 -> setarg(5, N, K)
18545 ; true
18546 )
18547 ),
18548 'detach_known/1_1_$special_=\\=/2___2'(O, F),
18549 ( var(P)
18550 -> true
18551 ; P=suspension(_, Q, _, _, _, R, S),
18552 setarg(2, P, removed),
18553 ( Q==not_stored_yet
18554 -> T=[]
18555 ; term_variables(term(R, S), T),
18556 ( arg(5, P, U),
18557 ( var(U)
18558 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18559 V),
18560 V=[_|W],
18561 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18562 W),
18563 ( W=[X|_]
18564 -> setarg(5, X, _)
18565 ; true
18566 )
18567 ; U=[_, _|W],
18568 setarg(2, U, W),
18569 ( W=[X|_]
18570 -> setarg(5, X, U)
18571 ; true
18572 )
18573 )
18574 ),
18575 'detach_known/1_1_$special_=:=/2___2'(T, P)
18576 )
18577 ),
18578 'known/1_1_$special_fail/0'.
18579'known/1_1_$special_=:=/2___2__0'(F, A, E) :-
18580 ( 'chr newvia_1'(A, B)
18581 -> get_attr(B, guard_entailment, C),
18582 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D)
18583 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18584 D)
18585 ), !,
18586 ( var(E)
18587 -> E=suspension(G, not_stored_yet, t, 0, _, F, A),
18588 'chr gen_id'(G)
18589 ; true
18590 ),
18591 'known/1_1_$special_=:=/2___2__0__0__11'(D,
18592 F,
18593 A,
18594 E).
18595'known/1_1_$special_=:=/2___2__0__0__11'([], A, B, C) :-
18596 'known/1_1_$special_=:=/2___2__1'(A, B, C).
18597'known/1_1_$special_=:=/2___2__0__0__11'([A|Q], F, C, D) :-
18598 ( A=suspension(_, active, _, _, _, B, G),
18599 B==C,
18600 ( E=t(193, D, A),
18601 '$novel_production'(D, E),
18602 '$novel_production'(A, E)
18603 ),
18604 F\==G
18605 -> '$extend_history'(D, E),
18606 ( arg(2, D, J),
18607 setarg(2, D, active),
18608 ( arg(4, D, H),
18609 I is H+1,
18610 setarg(4, D, I)
18611 ),
18612 ( J==not_stored_yet
18613 -> D=suspension(_, _, _, _, _, K, L),
18614 term_variables(term(K, L), M),
18615 'chr none_locked'(M),
18616 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18617 N),
18618 O=[D|N],
18619 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18620 O),
18621 ( N=[P|_]
18622 -> setarg(5, P, O)
18623 ; true
18624 )
18625 ),
18626 'attach_known/1_1_$special_=:=/2___2'(M, D)
18627 ; true
18628 )
18629 ),
18630 'known/1_1_$special_=:=/2'(F, G),
18631 ( D=suspension(_, active, _, I, _, _, _)
18632 -> setarg(2, D, inactive),
18633 'known/1_1_$special_=:=/2___2__0__0__11'(Q,
18634 F,
18635 C,
18636 D)
18637 ; true
18638 )
18639 ; 'known/1_1_$special_=:=/2___2__0__0__11'(Q,
18640 F,
18641 C,
18642 D)
18643 ).
18644'known/1_1_$special_=:=/2___2__0'(B, C, A) :-
18645 ( var(A)
18646 -> A=suspension(D, not_stored_yet, t, 0, _, B, C),
18647 'chr gen_id'(D)
18648 ; true
18649 ),
18650 'known/1_1_$special_=:=/2___2__1'(B, C, A).
18651'known/1_1_$special_=:=/2___2__1'(A, E, F) :-
18652 ( 'chr newvia_1'(A, B)
18653 -> get_attr(B, guard_entailment, C),
18654 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D)
18655 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18656 D)
18657 ), !,
18658 'known/1_1_$special_=:=/2___2__1__0__12'(D,
18659 A,
18660 E,
18661 F).
18662'known/1_1_$special_=:=/2___2__1__0__12'([], A, B, C) :-
18663 'known/1_1_$special_=:=/2___2__2'(A, B, C).
18664'known/1_1_$special_=:=/2___2__1__0__12'([A|Q], C, G, D) :-
18665 ( A=suspension(_, active, _, _, _, F, B),
18666 B==C,
18667 ( E=t(193, A, D),
18668 '$novel_production'(A, E),
18669 '$novel_production'(D, E)
18670 ),
18671 F\==G
18672 -> '$extend_history'(D, E),
18673 ( arg(2, D, J),
18674 setarg(2, D, active),
18675 ( arg(4, D, H),
18676 I is H+1,
18677 setarg(4, D, I)
18678 ),
18679 ( J==not_stored_yet
18680 -> D=suspension(_, _, _, _, _, K, L),
18681 term_variables(term(K, L), M),
18682 'chr none_locked'(M),
18683 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18684 N),
18685 O=[D|N],
18686 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18687 O),
18688 ( N=[P|_]
18689 -> setarg(5, P, O)
18690 ; true
18691 )
18692 ),
18693 'attach_known/1_1_$special_=:=/2___2'(M, D)
18694 ; true
18695 )
18696 ),
18697 'known/1_1_$special_=:=/2'(F, G),
18698 ( D=suspension(_, active, _, I, _, _, _)
18699 -> setarg(2, D, inactive),
18700 'known/1_1_$special_=:=/2___2__1__0__12'(Q,
18701 C,
18702 G,
18703 D)
18704 ; true
18705 )
18706 ; 'known/1_1_$special_=:=/2___2__1__0__12'(Q,
18707 C,
18708 G,
18709 D)
18710 ).
18711'known/1_1_$special_=:=/2___2__1'(A, B, C) :-
18712 'known/1_1_$special_=:=/2___2__2'(A, B, C).
18713'known/1_1_$special_=:=/2___2__2'(L, K, A) :-
18714 '$novel_production'(A, 194), !,
18715 '$extend_history'(A, 194),
18716 arg(2, A, D),
18717 setarg(2, A, active),
18718 arg(4, A, B),
18719 C is B+1,
18720 setarg(4, A, C),
18721 ( D==not_stored_yet
18722 -> A=suspension(_, _, _, _, _, E, F),
18723 term_variables(term(E, F), G),
18724 'chr none_locked'(G),
18725 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18726 H),
18727 I=[A|H],
18728 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18729 I),
18730 ( H=[J|_]
18731 -> setarg(5, J, I)
18732 ; true
18733 )
18734 ),
18735 'attach_known/1_1_$special_=:=/2___2'(G, A)
18736 ; true
18737 ),
18738 'known/1_1_$special_=:=/2'(K, L),
18739 ( A=suspension(_, active, _, C, _, _, _)
18740 -> setarg(2, A, inactive),
18741 'known/1_1_$special_=:=/2___2__3'(L, K, A)
18742 ; true
18743 ).
18744'known/1_1_$special_=:=/2___2__2'(A, B, C) :-
18745 'known/1_1_$special_=:=/2___2__3'(A, B, C).
18746'known/1_1_$special_=:=/2___2__3'(A, B, P) :-
18747 ( 'chr newvia_2'(A, B, C)
18748 -> get_attr(C, guard_entailment, D),
18749 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
18750 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
18751 E)
18752 ),
18753 member(F, E),
18754 F=suspension(_, active, _, _, G),
18755 nonvar(G),
18756 G=(H=:=I),
18757 H==A,
18758 I==B, !,
18759 F=suspension(_, _, _, _, J),
18760 setarg(2, F, removed),
18761 term_variables(J, O),
18762 arg(4, F, K),
18763 ( var(K)
18764 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
18765 L),
18766 L=[_|M],
18767 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
18768 M),
18769 ( M=[N|_]
18770 -> setarg(4, N, _)
18771 ; true
18772 )
18773 ; K=[_, _|M],
18774 setarg(2, K, M),
18775 ( M=[N|_]
18776 -> setarg(4, N, K)
18777 ; true
18778 )
18779 ),
18780 'detach_known/1_1_$special_\\+/1___1'(O, F),
18781 ( var(P)
18782 -> true
18783 ; P=suspension(_, Q, _, _, _, R, S),
18784 setarg(2, P, removed),
18785 ( Q==not_stored_yet
18786 -> T=[]
18787 ; term_variables(term(R, S), T),
18788 ( arg(5, P, U),
18789 ( var(U)
18790 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18791 V),
18792 V=[_|W],
18793 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18794 W),
18795 ( W=[X|_]
18796 -> setarg(5, X, _)
18797 ; true
18798 )
18799 ; U=[_, _|W],
18800 setarg(2, U, W),
18801 ( W=[X|_]
18802 -> setarg(5, X, U)
18803 ; true
18804 )
18805 )
18806 ),
18807 'detach_known/1_1_$special_=:=/2___2'(T, P)
18808 )
18809 ),
18810 'known/1_1_$special_fail/0'.
18811'known/1_1_$special_=:=/2___2__3'(A, B, F) :-
18812 ( 'chr newvia_2'(A, B, C)
18813 -> get_attr(C, guard_entailment, D),
18814 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
18815 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18816 E)
18817 ), !,
18818 'known/1_1_$special_=:=/2___2__3__0__15'(E,
18819 A,
18820 B,
18821 F).
18822'known/1_1_$special_=:=/2___2__3__0__15'([], A, B, C) :-
18823 'known/1_1_$special_=:=/2___2__4'(A, B, C).
18824'known/1_1_$special_=:=/2___2__3__0__15'([A|Z], E, G, O) :-
18825 ( A=suspension(_, active, _, _, B, Y),
18826 nonvar(B),
18827 B=(\+C),
18828 nonvar(C),
18829 C=(D=:=F),
18830 D==E,
18831 F==G
18832 -> ( A=suspension(_, _, _, _, H, I),
18833 setarg(2, A, removed),
18834 term_variables(term(H, I), N),
18835 ( arg(4, A, J),
18836 ( var(J)
18837 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18838 K),
18839 K=[_|L],
18840 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18841 L),
18842 ( L=[M|_]
18843 -> setarg(4, M, _)
18844 ; true
18845 )
18846 ; J=[_, _|L],
18847 setarg(2, J, L),
18848 ( L=[M|_]
18849 -> setarg(4, M, J)
18850 ; true
18851 )
18852 )
18853 ),
18854 'detach_known/1_1_$special_;/2___2'(N, A)
18855 ),
18856 ( arg(2, O, R),
18857 setarg(2, O, active),
18858 ( arg(4, O, P),
18859 Q is P+1,
18860 setarg(4, O, Q)
18861 ),
18862 ( R==not_stored_yet
18863 -> O=suspension(_, _, _, _, _, S, T),
18864 term_variables(term(S, T), U),
18865 'chr none_locked'(U),
18866 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18867 V),
18868 W=[O|V],
18869 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18870 W),
18871 ( V=[X|_]
18872 -> setarg(5, X, W)
18873 ; true
18874 )
18875 ),
18876 'attach_known/1_1_$special_=:=/2___2'(U, O)
18877 ; true
18878 )
18879 ),
18880 known(Y),
18881 ( O=suspension(_, active, _, Q, _, _, _)
18882 -> setarg(2, O, inactive),
18883 'known/1_1_$special_=:=/2___2__3__0__15'(Z,
18884 E,
18885 G,
18886 O)
18887 ; true
18888 )
18889 ; 'known/1_1_$special_=:=/2___2__3__0__15'(Z,
18890 E,
18891 G,
18892 O)
18893 ).
18894'known/1_1_$special_=:=/2___2__3'(A, B, C) :-
18895 'known/1_1_$special_=:=/2___2__4'(A, B, C).
18896'known/1_1_$special_=:=/2___2__4'(A, B, F) :-
18897 ( 'chr newvia_2'(A, B, C)
18898 -> get_attr(C, guard_entailment, D),
18899 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
18900 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18901 E)
18902 ), !,
18903 'known/1_1_$special_=:=/2___2__4__0__16'(E,
18904 A,
18905 B,
18906 F).
18907'known/1_1_$special_=:=/2___2__4__0__16'([], A, B, C) :-
18908 'known/1_1_$special_=:=/2___2__5'(A, B, C).
18909'known/1_1_$special_=:=/2___2__4__0__16'([A|A1], F, H, P) :-
18910 ( A=suspension(_, active, _, _, B, Z),
18911 nonvar(B),
18912 B=(C, _),
18913 nonvar(C),
18914 C=(\+D),
18915 nonvar(D),
18916 D=(E=:=G),
18917 E==F,
18918 G==H
18919 -> ( A=suspension(_, _, _, _, I, J),
18920 setarg(2, A, removed),
18921 term_variables(term(I, J), O),
18922 ( arg(4, A, K),
18923 ( var(K)
18924 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18925 L),
18926 L=[_|M],
18927 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18928 M),
18929 ( M=[N|_]
18930 -> setarg(4, N, _)
18931 ; true
18932 )
18933 ; K=[_, _|M],
18934 setarg(2, K, M),
18935 ( M=[N|_]
18936 -> setarg(4, N, K)
18937 ; true
18938 )
18939 )
18940 ),
18941 'detach_known/1_1_$special_;/2___2'(O, A)
18942 ),
18943 ( arg(2, P, S),
18944 setarg(2, P, active),
18945 ( arg(4, P, Q),
18946 R is Q+1,
18947 setarg(4, P, R)
18948 ),
18949 ( S==not_stored_yet
18950 -> P=suspension(_, _, _, _, _, T, U),
18951 term_variables(term(T, U), V),
18952 'chr none_locked'(V),
18953 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18954 W),
18955 X=[P|W],
18956 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18957 X),
18958 ( W=[Y|_]
18959 -> setarg(5, Y, X)
18960 ; true
18961 )
18962 ),
18963 'attach_known/1_1_$special_=:=/2___2'(V, P)
18964 ; true
18965 )
18966 ),
18967 known(Z),
18968 ( P=suspension(_, active, _, R, _, _, _)
18969 -> setarg(2, P, inactive),
18970 'known/1_1_$special_=:=/2___2__4__0__16'(A1,
18971 F,
18972 H,
18973 P)
18974 ; true
18975 )
18976 ; 'known/1_1_$special_=:=/2___2__4__0__16'(A1,
18977 F,
18978 H,
18979 P)
18980 ).
18981'known/1_1_$special_=:=/2___2__4'(A, B, C) :-
18982 'known/1_1_$special_=:=/2___2__5'(A, B, C).
18983'known/1_1_$special_=:=/2___2__5'(_, _, A) :-
18984 arg(2, A, D),
18985 setarg(2, A, active),
18986 arg(4, A, B),
18987 C is B+1,
18988 setarg(4, A, C),
18989 ( D==not_stored_yet
18990 -> A=suspension(_, _, _, _, _, E, F),
18991 term_variables(term(E, F), G),
18992 'chr none_locked'(G),
18993 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18994 H),
18995 I=[A|H],
18996 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18997 I),
18998 ( H=[J|_]
18999 -> setarg(5, J, I)
19000 ; true
19001 )
19002 ),
19003 'attach_known/1_1_$special_=:=/2___2'(G, A)
19004 ; true
19005 ).
19006'known/1_1_$special_fail/0' :-
19007 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
19008 A),
19009 member(B, A),
19010 B=suspension(_, active, _), !.
19011'known/1_1_$special_fail/0' :-
19012 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
19013 A), !,
19014 'known/1_1_$special_fail/0___0__0__0__24'(A).
19015'known/1_1_$special_fail/0___0__0__0__24'([]) :-
19016 'known/1_1_$special_fail/0___0__1'.
19017'known/1_1_$special_fail/0___0__0__0__24'([A|I]) :-
19018 ( A=suspension(_, active, _, _, _, _)
19019 -> ( A=suspension(_, _, _, _, B, C),
19020 setarg(2, A, removed),
19021 term_variables(term(B, C), H),
19022 ( arg(4, A, D),
19023 ( var(D)
19024 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
19025 E),
19026 E=[_|F],
19027 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
19028 F),
19029 ( F=[G|_]
19030 -> setarg(4, G, _)
19031 ; true
19032 )
19033 ; D=[_, _|F],
19034 setarg(2, D, F),
19035 ( F=[G|_]
19036 -> setarg(4, G, D)
19037 ; true
19038 )
19039 )
19040 ),
19041 'detach_known/1_1_$special_;/2___2'(H, A)
19042 ),
19043 'known/1_1_$special_fail/0___0__0__0__24'(I)
19044 ; 'known/1_1_$special_fail/0___0__0__0__24'(I)
19045 ).
19046'known/1_1_$special_fail/0' :-
19047 'known/1_1_$special_fail/0___0__1'.
19048'known/1_1_$special_fail/0___0__1' :-
19049 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
19050 A), !,
19051 'known/1_1_$special_fail/0___0__1__0__25'(A).
19052'known/1_1_$special_fail/0___0__1__0__25'([]) :-
19053 'known/1_1_$special_fail/0___0__2'.
19054'known/1_1_$special_fail/0___0__1__0__25'([A|H]) :-
19055 ( A=suspension(_, active, _, _, _)
19056 -> ( A=suspension(_, _, _, _, B),
19057 setarg(2, A, removed),
19058 term_variables(B, G),
19059 ( arg(4, A, C),
19060 ( var(C)
19061 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
19062 D),
19063 D=[_|E],
19064 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
19065 E),
19066 ( E=[F|_]
19067 -> setarg(4, F, _)
19068 ; true
19069 )
19070 ; C=[_, _|E],
19071 setarg(2, C, E),
19072 ( E=[F|_]
19073 -> setarg(4, F, C)
19074 ; true
19075 )
19076 )
19077 ),
19078 'detach_known/1_1_$special_nonvar/1___1'(G, A)
19079 ),
19080 'known/1_1_$special_fail/0___0__1__0__25'(H)
19081 ; 'known/1_1_$special_fail/0___0__1__0__25'(H)
19082 ).
19083'known/1_1_$special_fail/0___0__1' :-
19084 'known/1_1_$special_fail/0___0__2'.
19085'known/1_1_$special_fail/0___0__2' :-
19086 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
19087 A), !,
19088 'known/1_1_$special_fail/0___0__2__0__26'(A).
19089'known/1_1_$special_fail/0___0__2__0__26'([]) :-
19090 'known/1_1_$special_fail/0___0__3'.
19091'known/1_1_$special_fail/0___0__2__0__26'([A|H]) :-
19092 ( A=suspension(_, active, _, _, _)
19093 -> ( A=suspension(_, _, _, _, B),
19094 setarg(2, A, removed),
19095 term_variables(B, G),
19096 ( arg(4, A, C),
19097 ( var(C)
19098 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
19099 D),
19100 D=[_|E],
19101 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
19102 E),
19103 ( E=[F|_]
19104 -> setarg(4, F, _)
19105 ; true
19106 )
19107 ; C=[_, _|E],
19108 setarg(2, C, E),
19109 ( E=[F|_]
19110 -> setarg(4, F, C)
19111 ; true
19112 )
19113 )
19114 ),
19115 'detach_known/1_1_$special_var/1___1'(G, A)
19116 ),
19117 'known/1_1_$special_fail/0___0__2__0__26'(H)
19118 ; 'known/1_1_$special_fail/0___0__2__0__26'(H)
19119 ).
19120'known/1_1_$special_fail/0___0__2' :-
19121 'known/1_1_$special_fail/0___0__3'.
19122'known/1_1_$special_fail/0___0__3' :-
19123 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
19124 A), !,
19125 'known/1_1_$special_fail/0___0__3__0__27'(A).
19126'known/1_1_$special_fail/0___0__3__0__27'([]) :-
19127 'known/1_1_$special_fail/0___0__4'.
19128'known/1_1_$special_fail/0___0__3__0__27'([A|H]) :-
19129 ( A=suspension(_, active, _, _, _, _)
19130 -> ( A=suspension(_, _, _, _, _, B),
19131 setarg(2, A, removed),
19132 term_variables(B, G),
19133 ( arg(5, A, C),
19134 ( var(C)
19135 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
19136 D),
19137 D=[_|E],
19138 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
19139 E),
19140 ( E=[F|_]
19141 -> setarg(5, F, _)
19142 ; true
19143 )
19144 ; C=[_, _|E],
19145 setarg(2, C, E),
19146 ( E=[F|_]
19147 -> setarg(5, F, C)
19148 ; true
19149 )
19150 )
19151 ),
19152 'detach_known/1_1_$special_atom/1___1'(G, A)
19153 ),
19154 'known/1_1_$special_fail/0___0__3__0__27'(H)
19155 ; 'known/1_1_$special_fail/0___0__3__0__27'(H)
19156 ).
19157'known/1_1_$special_fail/0___0__3' :-
19158 'known/1_1_$special_fail/0___0__4'.
19159'known/1_1_$special_fail/0___0__4' :-
19160 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
19161 A), !,
19162 'known/1_1_$special_fail/0___0__4__0__28'(A).
19163'known/1_1_$special_fail/0___0__4__0__28'([]) :-
19164 'known/1_1_$special_fail/0___0__5'.
19165'known/1_1_$special_fail/0___0__4__0__28'([A|H]) :-
19166 ( A=suspension(_, active, _, _, _, _)
19167 -> ( A=suspension(_, _, _, _, _, B),
19168 setarg(2, A, removed),
19169 term_variables(B, G),
19170 ( arg(5, A, C),
19171 ( var(C)
19172 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
19173 D),
19174 D=[_|E],
19175 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
19176 E),
19177 ( E=[F|_]
19178 -> setarg(5, F, _)
19179 ; true
19180 )
19181 ; C=[_, _|E],
19182 setarg(2, C, E),
19183 ( E=[F|_]
19184 -> setarg(5, F, C)
19185 ; true
19186 )
19187 )
19188 ),
19189 'detach_known/1_1_$special_atomic/1___1'(G, A)
19190 ),
19191 'known/1_1_$special_fail/0___0__4__0__28'(H)
19192 ; 'known/1_1_$special_fail/0___0__4__0__28'(H)
19193 ).
19194'known/1_1_$special_fail/0___0__4' :-
19195 'known/1_1_$special_fail/0___0__5'.
19196'known/1_1_$special_fail/0___0__5' :-
19197 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
19198 A), !,
19199 'known/1_1_$special_fail/0___0__5__0__29'(A).
19200'known/1_1_$special_fail/0___0__5__0__29'([]) :-
19201 'known/1_1_$special_fail/0___0__6'.
19202'known/1_1_$special_fail/0___0__5__0__29'([A|H]) :-
19203 ( A=suspension(_, active, _, _, _, _)
19204 -> ( A=suspension(_, _, _, _, _, B),
19205 setarg(2, A, removed),
19206 term_variables(B, G),
19207 ( arg(5, A, C),
19208 ( var(C)
19209 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
19210 D),
19211 D=[_|E],
19212 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
19213 E),
19214 ( E=[F|_]
19215 -> setarg(5, F, _)
19216 ; true
19217 )
19218 ; C=[_, _|E],
19219 setarg(2, C, E),
19220 ( E=[F|_]
19221 -> setarg(5, F, C)
19222 ; true
19223 )
19224 )
19225 ),
19226 'detach_known/1_1_$special_compound/1___1'(G, A)
19227 ),
19228 'known/1_1_$special_fail/0___0__5__0__29'(H)
19229 ; 'known/1_1_$special_fail/0___0__5__0__29'(H)
19230 ).
19231'known/1_1_$special_fail/0___0__5' :-
19232 'known/1_1_$special_fail/0___0__6'.
19233'known/1_1_$special_fail/0___0__6' :-
19234 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
19235 A), !,
19236 'known/1_1_$special_fail/0___0__6__0__30'(A).
19237'known/1_1_$special_fail/0___0__6__0__30'([]) :-
19238 'known/1_1_$special_fail/0___0__7'.
19239'known/1_1_$special_fail/0___0__6__0__30'([A|H]) :-
19240 ( A=suspension(_, active, _, _, _, _)
19241 -> ( A=suspension(_, _, _, _, _, B),
19242 setarg(2, A, removed),
19243 term_variables(B, G),
19244 ( arg(5, A, C),
19245 ( var(C)
19246 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
19247 D),
19248 D=[_|E],
19249 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
19250 E),
19251 ( E=[F|_]
19252 -> setarg(5, F, _)
19253 ; true
19254 )
19255 ; C=[_, _|E],
19256 setarg(2, C, E),
19257 ( E=[F|_]
19258 -> setarg(5, F, C)
19259 ; true
19260 )
19261 )
19262 ),
19263 'detach_known/1_1_$special_ground/1___1'(G, A)
19264 ),
19265 'known/1_1_$special_fail/0___0__6__0__30'(H)
19266 ; 'known/1_1_$special_fail/0___0__6__0__30'(H)
19267 ).
19268'known/1_1_$special_fail/0___0__6' :-
19269 'known/1_1_$special_fail/0___0__7'.
19270'known/1_1_$special_fail/0___0__7' :-
19271 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
19272 A), !,
19273 'known/1_1_$special_fail/0___0__7__0__31'(A).
19274'known/1_1_$special_fail/0___0__7__0__31'([]) :-
19275 'known/1_1_$special_fail/0___0__8'.
19276'known/1_1_$special_fail/0___0__7__0__31'([A|H]) :-
19277 ( A=suspension(_, active, _, _, _, _)
19278 -> ( A=suspension(_, _, _, _, _, B),
19279 setarg(2, A, removed),
19280 term_variables(B, G),
19281 ( arg(5, A, C),
19282 ( var(C)
19283 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
19284 D),
19285 D=[_|E],
19286 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
19287 E),
19288 ( E=[F|_]
19289 -> setarg(5, F, _)
19290 ; true
19291 )
19292 ; C=[_, _|E],
19293 setarg(2, C, E),
19294 ( E=[F|_]
19295 -> setarg(5, F, C)
19296 ; true
19297 )
19298 )
19299 ),
19300 'detach_known/1_1_$special_integer/1___1'(G, A)
19301 ),
19302 'known/1_1_$special_fail/0___0__7__0__31'(H)
19303 ; 'known/1_1_$special_fail/0___0__7__0__31'(H)
19304 ).
19305'known/1_1_$special_fail/0___0__7' :-
19306 'known/1_1_$special_fail/0___0__8'.
19307'known/1_1_$special_fail/0___0__8' :-
19308 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
19309 A), !,
19310 'known/1_1_$special_fail/0___0__8__0__32'(A).
19311'known/1_1_$special_fail/0___0__8__0__32'([]) :-
19312 'known/1_1_$special_fail/0___0__9'.
19313'known/1_1_$special_fail/0___0__8__0__32'([A|H]) :-
19314 ( A=suspension(_, active, _, _, _, _)
19315 -> ( A=suspension(_, _, _, _, _, B),
19316 setarg(2, A, removed),
19317 term_variables(B, G),
19318 ( arg(5, A, C),
19319 ( var(C)
19320 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
19321 D),
19322 D=[_|E],
19323 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
19324 E),
19325 ( E=[F|_]
19326 -> setarg(5, F, _)
19327 ; true
19328 )
19329 ; C=[_, _|E],
19330 setarg(2, C, E),
19331 ( E=[F|_]
19332 -> setarg(5, F, C)
19333 ; true
19334 )
19335 )
19336 ),
19337 'detach_known/1_1_$special_float/1___1'(G, A)
19338 ),
19339 'known/1_1_$special_fail/0___0__8__0__32'(H)
19340 ; 'known/1_1_$special_fail/0___0__8__0__32'(H)
19341 ).
19342'known/1_1_$special_fail/0___0__8' :-
19343 'known/1_1_$special_fail/0___0__9'.
19344'known/1_1_$special_fail/0___0__9' :-
19345 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
19346 A), !,
19347 'known/1_1_$special_fail/0___0__9__0__33'(A).
19348'known/1_1_$special_fail/0___0__9__0__33'([]) :-
19349 'known/1_1_$special_fail/0___0__10'.
19350'known/1_1_$special_fail/0___0__9__0__33'([A|H]) :-
19351 ( A=suspension(_, active, _, _, _, _)
19352 -> ( A=suspension(_, _, _, _, _, B),
19353 setarg(2, A, removed),
19354 term_variables(B, G),
19355 ( arg(5, A, C),
19356 ( var(C)
19357 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
19358 D),
19359 D=[_|E],
19360 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
19361 E),
19362 ( E=[F|_]
19363 -> setarg(5, F, _)
19364 ; true
19365 )
19366 ; C=[_, _|E],
19367 setarg(2, C, E),
19368 ( E=[F|_]
19369 -> setarg(5, F, C)
19370 ; true
19371 )
19372 )
19373 ),
19374 'detach_known/1_1_$special_number/1___1'(G, A)
19375 ),
19376 'known/1_1_$special_fail/0___0__9__0__33'(H)
19377 ; 'known/1_1_$special_fail/0___0__9__0__33'(H)
19378 ).
19379'known/1_1_$special_fail/0___0__9' :-
19380 'known/1_1_$special_fail/0___0__10'.
19381'known/1_1_$special_fail/0___0__10' :-
19382 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
19383 A), !,
19384 'known/1_1_$special_fail/0___0__10__0__34'(A).
19385'known/1_1_$special_fail/0___0__10__0__34'([]) :-
19386 'known/1_1_$special_fail/0___0__11'.
19387'known/1_1_$special_fail/0___0__10__0__34'([A|I]) :-
19388 ( A=suspension(_, active, _, _, _, _, _)
19389 -> ( A=suspension(_, _, _, _, _, B, C),
19390 setarg(2, A, removed),
19391 term_variables(term(B, C), H),
19392 ( arg(5, A, D),
19393 ( var(D)
19394 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
19395 E),
19396 E=[_|F],
19397 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
19398 F),
19399 ( F=[G|_]
19400 -> setarg(5, G, _)
19401 ; true
19402 )
19403 ; D=[_, _|F],
19404 setarg(2, D, F),
19405 ( F=[G|_]
19406 -> setarg(5, G, D)
19407 ; true
19408 )
19409 )
19410 ),
19411 'detach_known/1_1_$special_=\\=/2___2'(H, A)
19412 ),
19413 'known/1_1_$special_fail/0___0__10__0__34'(I)
19414 ; 'known/1_1_$special_fail/0___0__10__0__34'(I)
19415 ).
19416'known/1_1_$special_fail/0___0__10' :-
19417 'known/1_1_$special_fail/0___0__11'.
19418'known/1_1_$special_fail/0___0__11' :-
19419 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
19420 A), !,
19421 'known/1_1_$special_fail/0___0__11__0__35'(A).
19422'known/1_1_$special_fail/0___0__11__0__35'([]) :-
19423 'known/1_1_$special_fail/0___0__12'.
19424'known/1_1_$special_fail/0___0__11__0__35'([A|H]) :-
19425 ( A=suspension(_, active, _, _, _)
19426 -> ( A=suspension(_, _, _, _, B),
19427 setarg(2, A, removed),
19428 term_variables(B, G),
19429 ( arg(4, A, C),
19430 ( var(C)
19431 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
19432 D),
19433 D=[_|E],
19434 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
19435 E),
19436 ( E=[F|_]
19437 -> setarg(4, F, _)
19438 ; true
19439 )
19440 ; C=[_, _|E],
19441 setarg(2, C, E),
19442 ( E=[F|_]
19443 -> setarg(4, F, C)
19444 ; true
19445 )
19446 )
19447 ),
19448 'detach_known/1_1_$special_\\+/1___1'(G, A)
19449 ),
19450 'known/1_1_$special_fail/0___0__11__0__35'(H)
19451 ; 'known/1_1_$special_fail/0___0__11__0__35'(H)
19452 ).
19453'known/1_1_$special_fail/0___0__11' :-
19454 'known/1_1_$special_fail/0___0__12'.
19455'known/1_1_$special_fail/0___0__12' :-
19456 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
19457 A), !,
19458 'known/1_1_$special_fail/0___0__12__0__36'(A).
19459'known/1_1_$special_fail/0___0__12__0__36'([]) :-
19460 'known/1_1_$special_fail/0___0__13'.
19461'known/1_1_$special_fail/0___0__12__0__36'([A|J]) :-
19462 ( A=suspension(_, active, _, _, _, _, _)
19463 -> ( A=suspension(_, _, _, _, B, C, D),
19464 setarg(2, A, removed),
19465 term_variables(term(B, C, D), I),
19466 ( arg(4, A, E),
19467 ( var(E)
19468 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
19469 F),
19470 F=[_|G],
19471 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
19472 G),
19473 ( G=[H|_]
19474 -> setarg(4, H, _)
19475 ; true
19476 )
19477 ; E=[_, _|G],
19478 setarg(2, E, G),
19479 ( G=[H|_]
19480 -> setarg(4, H, E)
19481 ; true
19482 )
19483 )
19484 ),
19485 'detach_known/1_1_$special_functor/3___3'(I, A)
19486 ),
19487 'known/1_1_$special_fail/0___0__12__0__36'(J)
19488 ; 'known/1_1_$special_fail/0___0__12__0__36'(J)
19489 ).
19490'known/1_1_$special_fail/0___0__12' :-
19491 'known/1_1_$special_fail/0___0__13'.
19492'known/1_1_$special_fail/0___0__13' :-
19493 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
19494 A), !,
19495 'known/1_1_$special_fail/0___0__13__0__37'(A).
19496'known/1_1_$special_fail/0___0__13__0__37'([]) :-
19497 'known/1_1_$special_fail/0___0__14'.
19498'known/1_1_$special_fail/0___0__13__0__37'([A|I]) :-
19499 ( A=suspension(_, active, _, _, _, _, _)
19500 -> ( A=suspension(_, _, _, _, _, B, C),
19501 setarg(2, A, removed),
19502 term_variables(term(B, C), H),
19503 ( arg(5, A, D),
19504 ( var(D)
19505 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
19506 E),
19507 E=[_|F],
19508 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
19509 F),
19510 ( F=[G|_]
19511 -> setarg(5, G, _)
19512 ; true
19513 )
19514 ; D=[_, _|F],
19515 setarg(2, D, F),
19516 ( F=[G|_]
19517 -> setarg(5, G, D)
19518 ; true
19519 )
19520 )
19521 ),
19522 'detach_known/1_1_$special_\\=/2___2'(H, A)
19523 ),
19524 'known/1_1_$special_fail/0___0__13__0__37'(I)
19525 ; 'known/1_1_$special_fail/0___0__13__0__37'(I)
19526 ).
19527'known/1_1_$special_fail/0___0__13' :-
19528 'known/1_1_$special_fail/0___0__14'.
19529'known/1_1_$special_fail/0___0__14' :-
19530 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
19531 A), !,
19532 'known/1_1_$special_fail/0___0__14__0__38'(A).
19533'known/1_1_$special_fail/0___0__14__0__38'([]) :-
19534 'known/1_1_$special_fail/0___0__15'.
19535'known/1_1_$special_fail/0___0__14__0__38'([A|I]) :-
19536 ( A=suspension(_, active, _, _, _, _)
19537 -> ( A=suspension(_, _, _, _, B, C),
19538 setarg(2, A, removed),
19539 term_variables(term(B, C), H),
19540 ( arg(4, A, D),
19541 ( var(D)
19542 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
19543 E),
19544 E=[_|F],
19545 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
19546 F),
19547 ( F=[G|_]
19548 -> setarg(4, G, _)
19549 ; true
19550 )
19551 ; D=[_, _|F],
19552 setarg(2, D, F),
19553 ( F=[G|_]
19554 -> setarg(4, G, D)
19555 ; true
19556 )
19557 )
19558 ),
19559 'detach_known/1_1_$special_=/2___2'(H, A)
19560 ),
19561 'known/1_1_$special_fail/0___0__14__0__38'(I)
19562 ; 'known/1_1_$special_fail/0___0__14__0__38'(I)
19563 ).
19564'known/1_1_$special_fail/0___0__14' :-
19565 'known/1_1_$special_fail/0___0__15'.
19566'known/1_1_$special_fail/0___0__15' :-
19567 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
19568 A), !,
19569 'known/1_1_$special_fail/0___0__15__0__40'(A).
19570'known/1_1_$special_fail/0___0__15__0__40'([]) :-
19571 'known/1_1_$special_fail/0___0__16'.
19572'known/1_1_$special_fail/0___0__15__0__40'([A|I]) :-
19573 ( A=suspension(_, active, _, _, _, _, _)
19574 -> ( A=suspension(_, _, _, _, _, B, C),
19575 setarg(2, A, removed),
19576 term_variables(term(B, C), H),
19577 ( arg(5, A, D),
19578 ( var(D)
19579 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
19580 E),
19581 E=[_|F],
19582 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
19583 F),
19584 ( F=[G|_]
19585 -> setarg(5, G, _)
19586 ; true
19587 )
19588 ; D=[_, _|F],
19589 setarg(2, D, F),
19590 ( F=[G|_]
19591 -> setarg(5, G, D)
19592 ; true
19593 )
19594 )
19595 ),
19596 'detach_known/1_1_$special_\\==/2___2'(H, A)
19597 ),
19598 'known/1_1_$special_fail/0___0__15__0__40'(I)
19599 ; 'known/1_1_$special_fail/0___0__15__0__40'(I)
19600 ).
19601'known/1_1_$special_fail/0___0__15' :-
19602 'known/1_1_$special_fail/0___0__16'.
19603'known/1_1_$special_fail/0___0__16' :-
19604 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
19605 A), !,
19606 'known/1_1_$special_fail/0___0__16__0__41'(A).
19607'known/1_1_$special_fail/0___0__16__0__41'([]) :-
19608 'known/1_1_$special_fail/0___0__17'.
19609'known/1_1_$special_fail/0___0__16__0__41'([A|I]) :-
19610 ( A=suspension(_, active, _, _, _, _, _)
19611 -> ( A=suspension(_, _, _, _, _, B, C),
19612 setarg(2, A, removed),
19613 term_variables(term(B, C), H),
19614 ( arg(5, A, D),
19615 ( var(D)
19616 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
19617 E),
19618 E=[_|F],
19619 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
19620 F),
19621 ( F=[G|_]
19622 -> setarg(5, G, _)
19623 ; true
19624 )
19625 ; D=[_, _|F],
19626 setarg(2, D, F),
19627 ( F=[G|_]
19628 -> setarg(5, G, D)
19629 ; true
19630 )
19631 )
19632 ),
19633 'detach_known/1_1_$special_==/2___2'(H, A)
19634 ),
19635 'known/1_1_$special_fail/0___0__16__0__41'(I)
19636 ; 'known/1_1_$special_fail/0___0__16__0__41'(I)
19637 ).
19638'known/1_1_$special_fail/0___0__16' :-
19639 'known/1_1_$special_fail/0___0__17'.
19640'known/1_1_$special_fail/0___0__17' :-
19641 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
19642 A), !,
19643 'known/1_1_$special_fail/0___0__17__0__46'(A).
19644'known/1_1_$special_fail/0___0__17__0__46'([]) :-
19645 'known/1_1_$special_fail/0___0__18'.
19646'known/1_1_$special_fail/0___0__17__0__46'([A|I]) :-
19647 ( A=suspension(_, active, _, _, _, _, _)
19648 -> ( A=suspension(_, _, _, _, _, B, C),
19649 setarg(2, A, removed),
19650 term_variables(term(B, C), H),
19651 ( arg(5, A, D),
19652 ( var(D)
19653 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
19654 E),
19655 E=[_|F],
19656 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
19657 F),
19658 ( F=[G|_]
19659 -> setarg(5, G, _)
19660 ; true
19661 )
19662 ; D=[_, _|F],
19663 setarg(2, D, F),
19664 ( F=[G|_]
19665 -> setarg(5, G, D)
19666 ; true
19667 )
19668 )
19669 ),
19670 'detach_known/1_1_$special_=</2___2'(H, A)
19671 ),
19672 'known/1_1_$special_fail/0___0__17__0__46'(I)
19673 ; 'known/1_1_$special_fail/0___0__17__0__46'(I)
19674 ).
19675'known/1_1_$special_fail/0___0__17' :-
19676 'known/1_1_$special_fail/0___0__18'.
19677'known/1_1_$special_fail/0___0__18' :-
19678 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
19679 A), !,
19680 'known/1_1_$special_fail/0___0__18__0__47'(A).
19681'known/1_1_$special_fail/0___0__18__0__47'([]) :-
19682 'known/1_1_$special_fail/0___0__19'.
19683'known/1_1_$special_fail/0___0__18__0__47'([A|I]) :-
19684 ( A=suspension(_, active, _, _, _, _, _)
19685 -> ( A=suspension(_, _, _, _, _, B, C),
19686 setarg(2, A, removed),
19687 term_variables(term(B, C), H),
19688 ( arg(5, A, D),
19689 ( var(D)
19690 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
19691 E),
19692 E=[_|F],
19693 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
19694 F),
19695 ( F=[G|_]
19696 -> setarg(5, G, _)
19697 ; true
19698 )
19699 ; D=[_, _|F],
19700 setarg(2, D, F),
19701 ( F=[G|_]
19702 -> setarg(5, G, D)
19703 ; true
19704 )
19705 )
19706 ),
19707 'detach_known/1_1_$special_=:=/2___2'(H, A)
19708 ),
19709 'known/1_1_$special_fail/0___0__18__0__47'(I)
19710 ; 'known/1_1_$special_fail/0___0__18__0__47'(I)
19711 ).
19712'known/1_1_$special_fail/0___0__18' :-
19713 'known/1_1_$special_fail/0___0__19'.
19714'known/1_1_$special_fail/0___0__19' :-
19715 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
19716 A), !,
19717 'known/1_1_$special_fail/0___0__19__0__50'(A).
19718'known/1_1_$special_fail/0___0__19__0__50'([]) :-
19719 'known/1_1_$special_fail/0___0__20'.
19720'known/1_1_$special_fail/0___0__19__0__50'([A|H]) :-
19721 ( A=suspension(_, active, _, _, _)
19722 -> ( A=suspension(_, _, _, _, B),
19723 setarg(2, A, removed),
19724 term_variables(B, G),
19725 ( arg(4, A, C),
19726 ( var(C)
19727 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
19728 D),
19729 D=[_|E],
19730 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
19731 E),
19732 ( E=[F|_]
19733 -> setarg(4, F, _)
19734 ; true
19735 )
19736 ; C=[_, _|E],
19737 setarg(2, C, E),
19738 ( E=[F|_]
19739 -> setarg(4, F, C)
19740 ; true
19741 )
19742 )
19743 ),
19744 'detach_known/1_1_$default___1'(G, A)
19745 ),
19746 'known/1_1_$special_fail/0___0__19__0__50'(H)
19747 ; 'known/1_1_$special_fail/0___0__19__0__50'(H)
19748 ).
19749'known/1_1_$special_fail/0___0__19' :-
19750 'known/1_1_$special_fail/0___0__20'.
19751'known/1_1_$special_fail/0___0__20' :-
19752 B=suspension(A, active, _),
19753 'chr gen_id'(A),
19754 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
19755 C),
19756 D=[B|C],
19757 b_setval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
19758 D),
19759 ( C=[E|_]
19760 -> setarg(3, E, D)
19761 ; true
19762 ).
19763:- (multifile chr:'$chr_module'/1).19764chr:'$chr_module'(guard_entailment)