7
8:- module(guard_entailment,
9 [ entails_guard/2,
10 simplify_guards/5
11 ]). 12:- use_module(chr(chr_runtime)). 13:- style_check(- (discontiguous)). 14:- style_check(-singleton). 15:- style_check(-no_effect). 16:- include(chr(chr_op)).
17:- use_module(library(dialect/hprolog)). 18:- use_module(chr(builtins)). 19:- use_module(chr(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 !,
27 test(F),
28 !,
29 cleanup.
30entails_guard2([]).
31entails_guard2([A|B]) :-
32 known(A),
33 entails_guard2(B).
34simplify_guards(A, I, B, H, J) :-
35 copy_term_nat((A, B), (C, F)),
36 term_variables(C, D),
37 variables(D),
38 sort(C, E),
39 entails_guard2(E),
40 !,
41 simplify(F, G),
42 simplified(B, G, H, I, J),
43 !,
44 cleanup.
45simplified([], [], [], A, A).
46simplified([A|B], [keep|C], [A|D], E, F) :-
47 simplified(B, C, D, E, F).
48simplified([_|_], [fail|_], fail, A, A).
49simplified([A|B], [true|L], [I|M], F, J) :-
50 builtins:binds_b(A, C),
51 term_variables(B, D),
52 intersect_eq(C, D, E),
53 !,
54 ( E=[]
55 -> term_variables(F, G),
56 intersect_eq(C, G, H),
57 !,
58 ( H=[]
59 -> I=true,
60 J=K
61 ; I=true,
62 J=(A, K)
63 )
64 ; I=A,
65 J=K
66 ),
67 simplified(B, L, M, F, K).
68simplify([], []).
69simplify([A|D], [B|E]) :-
70 ( \+ try(true, A)
71 -> B=true
72 ; builtins:negate_b(A, C),
73 ( \+ try(true, C)
74 -> B=fail
75 ; B=keep
76 )
77 ),
78 known(A),
79 simplify(D, E).
80try(A, B) :-
81 ( known(A)
82 -> true
83 ; chr_error(internal, 'Entailment Checker: try/2.\n', [])
84 ),
85 ( test(B)
86 -> fail
87 ; true
88 ).
89add_args_unif([], [], true).
90add_args_unif([A|C], [B|D], (A=B, E)) :-
91 add_args_unif(C, D, E).
92add_args_nunif([], [], fail).
93add_args_nunif([A|C], [B|D], (A\=B;E)) :-
94 add_args_nunif(C, D, E).
95add_args_nmatch([], [], fail).
96add_args_nmatch([A|C], [B|D], (A\==B;E)) :-
97 add_args_nmatch(C, D, E).
98all_unique_vars(A, B) :-
99 all_unique_vars(A, B, []).
100all_unique_vars([], _, _).
101all_unique_vars([A|D], B, C) :-
102 var(A),
103 \+ memberchk_eq(A, B),
104 \+ memberchk_eq(A, C),
105 all_unique_vars(D, [A|C]).
106:- use_module(chr(chr_runtime)). 107attach_variables___1([], _).
108attach_variables___1([A|B1], D) :-
109 ( get_attr(A, guard_entailment, B)
110 -> ( B=v(C, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y),
111 ( C/\1=:=1
112 -> 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)
113 ; A1 is C\/1,
114 Z=v(A1, [D], F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)
115 )
116 ),
117 put_attr(A, guard_entailment, Z)
118 ; put_attr(A,
119 guard_entailment,
120 v(1,
121 [D],
122 [],
123 [],
124 [],
125 [],
126 [],
127 [],
128 [],
129 [],
130 [],
131 [],
132 [],
133 [],
134 [],
135 [],
136 [],
137 [],
138 [],
139 [],
140 [],
141 []))
142 ),
143 attach_variables___1(B1, D).
144detach_variables___1([], _).
145detach_variables___1([A|B1], E) :-
146 ( get_attr(A, guard_entailment, B)
147 -> B=v(C, D, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1),
148 ( C/\1=:=1
149 -> 'chr sbag_del_element'(D, E, F),
150 ( F==[]
151 -> G is C/\ -2,
152 ( G==0
153 -> del_attr(A, guard_entailment)
154 ; put_attr(A,
155 guard_entailment,
156 v(G,
157 [],
158 H,
159 I,
160 J,
161 K,
162 L,
163 M,
164 N,
165 O,
166 P,
167 Q,
168 R,
169 S,
170 T,
171 U,
172 V,
173 W,
174 X,
175 Y,
176 Z,
177 A1))
178 )
179 ; put_attr(A,
180 guard_entailment,
181 v(C,
182 F,
183 H,
184 I,
185 J,
186 K,
187 L,
188 M,
189 N,
190 O,
191 P,
192 Q,
193 R,
194 S,
195 T,
196 U,
197 V,
198 W,
199 X,
200 Y,
201 Z,
202 A1))
203 )
204 ; true
205 )
206 ; true
207 ),
208 detach_variables___1(B1, E).
209'attach_known/1_1_$default___1'([], _).
210'attach_known/1_1_$default___1'([A|B1], E) :-
211 ( get_attr(A, guard_entailment, B)
212 -> ( B=v(C, D, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y),
213 ( C/\2=:=2
214 -> 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)
215 ; A1 is C\/2,
216 Z=v(A1, D, [E], G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)
217 )
218 ),
219 put_attr(A, guard_entailment, Z)
220 ; put_attr(A,
221 guard_entailment,
222 v(2,
223 [],
224 [E],
225 [],
226 [],
227 [],
228 [],
229 [],
230 [],
231 [],
232 [],
233 [],
234 [],
235 [],
236 [],
237 [],
238 [],
239 [],
240 [],
241 [],
242 [],
243 []))
244 ),
245 'attach_known/1_1_$default___1'(B1, E).
246'detach_known/1_1_$default___1'([], _).
247'detach_known/1_1_$default___1'([A|B1], E) :-
248 ( get_attr(A, guard_entailment, B)
249 -> B=v(C, H, D, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1),
250 ( C/\2=:=2
251 -> 'chr sbag_del_element'(D, E, F),
252 ( F==[]
253 -> G is C/\ -3,
254 ( G==0
255 -> del_attr(A, guard_entailment)
256 ; put_attr(A,
257 guard_entailment,
258 v(G,
259 H,
260 [],
261 I,
262 J,
263 K,
264 L,
265 M,
266 N,
267 O,
268 P,
269 Q,
270 R,
271 S,
272 T,
273 U,
274 V,
275 W,
276 X,
277 Y,
278 Z,
279 A1))
280 )
281 ; put_attr(A,
282 guard_entailment,
283 v(C,
284 H,
285 F,
286 I,
287 J,
288 K,
289 L,
290 M,
291 N,
292 O,
293 P,
294 Q,
295 R,
296 S,
297 T,
298 U,
299 V,
300 W,
301 X,
302 Y,
303 Z,
304 A1))
305 )
306 ; true
307 )
308 ; true
309 ),
310 'detach_known/1_1_$default___1'(B1, E).
311'attach_known/1_1_$special_;/2___2'([], _).
312'attach_known/1_1_$special_;/2___2'([A|B1], F) :-
313 ( get_attr(A, guard_entailment, B)
314 -> ( B=v(C, D, E, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y),
315 ( C/\4=:=4
316 -> 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)
317 ; A1 is C\/4,
318 Z=v(A1, D, E, [F], H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)
319 )
320 ),
321 put_attr(A, guard_entailment, Z)
322 ; put_attr(A,
323 guard_entailment,
324 v(4,
325 [],
326 [],
327 [F],
328 [],
329 [],
330 [],
331 [],
332 [],
333 [],
334 [],
335 [],
336 [],
337 [],
338 [],
339 [],
340 [],
341 [],
342 [],
343 [],
344 [],
345 []))
346 ),
347 'attach_known/1_1_$special_;/2___2'(B1, F).
348'detach_known/1_1_$special_;/2___2'([], _).
349'detach_known/1_1_$special_;/2___2'([A|B1], E) :-
350 ( get_attr(A, guard_entailment, B)
351 -> B=v(C, H, I, D, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1),
352 ( C/\4=:=4
353 -> 'chr sbag_del_element'(D, E, F),
354 ( F==[]
355 -> G is C/\ -5,
356 ( G==0
357 -> del_attr(A, guard_entailment)
358 ; put_attr(A,
359 guard_entailment,
360 v(G,
361 H,
362 I,
363 [],
364 J,
365 K,
366 L,
367 M,
368 N,
369 O,
370 P,
371 Q,
372 R,
373 S,
374 T,
375 U,
376 V,
377 W,
378 X,
379 Y,
380 Z,
381 A1))
382 )
383 ; put_attr(A,
384 guard_entailment,
385 v(C,
386 H,
387 I,
388 F,
389 J,
390 K,
391 L,
392 M,
393 N,
394 O,
395 P,
396 Q,
397 R,
398 S,
399 T,
400 U,
401 V,
402 W,
403 X,
404 Y,
405 Z,
406 A1))
407 )
408 ; true
409 )
410 ; true
411 ),
412 'detach_known/1_1_$special_;/2___2'(B1, E).
413'attach_known/1_1_$special_nonvar/1___1'([], _).
414'attach_known/1_1_$special_nonvar/1___1'([A|B1], G) :-
415 ( get_attr(A, guard_entailment, B)
416 -> ( B=v(C, D, E, F, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y),
417 ( C/\8=:=8
418 -> 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)
419 ; A1 is C\/8,
420 Z=v(A1, D, E, F, [G], I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)
421 )
422 ),
423 put_attr(A, guard_entailment, Z)
424 ; put_attr(A,
425 guard_entailment,
426 v(8,
427 [],
428 [],
429 [],
430 [G],
431 [],
432 [],
433 [],
434 [],
435 [],
436 [],
437 [],
438 [],
439 [],
440 [],
441 [],
442 [],
443 [],
444 [],
445 [],
446 [],
447 []))
448 ),
449 'attach_known/1_1_$special_nonvar/1___1'(B1, G).
450'detach_known/1_1_$special_nonvar/1___1'([], _).
451'detach_known/1_1_$special_nonvar/1___1'([A|B1], E) :-
452 ( get_attr(A, guard_entailment, B)
453 -> B=v(C, H, I, J, D, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1),
454 ( C/\8=:=8
455 -> 'chr sbag_del_element'(D, E, F),
456 ( F==[]
457 -> G is C/\ -9,
458 ( G==0
459 -> del_attr(A, guard_entailment)
460 ; put_attr(A,
461 guard_entailment,
462 v(G,
463 H,
464 I,
465 J,
466 [],
467 K,
468 L,
469 M,
470 N,
471 O,
472 P,
473 Q,
474 R,
475 S,
476 T,
477 U,
478 V,
479 W,
480 X,
481 Y,
482 Z,
483 A1))
484 )
485 ; put_attr(A,
486 guard_entailment,
487 v(C,
488 H,
489 I,
490 J,
491 F,
492 K,
493 L,
494 M,
495 N,
496 O,
497 P,
498 Q,
499 R,
500 S,
501 T,
502 U,
503 V,
504 W,
505 X,
506 Y,
507 Z,
508 A1))
509 )
510 ; true
511 )
512 ; true
513 ),
514 'detach_known/1_1_$special_nonvar/1___1'(B1, E).
515'attach_known/1_1_$special_var/1___1'([], _).
516'attach_known/1_1_$special_var/1___1'([A|B1], H) :-
517 ( get_attr(A, guard_entailment, B)
518 -> ( B=v(C, D, E, F, G, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y),
519 ( C/\16=:=16
520 -> 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)
521 ; A1 is C\/16,
522 Z=v(A1, D, E, F, G, [H], J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)
523 )
524 ),
525 put_attr(A, guard_entailment, Z)
526 ; put_attr(A,
527 guard_entailment,
528 v(16,
529 [],
530 [],
531 [],
532 [],
533 [H],
534 [],
535 [],
536 [],
537 [],
538 [],
539 [],
540 [],
541 [],
542 [],
543 [],
544 [],
545 [],
546 [],
547 [],
548 [],
549 []))
550 ),
551 'attach_known/1_1_$special_var/1___1'(B1, H).
552'detach_known/1_1_$special_var/1___1'([], _).
553'detach_known/1_1_$special_var/1___1'([A|B1], E) :-
554 ( get_attr(A, guard_entailment, B)
555 -> B=v(C, H, I, J, K, D, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1),
556 ( C/\16=:=16
557 -> 'chr sbag_del_element'(D, E, F),
558 ( F==[]
559 -> G is C/\ -17,
560 ( G==0
561 -> del_attr(A, guard_entailment)
562 ; put_attr(A,
563 guard_entailment,
564 v(G,
565 H,
566 I,
567 J,
568 K,
569 [],
570 L,
571 M,
572 N,
573 O,
574 P,
575 Q,
576 R,
577 S,
578 T,
579 U,
580 V,
581 W,
582 X,
583 Y,
584 Z,
585 A1))
586 )
587 ; put_attr(A,
588 guard_entailment,
589 v(C,
590 H,
591 I,
592 J,
593 K,
594 F,
595 L,
596 M,
597 N,
598 O,
599 P,
600 Q,
601 R,
602 S,
603 T,
604 U,
605 V,
606 W,
607 X,
608 Y,
609 Z,
610 A1))
611 )
612 ; true
613 )
614 ; true
615 ),
616 'detach_known/1_1_$special_var/1___1'(B1, E).
617'attach_known/1_1_$special_atom/1___1'([], _).
618'attach_known/1_1_$special_atom/1___1'([A|B1], I) :-
619 ( get_attr(A, guard_entailment, B)
620 -> ( B=v(C, D, E, F, G, H, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y),
621 ( C/\32=:=32
622 -> 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)
623 ; A1 is C\/32,
624 Z=v(A1, D, E, F, G, H, [I], K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)
625 )
626 ),
627 put_attr(A, guard_entailment, Z)
628 ; put_attr(A,
629 guard_entailment,
630 v(32,
631 [],
632 [],
633 [],
634 [],
635 [],
636 [I],
637 [],
638 [],
639 [],
640 [],
641 [],
642 [],
643 [],
644 [],
645 [],
646 [],
647 [],
648 [],
649 [],
650 [],
651 []))
652 ),
653 'attach_known/1_1_$special_atom/1___1'(B1, I).
654'detach_known/1_1_$special_atom/1___1'([], _).
655'detach_known/1_1_$special_atom/1___1'([A|B1], E) :-
656 ( get_attr(A, guard_entailment, B)
657 -> B=v(C, H, I, J, K, L, D, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1),
658 ( C/\32=:=32
659 -> 'chr sbag_del_element'(D, E, F),
660 ( F==[]
661 -> G is C/\ -33,
662 ( G==0
663 -> del_attr(A, guard_entailment)
664 ; put_attr(A,
665 guard_entailment,
666 v(G,
667 H,
668 I,
669 J,
670 K,
671 L,
672 [],
673 M,
674 N,
675 O,
676 P,
677 Q,
678 R,
679 S,
680 T,
681 U,
682 V,
683 W,
684 X,
685 Y,
686 Z,
687 A1))
688 )
689 ; put_attr(A,
690 guard_entailment,
691 v(C,
692 H,
693 I,
694 J,
695 K,
696 L,
697 F,
698 M,
699 N,
700 O,
701 P,
702 Q,
703 R,
704 S,
705 T,
706 U,
707 V,
708 W,
709 X,
710 Y,
711 Z,
712 A1))
713 )
714 ; true
715 )
716 ; true
717 ),
718 'detach_known/1_1_$special_atom/1___1'(B1, E).
719'attach_known/1_1_$special_atomic/1___1'([], _).
720'attach_known/1_1_$special_atomic/1___1'([A|B1], J) :-
721 ( get_attr(A, guard_entailment, B)
722 -> ( B=v(C, D, E, F, G, H, I, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y),
723 ( C/\64=:=64
724 -> 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)
725 ; A1 is C\/64,
726 Z=v(A1, D, E, F, G, H, I, [J], L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)
727 )
728 ),
729 put_attr(A, guard_entailment, Z)
730 ; put_attr(A,
731 guard_entailment,
732 v(64,
733 [],
734 [],
735 [],
736 [],
737 [],
738 [],
739 [J],
740 [],
741 [],
742 [],
743 [],
744 [],
745 [],
746 [],
747 [],
748 [],
749 [],
750 [],
751 [],
752 [],
753 []))
754 ),
755 'attach_known/1_1_$special_atomic/1___1'(B1, J).
756'detach_known/1_1_$special_atomic/1___1'([], _).
757'detach_known/1_1_$special_atomic/1___1'([A|B1], E) :-
758 ( get_attr(A, guard_entailment, B)
759 -> B=v(C, H, I, J, K, L, M, D, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1),
760 ( C/\64=:=64
761 -> 'chr sbag_del_element'(D, E, F),
762 ( F==[]
763 -> G is C/\ -65,
764 ( G==0
765 -> del_attr(A, guard_entailment)
766 ; put_attr(A,
767 guard_entailment,
768 v(G,
769 H,
770 I,
771 J,
772 K,
773 L,
774 M,
775 [],
776 N,
777 O,
778 P,
779 Q,
780 R,
781 S,
782 T,
783 U,
784 V,
785 W,
786 X,
787 Y,
788 Z,
789 A1))
790 )
791 ; put_attr(A,
792 guard_entailment,
793 v(C,
794 H,
795 I,
796 J,
797 K,
798 L,
799 M,
800 F,
801 N,
802 O,
803 P,
804 Q,
805 R,
806 S,
807 T,
808 U,
809 V,
810 W,
811 X,
812 Y,
813 Z,
814 A1))
815 )
816 ; true
817 )
818 ; true
819 ),
820 'detach_known/1_1_$special_atomic/1___1'(B1, E).
821'attach_known/1_1_$special_compound/1___1'([], _).
822'attach_known/1_1_$special_compound/1___1'([A|B1], K) :-
823 ( get_attr(A, guard_entailment, B)
824 -> ( B=v(C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y),
825 ( C/\128=:=128
826 -> 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)
827 ; A1 is C\/128,
828 Z=v(A1, D, E, F, G, H, I, J, [K], M, N, O, P, Q, R, S, T, U, V, W, X, Y)
829 )
830 ),
831 put_attr(A, guard_entailment, Z)
832 ; put_attr(A,
833 guard_entailment,
834 v(128,
835 [],
836 [],
837 [],
838 [],
839 [],
840 [],
841 [],
842 [K],
843 [],
844 [],
845 [],
846 [],
847 [],
848 [],
849 [],
850 [],
851 [],
852 [],
853 [],
854 [],
855 []))
856 ),
857 'attach_known/1_1_$special_compound/1___1'(B1, K).
858'detach_known/1_1_$special_compound/1___1'([], _).
859'detach_known/1_1_$special_compound/1___1'([A|B1], E) :-
860 ( get_attr(A, guard_entailment, B)
861 -> B=v(C, H, I, J, K, L, M, N, D, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1),
862 ( C/\128=:=128
863 -> 'chr sbag_del_element'(D, E, F),
864 ( F==[]
865 -> G is C/\ -129,
866 ( G==0
867 -> del_attr(A, guard_entailment)
868 ; put_attr(A,
869 guard_entailment,
870 v(G,
871 H,
872 I,
873 J,
874 K,
875 L,
876 M,
877 N,
878 [],
879 O,
880 P,
881 Q,
882 R,
883 S,
884 T,
885 U,
886 V,
887 W,
888 X,
889 Y,
890 Z,
891 A1))
892 )
893 ; put_attr(A,
894 guard_entailment,
895 v(C,
896 H,
897 I,
898 J,
899 K,
900 L,
901 M,
902 N,
903 F,
904 O,
905 P,
906 Q,
907 R,
908 S,
909 T,
910 U,
911 V,
912 W,
913 X,
914 Y,
915 Z,
916 A1))
917 )
918 ; true
919 )
920 ; true
921 ),
922 'detach_known/1_1_$special_compound/1___1'(B1, E).
923'attach_known/1_1_$special_ground/1___1'([], _).
924'attach_known/1_1_$special_ground/1___1'([A|B1], L) :-
925 ( get_attr(A, guard_entailment, B)
926 -> ( B=v(C, D, E, F, G, H, I, J, K, M, N, O, P, Q, R, S, T, U, V, W, X, Y),
927 ( C/\256=:=256
928 -> 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)
929 ; A1 is C\/256,
930 Z=v(A1, D, E, F, G, H, I, J, K, [L], N, O, P, Q, R, S, T, U, V, W, X, Y)
931 )
932 ),
933 put_attr(A, guard_entailment, Z)
934 ; put_attr(A,
935 guard_entailment,
936 v(256,
937 [],
938 [],
939 [],
940 [],
941 [],
942 [],
943 [],
944 [],
945 [L],
946 [],
947 [],
948 [],
949 [],
950 [],
951 [],
952 [],
953 [],
954 [],
955 [],
956 [],
957 []))
958 ),
959 'attach_known/1_1_$special_ground/1___1'(B1, L).
960'detach_known/1_1_$special_ground/1___1'([], _).
961'detach_known/1_1_$special_ground/1___1'([A|B1], E) :-
962 ( get_attr(A, guard_entailment, B)
963 -> B=v(C, H, I, J, K, L, M, N, O, D, P, Q, R, S, T, U, V, W, X, Y, Z, A1),
964 ( C/\256=:=256
965 -> 'chr sbag_del_element'(D, E, F),
966 ( F==[]
967 -> G is C/\ -257,
968 ( G==0
969 -> del_attr(A, guard_entailment)
970 ; put_attr(A,
971 guard_entailment,
972 v(G,
973 H,
974 I,
975 J,
976 K,
977 L,
978 M,
979 N,
980 O,
981 [],
982 P,
983 Q,
984 R,
985 S,
986 T,
987 U,
988 V,
989 W,
990 X,
991 Y,
992 Z,
993 A1))
994 )
995 ; put_attr(A,
996 guard_entailment,
997 v(C,
998 H,
999 I,
1000 J,
1001 K,
1002 L,
1003 M,
1004 N,
1005 O,
1006 F,
1007 P,
1008 Q,
1009 R,
1010 S,
1011 T,
1012 U,
1013 V,
1014 W,
1015 X,
1016 Y,
1017 Z,
1018 A1))
1019 )
1020 ; true
1021 )
1022 ; true
1023 ),
1024 'detach_known/1_1_$special_ground/1___1'(B1, E).
1025'attach_known/1_1_$special_integer/1___1'([], _).
1026'attach_known/1_1_$special_integer/1___1'([A|B1], M) :-
1027 ( get_attr(A, guard_entailment, B)
1028 -> ( B=v(C, D, E, F, G, H, I, J, K, L, N, O, P, Q, R, S, T, U, V, W, X, Y),
1029 ( C/\512=:=512
1030 -> 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)
1031 ; A1 is C\/512,
1032 Z=v(A1, D, E, F, G, H, I, J, K, L, [M], O, P, Q, R, S, T, U, V, W, X, Y)
1033 )
1034 ),
1035 put_attr(A, guard_entailment, Z)
1036 ; put_attr(A,
1037 guard_entailment,
1038 v(512,
1039 [],
1040 [],
1041 [],
1042 [],
1043 [],
1044 [],
1045 [],
1046 [],
1047 [],
1048 [M],
1049 [],
1050 [],
1051 [],
1052 [],
1053 [],
1054 [],
1055 [],
1056 [],
1057 [],
1058 [],
1059 []))
1060 ),
1061 'attach_known/1_1_$special_integer/1___1'(B1, M).
1062'detach_known/1_1_$special_integer/1___1'([], _).
1063'detach_known/1_1_$special_integer/1___1'([A|B1], E) :-
1064 ( get_attr(A, guard_entailment, B)
1065 -> B=v(C, H, I, J, K, L, M, N, O, P, D, Q, R, S, T, U, V, W, X, Y, Z, A1),
1066 ( C/\512=:=512
1067 -> 'chr sbag_del_element'(D, E, F),
1068 ( F==[]
1069 -> G is C/\ -513,
1070 ( G==0
1071 -> del_attr(A, guard_entailment)
1072 ; put_attr(A,
1073 guard_entailment,
1074 v(G,
1075 H,
1076 I,
1077 J,
1078 K,
1079 L,
1080 M,
1081 N,
1082 O,
1083 P,
1084 [],
1085 Q,
1086 R,
1087 S,
1088 T,
1089 U,
1090 V,
1091 W,
1092 X,
1093 Y,
1094 Z,
1095 A1))
1096 )
1097 ; put_attr(A,
1098 guard_entailment,
1099 v(C,
1100 H,
1101 I,
1102 J,
1103 K,
1104 L,
1105 M,
1106 N,
1107 O,
1108 P,
1109 F,
1110 Q,
1111 R,
1112 S,
1113 T,
1114 U,
1115 V,
1116 W,
1117 X,
1118 Y,
1119 Z,
1120 A1))
1121 )
1122 ; true
1123 )
1124 ; true
1125 ),
1126 'detach_known/1_1_$special_integer/1___1'(B1, E).
1127'attach_known/1_1_$special_float/1___1'([], _).
1128'attach_known/1_1_$special_float/1___1'([A|B1], N) :-
1129 ( get_attr(A, guard_entailment, B)
1130 -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, O, P, Q, R, S, T, U, V, W, X, Y),
1131 ( C/\1024=:=1024
1132 -> 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)
1133 ; A1 is C\/1024,
1134 Z=v(A1, D, E, F, G, H, I, J, K, L, M, [N], P, Q, R, S, T, U, V, W, X, Y)
1135 )
1136 ),
1137 put_attr(A, guard_entailment, Z)
1138 ; put_attr(A,
1139 guard_entailment,
1140 v(1024,
1141 [],
1142 [],
1143 [],
1144 [],
1145 [],
1146 [],
1147 [],
1148 [],
1149 [],
1150 [],
1151 [N],
1152 [],
1153 [],
1154 [],
1155 [],
1156 [],
1157 [],
1158 [],
1159 [],
1160 [],
1161 []))
1162 ),
1163 'attach_known/1_1_$special_float/1___1'(B1, N).
1164'detach_known/1_1_$special_float/1___1'([], _).
1165'detach_known/1_1_$special_float/1___1'([A|B1], E) :-
1166 ( get_attr(A, guard_entailment, B)
1167 -> B=v(C, H, I, J, K, L, M, N, O, P, Q, D, R, S, T, U, V, W, X, Y, Z, A1),
1168 ( C/\1024=:=1024
1169 -> 'chr sbag_del_element'(D, E, F),
1170 ( F==[]
1171 -> G is C/\ -1025,
1172 ( G==0
1173 -> del_attr(A, guard_entailment)
1174 ; put_attr(A,
1175 guard_entailment,
1176 v(G,
1177 H,
1178 I,
1179 J,
1180 K,
1181 L,
1182 M,
1183 N,
1184 O,
1185 P,
1186 Q,
1187 [],
1188 R,
1189 S,
1190 T,
1191 U,
1192 V,
1193 W,
1194 X,
1195 Y,
1196 Z,
1197 A1))
1198 )
1199 ; put_attr(A,
1200 guard_entailment,
1201 v(C,
1202 H,
1203 I,
1204 J,
1205 K,
1206 L,
1207 M,
1208 N,
1209 O,
1210 P,
1211 Q,
1212 F,
1213 R,
1214 S,
1215 T,
1216 U,
1217 V,
1218 W,
1219 X,
1220 Y,
1221 Z,
1222 A1))
1223 )
1224 ; true
1225 )
1226 ; true
1227 ),
1228 'detach_known/1_1_$special_float/1___1'(B1, E).
1229'attach_known/1_1_$special_number/1___1'([], _).
1230'attach_known/1_1_$special_number/1___1'([A|B1], O) :-
1231 ( get_attr(A, guard_entailment, B)
1232 -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, P, Q, R, S, T, U, V, W, X, Y),
1233 ( C/\2048=:=2048
1234 -> 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)
1235 ; A1 is C\/2048,
1236 Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, [O], Q, R, S, T, U, V, W, X, Y)
1237 )
1238 ),
1239 put_attr(A, guard_entailment, Z)
1240 ; put_attr(A,
1241 guard_entailment,
1242 v(2048,
1243 [],
1244 [],
1245 [],
1246 [],
1247 [],
1248 [],
1249 [],
1250 [],
1251 [],
1252 [],
1253 [],
1254 [O],
1255 [],
1256 [],
1257 [],
1258 [],
1259 [],
1260 [],
1261 [],
1262 [],
1263 []))
1264 ),
1265 'attach_known/1_1_$special_number/1___1'(B1, O).
1266'detach_known/1_1_$special_number/1___1'([], _).
1267'detach_known/1_1_$special_number/1___1'([A|B1], E) :-
1268 ( get_attr(A, guard_entailment, B)
1269 -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, D, S, T, U, V, W, X, Y, Z, A1),
1270 ( C/\2048=:=2048
1271 -> 'chr sbag_del_element'(D, E, F),
1272 ( F==[]
1273 -> G is C/\ -2049,
1274 ( G==0
1275 -> del_attr(A, guard_entailment)
1276 ; put_attr(A,
1277 guard_entailment,
1278 v(G,
1279 H,
1280 I,
1281 J,
1282 K,
1283 L,
1284 M,
1285 N,
1286 O,
1287 P,
1288 Q,
1289 R,
1290 [],
1291 S,
1292 T,
1293 U,
1294 V,
1295 W,
1296 X,
1297 Y,
1298 Z,
1299 A1))
1300 )
1301 ; put_attr(A,
1302 guard_entailment,
1303 v(C,
1304 H,
1305 I,
1306 J,
1307 K,
1308 L,
1309 M,
1310 N,
1311 O,
1312 P,
1313 Q,
1314 R,
1315 F,
1316 S,
1317 T,
1318 U,
1319 V,
1320 W,
1321 X,
1322 Y,
1323 Z,
1324 A1))
1325 )
1326 ; true
1327 )
1328 ; true
1329 ),
1330 'detach_known/1_1_$special_number/1___1'(B1, E).
1331'attach_known/1_1_$special_=\\=/2___2'([], _).
1332'attach_known/1_1_$special_=\\=/2___2'([A|B1], P) :-
1333 ( get_attr(A, guard_entailment, B)
1334 -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, Q, R, S, T, U, V, W, X, Y),
1335 ( C/\4096=:=4096
1336 -> 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)
1337 ; A1 is C\/4096,
1338 Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, [P], R, S, T, U, V, W, X, Y)
1339 )
1340 ),
1341 put_attr(A, guard_entailment, Z)
1342 ; put_attr(A,
1343 guard_entailment,
1344 v(4096,
1345 [],
1346 [],
1347 [],
1348 [],
1349 [],
1350 [],
1351 [],
1352 [],
1353 [],
1354 [],
1355 [],
1356 [],
1357 [P],
1358 [],
1359 [],
1360 [],
1361 [],
1362 [],
1363 [],
1364 [],
1365 []))
1366 ),
1367 'attach_known/1_1_$special_=\\=/2___2'(B1, P).
1368'detach_known/1_1_$special_=\\=/2___2'([], _).
1369'detach_known/1_1_$special_=\\=/2___2'([A|B1], E) :-
1370 ( get_attr(A, guard_entailment, B)
1371 -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, D, T, U, V, W, X, Y, Z, A1),
1372 ( C/\4096=:=4096
1373 -> 'chr sbag_del_element'(D, E, F),
1374 ( F==[]
1375 -> G is C/\ -4097,
1376 ( G==0
1377 -> del_attr(A, guard_entailment)
1378 ; put_attr(A,
1379 guard_entailment,
1380 v(G,
1381 H,
1382 I,
1383 J,
1384 K,
1385 L,
1386 M,
1387 N,
1388 O,
1389 P,
1390 Q,
1391 R,
1392 S,
1393 [],
1394 T,
1395 U,
1396 V,
1397 W,
1398 X,
1399 Y,
1400 Z,
1401 A1))
1402 )
1403 ; put_attr(A,
1404 guard_entailment,
1405 v(C,
1406 H,
1407 I,
1408 J,
1409 K,
1410 L,
1411 M,
1412 N,
1413 O,
1414 P,
1415 Q,
1416 R,
1417 S,
1418 F,
1419 T,
1420 U,
1421 V,
1422 W,
1423 X,
1424 Y,
1425 Z,
1426 A1))
1427 )
1428 ; true
1429 )
1430 ; true
1431 ),
1432 'detach_known/1_1_$special_=\\=/2___2'(B1, E).
1433'attach_known/1_1_$special_\\+/1___1'([], _).
1434'attach_known/1_1_$special_\\+/1___1'([A|B1], Q) :-
1435 ( get_attr(A, guard_entailment, B)
1436 -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, R, S, T, U, V, W, X, Y),
1437 ( C/\8192=:=8192
1438 -> 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)
1439 ; A1 is C\/8192,
1440 Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, [Q], S, T, U, V, W, X, Y)
1441 )
1442 ),
1443 put_attr(A, guard_entailment, Z)
1444 ; put_attr(A,
1445 guard_entailment,
1446 v(8192,
1447 [],
1448 [],
1449 [],
1450 [],
1451 [],
1452 [],
1453 [],
1454 [],
1455 [],
1456 [],
1457 [],
1458 [],
1459 [],
1460 [Q],
1461 [],
1462 [],
1463 [],
1464 [],
1465 [],
1466 [],
1467 []))
1468 ),
1469 'attach_known/1_1_$special_\\+/1___1'(B1, Q).
1470'detach_known/1_1_$special_\\+/1___1'([], _).
1471'detach_known/1_1_$special_\\+/1___1'([A|B1], E) :-
1472 ( get_attr(A, guard_entailment, B)
1473 -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, D, U, V, W, X, Y, Z, A1),
1474 ( C/\8192=:=8192
1475 -> 'chr sbag_del_element'(D, E, F),
1476 ( F==[]
1477 -> G is C/\ -8193,
1478 ( G==0
1479 -> del_attr(A, guard_entailment)
1480 ; put_attr(A,
1481 guard_entailment,
1482 v(G,
1483 H,
1484 I,
1485 J,
1486 K,
1487 L,
1488 M,
1489 N,
1490 O,
1491 P,
1492 Q,
1493 R,
1494 S,
1495 T,
1496 [],
1497 U,
1498 V,
1499 W,
1500 X,
1501 Y,
1502 Z,
1503 A1))
1504 )
1505 ; put_attr(A,
1506 guard_entailment,
1507 v(C,
1508 H,
1509 I,
1510 J,
1511 K,
1512 L,
1513 M,
1514 N,
1515 O,
1516 P,
1517 Q,
1518 R,
1519 S,
1520 T,
1521 F,
1522 U,
1523 V,
1524 W,
1525 X,
1526 Y,
1527 Z,
1528 A1))
1529 )
1530 ; true
1531 )
1532 ; true
1533 ),
1534 'detach_known/1_1_$special_\\+/1___1'(B1, E).
1535'attach_known/1_1_$special_functor/3___3'([], _).
1536'attach_known/1_1_$special_functor/3___3'([A|B1], R) :-
1537 ( get_attr(A, guard_entailment, B)
1538 -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, S, T, U, V, W, X, Y),
1539 ( C/\16384=:=16384
1540 -> 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)
1541 ; A1 is C\/16384,
1542 Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, [R], T, U, V, W, X, Y)
1543 )
1544 ),
1545 put_attr(A, guard_entailment, Z)
1546 ; put_attr(A,
1547 guard_entailment,
1548 v(16384,
1549 [],
1550 [],
1551 [],
1552 [],
1553 [],
1554 [],
1555 [],
1556 [],
1557 [],
1558 [],
1559 [],
1560 [],
1561 [],
1562 [],
1563 [R],
1564 [],
1565 [],
1566 [],
1567 [],
1568 [],
1569 []))
1570 ),
1571 'attach_known/1_1_$special_functor/3___3'(B1, R).
1572'detach_known/1_1_$special_functor/3___3'([], _).
1573'detach_known/1_1_$special_functor/3___3'([A|B1], E) :-
1574 ( get_attr(A, guard_entailment, B)
1575 -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, D, V, W, X, Y, Z, A1),
1576 ( C/\16384=:=16384
1577 -> 'chr sbag_del_element'(D, E, F),
1578 ( F==[]
1579 -> G is C/\ -16385,
1580 ( G==0
1581 -> del_attr(A, guard_entailment)
1582 ; put_attr(A,
1583 guard_entailment,
1584 v(G,
1585 H,
1586 I,
1587 J,
1588 K,
1589 L,
1590 M,
1591 N,
1592 O,
1593 P,
1594 Q,
1595 R,
1596 S,
1597 T,
1598 U,
1599 [],
1600 V,
1601 W,
1602 X,
1603 Y,
1604 Z,
1605 A1))
1606 )
1607 ; put_attr(A,
1608 guard_entailment,
1609 v(C,
1610 H,
1611 I,
1612 J,
1613 K,
1614 L,
1615 M,
1616 N,
1617 O,
1618 P,
1619 Q,
1620 R,
1621 S,
1622 T,
1623 U,
1624 F,
1625 V,
1626 W,
1627 X,
1628 Y,
1629 Z,
1630 A1))
1631 )
1632 ; true
1633 )
1634 ; true
1635 ),
1636 'detach_known/1_1_$special_functor/3___3'(B1, E).
1637'attach_known/1_1_$special_\\=/2___2'([], _).
1638'attach_known/1_1_$special_\\=/2___2'([A|B1], S) :-
1639 ( get_attr(A, guard_entailment, B)
1640 -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, T, U, V, W, X, Y),
1641 ( C/\32768=:=32768
1642 -> 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)
1643 ; A1 is C\/32768,
1644 Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, [S], U, V, W, X, Y)
1645 )
1646 ),
1647 put_attr(A, guard_entailment, Z)
1648 ; put_attr(A,
1649 guard_entailment,
1650 v(32768,
1651 [],
1652 [],
1653 [],
1654 [],
1655 [],
1656 [],
1657 [],
1658 [],
1659 [],
1660 [],
1661 [],
1662 [],
1663 [],
1664 [],
1665 [],
1666 [S],
1667 [],
1668 [],
1669 [],
1670 [],
1671 []))
1672 ),
1673 'attach_known/1_1_$special_\\=/2___2'(B1, S).
1674'detach_known/1_1_$special_\\=/2___2'([], _).
1675'detach_known/1_1_$special_\\=/2___2'([A|B1], E) :-
1676 ( get_attr(A, guard_entailment, B)
1677 -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, D, W, X, Y, Z, A1),
1678 ( C/\32768=:=32768
1679 -> 'chr sbag_del_element'(D, E, F),
1680 ( F==[]
1681 -> G is C/\ -32769,
1682 ( G==0
1683 -> del_attr(A, guard_entailment)
1684 ; put_attr(A,
1685 guard_entailment,
1686 v(G,
1687 H,
1688 I,
1689 J,
1690 K,
1691 L,
1692 M,
1693 N,
1694 O,
1695 P,
1696 Q,
1697 R,
1698 S,
1699 T,
1700 U,
1701 V,
1702 [],
1703 W,
1704 X,
1705 Y,
1706 Z,
1707 A1))
1708 )
1709 ; put_attr(A,
1710 guard_entailment,
1711 v(C,
1712 H,
1713 I,
1714 J,
1715 K,
1716 L,
1717 M,
1718 N,
1719 O,
1720 P,
1721 Q,
1722 R,
1723 S,
1724 T,
1725 U,
1726 V,
1727 F,
1728 W,
1729 X,
1730 Y,
1731 Z,
1732 A1))
1733 )
1734 ; true
1735 )
1736 ; true
1737 ),
1738 'detach_known/1_1_$special_\\=/2___2'(B1, E).
1739'attach_known/1_1_$special_=/2___2'([], _).
1740'attach_known/1_1_$special_=/2___2'([A|B1], T) :-
1741 ( get_attr(A, guard_entailment, B)
1742 -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, U, V, W, X, Y),
1743 ( C/\65536=:=65536
1744 -> 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)
1745 ; A1 is C\/65536,
1746 Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, [T], V, W, X, Y)
1747 )
1748 ),
1749 put_attr(A, guard_entailment, Z)
1750 ; put_attr(A,
1751 guard_entailment,
1752 v(65536,
1753 [],
1754 [],
1755 [],
1756 [],
1757 [],
1758 [],
1759 [],
1760 [],
1761 [],
1762 [],
1763 [],
1764 [],
1765 [],
1766 [],
1767 [],
1768 [],
1769 [T],
1770 [],
1771 [],
1772 [],
1773 []))
1774 ),
1775 'attach_known/1_1_$special_=/2___2'(B1, T).
1776'detach_known/1_1_$special_=/2___2'([], _).
1777'detach_known/1_1_$special_=/2___2'([A|B1], E) :-
1778 ( get_attr(A, guard_entailment, B)
1779 -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, D, X, Y, Z, A1),
1780 ( C/\65536=:=65536
1781 -> 'chr sbag_del_element'(D, E, F),
1782 ( F==[]
1783 -> G is C/\ -65537,
1784 ( G==0
1785 -> del_attr(A, guard_entailment)
1786 ; put_attr(A,
1787 guard_entailment,
1788 v(G,
1789 H,
1790 I,
1791 J,
1792 K,
1793 L,
1794 M,
1795 N,
1796 O,
1797 P,
1798 Q,
1799 R,
1800 S,
1801 T,
1802 U,
1803 V,
1804 W,
1805 [],
1806 X,
1807 Y,
1808 Z,
1809 A1))
1810 )
1811 ; put_attr(A,
1812 guard_entailment,
1813 v(C,
1814 H,
1815 I,
1816 J,
1817 K,
1818 L,
1819 M,
1820 N,
1821 O,
1822 P,
1823 Q,
1824 R,
1825 S,
1826 T,
1827 U,
1828 V,
1829 W,
1830 F,
1831 X,
1832 Y,
1833 Z,
1834 A1))
1835 )
1836 ; true
1837 )
1838 ; true
1839 ),
1840 'detach_known/1_1_$special_=/2___2'(B1, E).
1841'attach_known/1_1_$special_\\==/2___2'([], _).
1842'attach_known/1_1_$special_\\==/2___2'([A|B1], U) :-
1843 ( get_attr(A, guard_entailment, B)
1844 -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, V, W, X, Y),
1845 ( C/\131072=:=131072
1846 -> 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)
1847 ; A1 is C\/131072,
1848 Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, [U], W, X, Y)
1849 )
1850 ),
1851 put_attr(A, guard_entailment, Z)
1852 ; put_attr(A,
1853 guard_entailment,
1854 v(131072,
1855 [],
1856 [],
1857 [],
1858 [],
1859 [],
1860 [],
1861 [],
1862 [],
1863 [],
1864 [],
1865 [],
1866 [],
1867 [],
1868 [],
1869 [],
1870 [],
1871 [],
1872 [U],
1873 [],
1874 [],
1875 []))
1876 ),
1877 'attach_known/1_1_$special_\\==/2___2'(B1, U).
1878'detach_known/1_1_$special_\\==/2___2'([], _).
1879'detach_known/1_1_$special_\\==/2___2'([A|B1], E) :-
1880 ( get_attr(A, guard_entailment, B)
1881 -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, D, Y, Z, A1),
1882 ( C/\131072=:=131072
1883 -> 'chr sbag_del_element'(D, E, F),
1884 ( F==[]
1885 -> G is C/\ -131073,
1886 ( G==0
1887 -> del_attr(A, guard_entailment)
1888 ; put_attr(A,
1889 guard_entailment,
1890 v(G,
1891 H,
1892 I,
1893 J,
1894 K,
1895 L,
1896 M,
1897 N,
1898 O,
1899 P,
1900 Q,
1901 R,
1902 S,
1903 T,
1904 U,
1905 V,
1906 W,
1907 X,
1908 [],
1909 Y,
1910 Z,
1911 A1))
1912 )
1913 ; put_attr(A,
1914 guard_entailment,
1915 v(C,
1916 H,
1917 I,
1918 J,
1919 K,
1920 L,
1921 M,
1922 N,
1923 O,
1924 P,
1925 Q,
1926 R,
1927 S,
1928 T,
1929 U,
1930 V,
1931 W,
1932 X,
1933 F,
1934 Y,
1935 Z,
1936 A1))
1937 )
1938 ; true
1939 )
1940 ; true
1941 ),
1942 'detach_known/1_1_$special_\\==/2___2'(B1, E).
1943'attach_known/1_1_$special_==/2___2'([], _).
1944'attach_known/1_1_$special_==/2___2'([A|B1], V) :-
1945 ( get_attr(A, guard_entailment, B)
1946 -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, W, X, Y),
1947 ( C/\262144=:=262144
1948 -> 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)
1949 ; A1 is C\/262144,
1950 Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, [V], X, Y)
1951 )
1952 ),
1953 put_attr(A, guard_entailment, Z)
1954 ; put_attr(A,
1955 guard_entailment,
1956 v(262144,
1957 [],
1958 [],
1959 [],
1960 [],
1961 [],
1962 [],
1963 [],
1964 [],
1965 [],
1966 [],
1967 [],
1968 [],
1969 [],
1970 [],
1971 [],
1972 [],
1973 [],
1974 [],
1975 [V],
1976 [],
1977 []))
1978 ),
1979 'attach_known/1_1_$special_==/2___2'(B1, V).
1980'detach_known/1_1_$special_==/2___2'([], _).
1981'detach_known/1_1_$special_==/2___2'([A|B1], E) :-
1982 ( get_attr(A, guard_entailment, B)
1983 -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, D, Z, A1),
1984 ( C/\262144=:=262144
1985 -> 'chr sbag_del_element'(D, E, F),
1986 ( F==[]
1987 -> G is C/\ -262145,
1988 ( G==0
1989 -> del_attr(A, guard_entailment)
1990 ; put_attr(A,
1991 guard_entailment,
1992 v(G,
1993 H,
1994 I,
1995 J,
1996 K,
1997 L,
1998 M,
1999 N,
2000 O,
2001 P,
2002 Q,
2003 R,
2004 S,
2005 T,
2006 U,
2007 V,
2008 W,
2009 X,
2010 Y,
2011 [],
2012 Z,
2013 A1))
2014 )
2015 ; put_attr(A,
2016 guard_entailment,
2017 v(C,
2018 H,
2019 I,
2020 J,
2021 K,
2022 L,
2023 M,
2024 N,
2025 O,
2026 P,
2027 Q,
2028 R,
2029 S,
2030 T,
2031 U,
2032 V,
2033 W,
2034 X,
2035 Y,
2036 F,
2037 Z,
2038 A1))
2039 )
2040 ; true
2041 )
2042 ; true
2043 ),
2044 'detach_known/1_1_$special_==/2___2'(B1, E).
2045'attach_known/1_1_$special_=</2___2'([], _).
2046'attach_known/1_1_$special_=</2___2'([A|B1], W) :-
2047 ( get_attr(A, guard_entailment, B)
2048 -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, X, Y),
2049 ( C/\524288=:=524288
2050 -> 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)
2051 ; A1 is C\/524288,
2052 Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, [W], Y)
2053 )
2054 ),
2055 put_attr(A, guard_entailment, Z)
2056 ; put_attr(A,
2057 guard_entailment,
2058 v(524288,
2059 [],
2060 [],
2061 [],
2062 [],
2063 [],
2064 [],
2065 [],
2066 [],
2067 [],
2068 [],
2069 [],
2070 [],
2071 [],
2072 [],
2073 [],
2074 [],
2075 [],
2076 [],
2077 [],
2078 [W],
2079 []))
2080 ),
2081 'attach_known/1_1_$special_=</2___2'(B1, W).
2082'detach_known/1_1_$special_=</2___2'([], _).
2083'detach_known/1_1_$special_=</2___2'([A|B1], E) :-
2084 ( get_attr(A, guard_entailment, B)
2085 -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, D, A1),
2086 ( C/\524288=:=524288
2087 -> 'chr sbag_del_element'(D, E, F),
2088 ( F==[]
2089 -> G is C/\ -524289,
2090 ( G==0
2091 -> del_attr(A, guard_entailment)
2092 ; put_attr(A,
2093 guard_entailment,
2094 v(G,
2095 H,
2096 I,
2097 J,
2098 K,
2099 L,
2100 M,
2101 N,
2102 O,
2103 P,
2104 Q,
2105 R,
2106 S,
2107 T,
2108 U,
2109 V,
2110 W,
2111 X,
2112 Y,
2113 Z,
2114 [],
2115 A1))
2116 )
2117 ; put_attr(A,
2118 guard_entailment,
2119 v(C,
2120 H,
2121 I,
2122 J,
2123 K,
2124 L,
2125 M,
2126 N,
2127 O,
2128 P,
2129 Q,
2130 R,
2131 S,
2132 T,
2133 U,
2134 V,
2135 W,
2136 X,
2137 Y,
2138 Z,
2139 F,
2140 A1))
2141 )
2142 ; true
2143 )
2144 ; true
2145 ),
2146 'detach_known/1_1_$special_=</2___2'(B1, E).
2147'attach_known/1_1_$special_=:=/2___2'([], _).
2148'attach_known/1_1_$special_=:=/2___2'([A|B1], X) :-
2149 ( get_attr(A, guard_entailment, B)
2150 -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, Y),
2151 ( C/\1048576=:=1048576
2152 -> 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])
2153 ; A1 is C\/1048576,
2154 Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, [X])
2155 )
2156 ),
2157 put_attr(A, guard_entailment, Z)
2158 ; put_attr(A,
2159 guard_entailment,
2160 v(1048576,
2161 [],
2162 [],
2163 [],
2164 [],
2165 [],
2166 [],
2167 [],
2168 [],
2169 [],
2170 [],
2171 [],
2172 [],
2173 [],
2174 [],
2175 [],
2176 [],
2177 [],
2178 [],
2179 [],
2180 [],
2181 [X]))
2182 ),
2183 'attach_known/1_1_$special_=:=/2___2'(B1, X).
2184'detach_known/1_1_$special_=:=/2___2'([], _).
2185'detach_known/1_1_$special_=:=/2___2'([A|B1], E) :-
2186 ( get_attr(A, guard_entailment, B)
2187 -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1, D),
2188 ( C/\1048576=:=1048576
2189 -> 'chr sbag_del_element'(D, E, F),
2190 ( F==[]
2191 -> G is C/\ -1048577,
2192 ( G==0
2193 -> del_attr(A, guard_entailment)
2194 ; put_attr(A,
2195 guard_entailment,
2196 v(G,
2197 H,
2198 I,
2199 J,
2200 K,
2201 L,
2202 M,
2203 N,
2204 O,
2205 P,
2206 Q,
2207 R,
2208 S,
2209 T,
2210 U,
2211 V,
2212 W,
2213 X,
2214 Y,
2215 Z,
2216 A1,
2217 []))
2218 )
2219 ; put_attr(A,
2220 guard_entailment,
2221 v(C,
2222 H,
2223 I,
2224 J,
2225 K,
2226 L,
2227 M,
2228 N,
2229 O,
2230 P,
2231 Q,
2232 R,
2233 S,
2234 T,
2235 U,
2236 V,
2237 W,
2238 X,
2239 Y,
2240 Z,
2241 A1,
2242 F))
2243 )
2244 ; true
2245 )
2246 ; true
2247 ),
2248 'detach_known/1_1_$special_=:=/2___2'(B1, E).
2249attach_increment([], _).
2250attach_increment([A|M3], B) :-
2251 'chr not_locked'(A),
2252 ( get_attr(A, guard_entailment, C)
2253 -> ( B=v(O2, E, H, K, N, Q, T, W, Z, C1, F1, I1, L1, O1, R1, U1, X1, A2, D2, G2, J2, M2),
2254 C=v(P2, D, G, J, M, P, S, V, Y, B1, E1, H1, K1, N1, Q1, T1, W1, Z1, C2, F2, I2, L2),
2255 ( ( sort(D, F),
2256 'chr merge_attributes'(E, F, R2)
2257 ),
2258 ( sort(G, I),
2259 'chr merge_attributes'(H, I, S2)
2260 ),
2261 ( sort(J, L),
2262 'chr merge_attributes'(K, L, T2)
2263 ),
2264 ( sort(M, O),
2265 'chr merge_attributes'(N, O, U2)
2266 ),
2267 ( sort(P, R),
2268 'chr merge_attributes'(Q, R, V2)
2269 ),
2270 ( sort(S, U),
2271 'chr merge_attributes'(T, U, W2)
2272 ),
2273 ( sort(V, X),
2274 'chr merge_attributes'(W, X, X2)
2275 ),
2276 ( sort(Y, A1),
2277 'chr merge_attributes'(Z, A1, Y2)
2278 ),
2279 ( sort(B1, D1),
2280 'chr merge_attributes'(C1, D1, Z2)
2281 ),
2282 ( sort(E1, G1),
2283 'chr merge_attributes'(F1, G1, A3)
2284 ),
2285 ( sort(H1, J1),
2286 'chr merge_attributes'(I1, J1, B3)
2287 ),
2288 ( sort(K1, M1),
2289 'chr merge_attributes'(L1, M1, C3)
2290 ),
2291 ( sort(N1, P1),
2292 'chr merge_attributes'(O1, P1, D3)
2293 ),
2294 ( sort(Q1, S1),
2295 'chr merge_attributes'(R1, S1, E3)
2296 ),
2297 ( sort(T1, V1),
2298 'chr merge_attributes'(U1, V1, F3)
2299 ),
2300 ( sort(W1, Y1),
2301 'chr merge_attributes'(X1, Y1, G3)
2302 ),
2303 ( sort(Z1, B2),
2304 'chr merge_attributes'(A2, B2, H3)
2305 ),
2306 ( sort(C2, E2),
2307 'chr merge_attributes'(D2, E2, I3)
2308 ),
2309 ( sort(F2, H2),
2310 'chr merge_attributes'(G2, H2, J3)
2311 ),
2312 ( sort(I2, K2),
2313 'chr merge_attributes'(J2, K2, K3)
2314 ),
2315 sort(L2, N2),
2316 'chr merge_attributes'(M2, N2, L3)
2317 ),
2318 Q2 is O2\/P2
2319 ),
2320 put_attr(A,
2321 guard_entailment,
2322 v(Q2,
2323 R2,
2324 S2,
2325 T2,
2326 U2,
2327 V2,
2328 W2,
2329 X2,
2330 Y2,
2331 Z2,
2332 A3,
2333 B3,
2334 C3,
2335 D3,
2336 E3,
2337 F3,
2338 G3,
2339 H3,
2340 I3,
2341 J3,
2342 K3,
2343 L3))
2344 ; put_attr(A, guard_entailment, B)
2345 ),
2346 attach_increment(M3, B).
2347attribute_goals(_, A, A).
2348attr_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) :-
2349 sort(A, Y),
2350 sort(B, B1),
2351 sort(C, E1),
2352 sort(D, H1),
2353 sort(E, K1),
2354 sort(F, N1),
2355 sort(G, Q1),
2356 sort(H, T1),
2357 sort(I, W1),
2358 sort(J, Z1),
2359 sort(K, C2),
2360 sort(L, F2),
2361 sort(M, I2),
2362 sort(N, L2),
2363 sort(O, O2),
2364 sort(P, R2),
2365 sort(Q, U2),
2366 sort(R, X2),
2367 sort(S, A3),
2368 sort(T, D3),
2369 sort(U, G3),
2370 ( var(V)
2371 -> ( get_attr(V, guard_entailment, W)
2372 -> ( W=v(J3, X, A1, D1, G1, J1, M1, P1, S1, V1, Y1, B2, E2, H2, K2, N2, Q2, T2, W2, Z2, C3, F3),
2373 ( ( sort(X, Z),
2374 'chr merge_attributes'(Y, Z, L3)
2375 ),
2376 ( sort(A1, C1),
2377 'chr merge_attributes'(B1, C1, M3)
2378 ),
2379 ( sort(D1, F1),
2380 'chr merge_attributes'(E1, F1, N3)
2381 ),
2382 ( sort(G1, I1),
2383 'chr merge_attributes'(H1, I1, O3)
2384 ),
2385 ( sort(J1, L1),
2386 'chr merge_attributes'(K1, L1, P3)
2387 ),
2388 ( sort(M1, O1),
2389 'chr merge_attributes'(N1, O1, Q3)
2390 ),
2391 ( sort(P1, R1),
2392 'chr merge_attributes'(Q1, R1, R3)
2393 ),
2394 ( sort(S1, U1),
2395 'chr merge_attributes'(T1, U1, S3)
2396 ),
2397 ( sort(V1, X1),
2398 'chr merge_attributes'(W1, X1, T3)
2399 ),
2400 ( sort(Y1, A2),
2401 'chr merge_attributes'(Z1, A2, U3)
2402 ),
2403 ( sort(B2, D2),
2404 'chr merge_attributes'(C2, D2, V3)
2405 ),
2406 ( sort(E2, G2),
2407 'chr merge_attributes'(F2, G2, W3)
2408 ),
2409 ( sort(H2, J2),
2410 'chr merge_attributes'(I2, J2, X3)
2411 ),
2412 ( sort(K2, M2),
2413 'chr merge_attributes'(L2, M2, Y3)
2414 ),
2415 ( sort(N2, P2),
2416 'chr merge_attributes'(O2, P2, Z3)
2417 ),
2418 ( sort(Q2, S2),
2419 'chr merge_attributes'(R2, S2, A4)
2420 ),
2421 ( sort(T2, V2),
2422 'chr merge_attributes'(U2, V2, B4)
2423 ),
2424 ( sort(W2, Y2),
2425 'chr merge_attributes'(X2, Y2, C4)
2426 ),
2427 ( sort(Z2, B3),
2428 'chr merge_attributes'(A3, B3, D4)
2429 ),
2430 ( sort(C3, E3),
2431 'chr merge_attributes'(D3, E3, E4)
2432 ),
2433 sort(F3, H3),
2434 'chr merge_attributes'(G3, H3, F4)
2435 ),
2436 K3 is I3\/J3
2437 ),
2438 put_attr(V,
2439 guard_entailment,
2440 v(K3,
2441 L3,
2442 M3,
2443 N3,
2444 O3,
2445 P3,
2446 Q3,
2447 R3,
2448 S3,
2449 T3,
2450 U3,
2451 V3,
2452 W3,
2453 X3,
2454 Y3,
2455 Z3,
2456 A4,
2457 B4,
2458 C4,
2459 D4,
2460 E4,
2461 F4)),
2462 '$run_suspensions_variables___1'(Y),
2463 '$run_suspensions_known/1_1_$default___1'(B1),
2464 '$run_suspensions_known/1_1_$special_;/2___2'(N3),
2465 '$run_suspensions_known/1_1_$special_nonvar/1___1'(H1),
2466 '$run_suspensions_known/1_1_$special_var/1___1'(K1),
2467 '$run_suspensions_known/1_1_$special_atom/1___1'(N1),
2468 '$run_suspensions_known/1_1_$special_atomic/1___1'(Q1),
2469 '$run_suspensions_known/1_1_$special_compound/1___1'(T1),
2470 '$run_suspensions_known/1_1_$special_ground/1___1'(W1),
2471 '$run_suspensions_known/1_1_$special_integer/1___1'(U3),
2472 '$run_suspensions_known/1_1_$special_float/1___1'(V3),
2473 '$run_suspensions_known/1_1_$special_number/1___1'(W3),
2474 '$run_suspensions_known/1_1_$special_=\\=/2___2'(X3),
2475 '$run_suspensions_known/1_1_$special_\\+/1___1'(Y3),
2476 '$run_suspensions_known/1_1_$special_functor/3___3'(Z3),
2477 '$run_suspensions_known/1_1_$special_\\=/2___2'(A4),
2478 '$run_suspensions_known/1_1_$special_=/2___2'(B4),
2479 '$run_suspensions_known/1_1_$special_\\==/2___2'(C4),
2480 '$run_suspensions_known/1_1_$special_==/2___2'(D4),
2481 '$run_suspensions_known/1_1_$special_=</2___2'(E4),
2482 '$run_suspensions_known/1_1_$special_=:=/2___2'(F4)
2483 ; put_attr(V,
2484 guard_entailment,
2485 v(I3,
2486 Y,
2487 B1,
2488 E1,
2489 H1,
2490 K1,
2491 N1,
2492 Q1,
2493 T1,
2494 W1,
2495 Z1,
2496 C2,
2497 F2,
2498 I2,
2499 L2,
2500 O2,
2501 R2,
2502 U2,
2503 X2,
2504 A3,
2505 D3,
2506 G3)),
2507 '$run_suspensions_variables___1'(Y),
2508 '$run_suspensions_known/1_1_$default___1'(B1),
2509 '$run_suspensions_known/1_1_$special_;/2___2'(E1),
2510 '$run_suspensions_known/1_1_$special_nonvar/1___1'(H1),
2511 '$run_suspensions_known/1_1_$special_var/1___1'(K1),
2512 '$run_suspensions_known/1_1_$special_atom/1___1'(N1),
2513 '$run_suspensions_known/1_1_$special_atomic/1___1'(Q1),
2514 '$run_suspensions_known/1_1_$special_compound/1___1'(T1),
2515 '$run_suspensions_known/1_1_$special_ground/1___1'(W1),
2516 '$run_suspensions_known/1_1_$special_integer/1___1'(Z1),
2517 '$run_suspensions_known/1_1_$special_float/1___1'(C2),
2518 '$run_suspensions_known/1_1_$special_number/1___1'(F2),
2519 '$run_suspensions_known/1_1_$special_=\\=/2___2'(I2),
2520 '$run_suspensions_known/1_1_$special_\\+/1___1'(L2),
2521 '$run_suspensions_known/1_1_$special_functor/3___3'(O2),
2522 '$run_suspensions_known/1_1_$special_\\=/2___2'(R2),
2523 '$run_suspensions_known/1_1_$special_=/2___2'(U2),
2524 '$run_suspensions_known/1_1_$special_\\==/2___2'(X2),
2525 '$run_suspensions_known/1_1_$special_==/2___2'(A3),
2526 '$run_suspensions_known/1_1_$special_=</2___2'(D3),
2527 '$run_suspensions_known/1_1_$special_=:=/2___2'(G3)
2528 )
2529 ; ( compound(V)
2530 -> term_variables(V, G4),
2531 attach_increment(G4,
2532 v(I3,
2533 Y,
2534 B1,
2535 E1,
2536 H1,
2537 K1,
2538 N1,
2539 Q1,
2540 T1,
2541 W1,
2542 Z1,
2543 C2,
2544 F2,
2545 I2,
2546 L2,
2547 O2,
2548 R2,
2549 U2,
2550 X2,
2551 A3,
2552 D3,
2553 G3))
2554 ; true
2555 ),
2556 '$run_suspensions_variables___1'(Y),
2557 '$run_suspensions_known/1_1_$default___1'(B1),
2558 '$run_suspensions_known/1_1_$special_;/2___2'(E1),
2559 '$run_suspensions_known/1_1_$special_nonvar/1___1'(H1),
2560 '$run_suspensions_known/1_1_$special_var/1___1'(K1),
2561 '$run_suspensions_known/1_1_$special_atom/1___1'(N1),
2562 '$run_suspensions_known/1_1_$special_atomic/1___1'(Q1),
2563 '$run_suspensions_known/1_1_$special_compound/1___1'(T1),
2564 '$run_suspensions_known/1_1_$special_ground/1___1'(W1),
2565 '$run_suspensions_known/1_1_$special_integer/1___1'(Z1),
2566 '$run_suspensions_known/1_1_$special_float/1___1'(C2),
2567 '$run_suspensions_known/1_1_$special_number/1___1'(F2),
2568 '$run_suspensions_known/1_1_$special_=\\=/2___2'(I2),
2569 '$run_suspensions_known/1_1_$special_\\+/1___1'(L2),
2570 '$run_suspensions_known/1_1_$special_functor/3___3'(O2),
2571 '$run_suspensions_known/1_1_$special_\\=/2___2'(R2),
2572 '$run_suspensions_known/1_1_$special_=/2___2'(U2),
2573 '$run_suspensions_known/1_1_$special_\\==/2___2'(X2),
2574 '$run_suspensions_known/1_1_$special_==/2___2'(A3),
2575 '$run_suspensions_known/1_1_$special_=</2___2'(D3),
2576 '$run_suspensions_known/1_1_$special_=:=/2___2'(G3)
2577 ).
2578'$novel_production'(A, B) :-
2579 arg(3, A, C),
2580 ( hprolog:get_ds(B, C, _)
2581 -> fail
2582 ; true
2583 ).
2584'$extend_history'(A, B) :-
2585 arg(3, A, C),
2586 hprolog:put_ds(B, C, x, D),
2587 setarg(3, A, D).
2588'$run_suspensions_variables___1'([]).
2589'$run_suspensions_variables___1'([A|D]) :-
2590 A=suspension(_, B, _, C),
2591 ( B==active
2592 -> setarg(2, A, triggered),
2593 variables___1__0(C, A),
2594 ( B==triggered
2595 -> setarg(2, A, active)
2596 ; true
2597 )
2598 ; true
2599 ),
2600 '$run_suspensions_variables___1'(D).
2601'$run_suspensions_known/1_1_$default___1'([]).
2602'$run_suspensions_known/1_1_$default___1'([A|F]) :-
2603 A=suspension(_, B, C, _, E),
2604 ( B==active
2605 -> setarg(2, A, triggered),
2606 ( D is C+1,
2607 setarg(3, A, D)
2608 ),
2609 'known/1_1_$default___1__0'(E, A),
2610 ( B==triggered
2611 -> setarg(2, A, active)
2612 ; true
2613 )
2614 ; true
2615 ),
2616 '$run_suspensions_known/1_1_$default___1'(F).
2617'$run_suspensions_known/1_1_$special_;/2___2'([]).
2618'$run_suspensions_known/1_1_$special_;/2___2'([A|G]) :-
2619 A=suspension(_, B, C, _, E, F),
2620 ( B==active
2621 -> setarg(2, A, triggered),
2622 ( D is C+1,
2623 setarg(3, A, D)
2624 ),
2625 'known/1_1_$special_;/2___2__0'(E, F, A),
2626 ( B==triggered
2627 -> setarg(2, A, active)
2628 ; true
2629 )
2630 ; true
2631 ),
2632 '$run_suspensions_known/1_1_$special_;/2___2'(G).
2633'$run_suspensions_known/1_1_$special_nonvar/1___1'([]).
2634'$run_suspensions_known/1_1_$special_nonvar/1___1'([A|F]) :-
2635 A=suspension(_, B, C, _, E),
2636 ( B==active
2637 -> setarg(2, A, triggered),
2638 ( D is C+1,
2639 setarg(3, A, D)
2640 ),
2641 'known/1_1_$special_nonvar/1___1__0'(E, A),
2642 ( B==triggered
2643 -> setarg(2, A, active)
2644 ; true
2645 )
2646 ; true
2647 ),
2648 '$run_suspensions_known/1_1_$special_nonvar/1___1'(F).
2649'$run_suspensions_known/1_1_$special_var/1___1'([]).
2650'$run_suspensions_known/1_1_$special_var/1___1'([A|F]) :-
2651 A=suspension(_, B, C, _, E),
2652 ( B==active
2653 -> setarg(2, A, triggered),
2654 ( D is C+1,
2655 setarg(3, A, D)
2656 ),
2657 'known/1_1_$special_var/1___1__0'(E, A),
2658 ( B==triggered
2659 -> setarg(2, A, active)
2660 ; true
2661 )
2662 ; true
2663 ),
2664 '$run_suspensions_known/1_1_$special_var/1___1'(F).
2665'$run_suspensions_known/1_1_$special_atom/1___1'([]).
2666'$run_suspensions_known/1_1_$special_atom/1___1'([A|F]) :-
2667 A=suspension(_, B, _, C, _, E),
2668 ( B==active
2669 -> setarg(2, A, triggered),
2670 ( D is C+1,
2671 setarg(4, A, D)
2672 ),
2673 'known/1_1_$special_atom/1___1__0'(E, A),
2674 ( B==triggered
2675 -> setarg(2, A, active)
2676 ; true
2677 )
2678 ; true
2679 ),
2680 '$run_suspensions_known/1_1_$special_atom/1___1'(F).
2681'$run_suspensions_known/1_1_$special_atomic/1___1'([]).
2682'$run_suspensions_known/1_1_$special_atomic/1___1'([A|F]) :-
2683 A=suspension(_, B, _, C, _, E),
2684 ( B==active
2685 -> setarg(2, A, triggered),
2686 ( D is C+1,
2687 setarg(4, A, D)
2688 ),
2689 'known/1_1_$special_atomic/1___1__0'(E, A),
2690 ( B==triggered
2691 -> setarg(2, A, active)
2692 ; true
2693 )
2694 ; true
2695 ),
2696 '$run_suspensions_known/1_1_$special_atomic/1___1'(F).
2697'$run_suspensions_known/1_1_$special_compound/1___1'([]).
2698'$run_suspensions_known/1_1_$special_compound/1___1'([A|F]) :-
2699 A=suspension(_, B, _, C, _, E),
2700 ( B==active
2701 -> setarg(2, A, triggered),
2702 ( D is C+1,
2703 setarg(4, A, D)
2704 ),
2705 'known/1_1_$special_compound/1___1__0'(E, A),
2706 ( B==triggered
2707 -> setarg(2, A, active)
2708 ; true
2709 )
2710 ; true
2711 ),
2712 '$run_suspensions_known/1_1_$special_compound/1___1'(F).
2713'$run_suspensions_known/1_1_$special_ground/1___1'([]).
2714'$run_suspensions_known/1_1_$special_ground/1___1'([A|F]) :-
2715 A=suspension(_, B, _, C, _, E),
2716 ( B==active
2717 -> setarg(2, A, triggered),
2718 ( D is C+1,
2719 setarg(4, A, D)
2720 ),
2721 'known/1_1_$special_ground/1___1__0'(E, A),
2722 ( B==triggered
2723 -> setarg(2, A, active)
2724 ; true
2725 )
2726 ; true
2727 ),
2728 '$run_suspensions_known/1_1_$special_ground/1___1'(F).
2729'$run_suspensions_known/1_1_$special_integer/1___1'([]).
2730'$run_suspensions_known/1_1_$special_integer/1___1'([A|F]) :-
2731 A=suspension(_, B, _, C, _, E),
2732 ( B==active
2733 -> setarg(2, A, triggered),
2734 ( D is C+1,
2735 setarg(4, A, D)
2736 ),
2737 'known/1_1_$special_integer/1___1__0'(E, A),
2738 ( B==triggered
2739 -> setarg(2, A, active)
2740 ; true
2741 )
2742 ; true
2743 ),
2744 '$run_suspensions_known/1_1_$special_integer/1___1'(F).
2745'$run_suspensions_known/1_1_$special_float/1___1'([]).
2746'$run_suspensions_known/1_1_$special_float/1___1'([A|F]) :-
2747 A=suspension(_, B, _, C, _, E),
2748 ( B==active
2749 -> setarg(2, A, triggered),
2750 ( D is C+1,
2751 setarg(4, A, D)
2752 ),
2753 'known/1_1_$special_float/1___1__0'(E, A),
2754 ( B==triggered
2755 -> setarg(2, A, active)
2756 ; true
2757 )
2758 ; true
2759 ),
2760 '$run_suspensions_known/1_1_$special_float/1___1'(F).
2761'$run_suspensions_known/1_1_$special_number/1___1'([]).
2762'$run_suspensions_known/1_1_$special_number/1___1'([A|F]) :-
2763 A=suspension(_, B, _, C, _, E),
2764 ( B==active
2765 -> setarg(2, A, triggered),
2766 ( D is C+1,
2767 setarg(4, A, D)
2768 ),
2769 'known/1_1_$special_number/1___1__0'(E, A),
2770 ( B==triggered
2771 -> setarg(2, A, active)
2772 ; true
2773 )
2774 ; true
2775 ),
2776 '$run_suspensions_known/1_1_$special_number/1___1'(F).
2777'$run_suspensions_known/1_1_$special_=\\=/2___2'([]).
2778'$run_suspensions_known/1_1_$special_=\\=/2___2'([A|G]) :-
2779 A=suspension(_, B, _, C, _, E, F),
2780 ( B==active
2781 -> setarg(2, A, triggered),
2782 ( D is C+1,
2783 setarg(4, A, D)
2784 ),
2785 'known/1_1_$special_=\\=/2___2__0'(E, F, A),
2786 ( B==triggered
2787 -> setarg(2, A, active)
2788 ; true
2789 )
2790 ; true
2791 ),
2792 '$run_suspensions_known/1_1_$special_=\\=/2___2'(G).
2793'$run_suspensions_known/1_1_$special_\\+/1___1'([]).
2794'$run_suspensions_known/1_1_$special_\\+/1___1'([A|F]) :-
2795 A=suspension(_, B, C, _, E),
2796 ( B==active
2797 -> setarg(2, A, triggered),
2798 ( D is C+1,
2799 setarg(3, A, D)
2800 ),
2801 'known/1_1_$special_\\+/1___1__0'(E, A),
2802 ( B==triggered
2803 -> setarg(2, A, active)
2804 ; true
2805 )
2806 ; true
2807 ),
2808 '$run_suspensions_known/1_1_$special_\\+/1___1'(F).
2809'$run_suspensions_known/1_1_$special_functor/3___3'([]).
2810'$run_suspensions_known/1_1_$special_functor/3___3'([A|H]) :-
2811 A=suspension(_, B, C, _, E, F, G),
2812 ( B==active
2813 -> setarg(2, A, triggered),
2814 ( D is C+1,
2815 setarg(3, A, D)
2816 ),
2817 'known/1_1_$special_functor/3___3__0'(E, F, G, A),
2818 ( B==triggered
2819 -> setarg(2, A, active)
2820 ; true
2821 )
2822 ; true
2823 ),
2824 '$run_suspensions_known/1_1_$special_functor/3___3'(H).
2825'$run_suspensions_known/1_1_$special_\\=/2___2'([]).
2826'$run_suspensions_known/1_1_$special_\\=/2___2'([A|G]) :-
2827 A=suspension(_, B, _, C, _, E, F),
2828 ( B==active
2829 -> setarg(2, A, triggered),
2830 ( D is C+1,
2831 setarg(4, A, D)
2832 ),
2833 'known/1_1_$special_\\=/2___2__0'(E, F, A),
2834 ( B==triggered
2835 -> setarg(2, A, active)
2836 ; true
2837 )
2838 ; true
2839 ),
2840 '$run_suspensions_known/1_1_$special_\\=/2___2'(G).
2841'$run_suspensions_known/1_1_$special_=/2___2'([]).
2842'$run_suspensions_known/1_1_$special_=/2___2'([A|G]) :-
2843 A=suspension(_, B, C, _, E, F),
2844 ( B==active
2845 -> setarg(2, A, triggered),
2846 ( D is C+1,
2847 setarg(3, A, D)
2848 ),
2849 'known/1_1_$special_=/2___2__0'(E, F, A),
2850 ( B==triggered
2851 -> setarg(2, A, active)
2852 ; true
2853 )
2854 ; true
2855 ),
2856 '$run_suspensions_known/1_1_$special_=/2___2'(G).
2857'$run_suspensions_known/1_1_$special_\\==/2___2'([]).
2858'$run_suspensions_known/1_1_$special_\\==/2___2'([A|G]) :-
2859 A=suspension(_, B, _, C, _, E, F),
2860 ( B==active
2861 -> setarg(2, A, triggered),
2862 ( D is C+1,
2863 setarg(4, A, D)
2864 ),
2865 'known/1_1_$special_\\==/2___2__0'(E, F, A),
2866 ( B==triggered
2867 -> setarg(2, A, active)
2868 ; true
2869 )
2870 ; true
2871 ),
2872 '$run_suspensions_known/1_1_$special_\\==/2___2'(G).
2873'$run_suspensions_known/1_1_$special_==/2___2'([]).
2874'$run_suspensions_known/1_1_$special_==/2___2'([A|G]) :-
2875 A=suspension(_, B, _, C, _, E, F),
2876 ( B==active
2877 -> setarg(2, A, triggered),
2878 ( D is C+1,
2879 setarg(4, A, D)
2880 ),
2881 'known/1_1_$special_==/2___2__0'(E, F, A),
2882 ( B==triggered
2883 -> setarg(2, A, active)
2884 ; true
2885 )
2886 ; true
2887 ),
2888 '$run_suspensions_known/1_1_$special_==/2___2'(G).
2889'$run_suspensions_known/1_1_$special_=</2___2'([]).
2890'$run_suspensions_known/1_1_$special_=</2___2'([A|G]) :-
2891 A=suspension(_, B, _, C, _, E, F),
2892 ( B==active
2893 -> setarg(2, A, triggered),
2894 ( D is C+1,
2895 setarg(4, A, D)
2896 ),
2897 'known/1_1_$special_=</2___2__0'(E, F, A),
2898 ( B==triggered
2899 -> setarg(2, A, active)
2900 ; true
2901 )
2902 ; true
2903 ),
2904 '$run_suspensions_known/1_1_$special_=</2___2'(G).
2905'$run_suspensions_known/1_1_$special_=:=/2___2'([]).
2906'$run_suspensions_known/1_1_$special_=:=/2___2'([A|G]) :-
2907 A=suspension(_, B, _, C, _, E, F),
2908 ( B==active
2909 -> setarg(2, A, triggered),
2910 ( D is C+1,
2911 setarg(4, A, D)
2912 ),
2913 'known/1_1_$special_=:=/2___2__0'(E, F, A),
2914 ( B==triggered
2915 -> setarg(2, A, active)
2916 ; true
2917 )
2918 ; true
2919 ),
2920 '$run_suspensions_known/1_1_$special_=:=/2___2'(G).
2921'$enumerate_constraints'(A) :-
2922 ( nonvar(A)
2923 -> functor(A, B, _),
2924 '$enumerate_constraints'(B, A)
2925 ; '$enumerate_constraints'(_, A)
2926 ).
2927'$enumerate_constraints'(variables, C) :-
2928 nb_current('$chr_store_global_list_guard_entailment____variables___1',
2929 A),
2930 member(B, A),
2931 B=suspension(_, _, _, D),
2932 C=variables(D).
2933'$enumerate_constraints'('known/1_1_$default', C) :-
2934 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
2935 A),
2936 member(B, A),
2937 B=suspension(_, _, _, _, D),
2938 C='known/1_1_$default'(D).
2939'$enumerate_constraints'('known/1_1_$special_;/2', C) :-
2940 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
2941 A),
2942 member(B, A),
2943 B=suspension(_, _, _, _, D, E),
2944 C='known/1_1_$special_;/2'(D, E).
2945'$enumerate_constraints'('known/1_1_$special_nonvar/1', C) :-
2946 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
2947 A),
2948 member(B, A),
2949 B=suspension(_, _, _, _, D),
2950 C='known/1_1_$special_nonvar/1'(D).
2951'$enumerate_constraints'('known/1_1_$special_var/1', C) :-
2952 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
2953 A),
2954 member(B, A),
2955 B=suspension(_, _, _, _, D),
2956 C='known/1_1_$special_var/1'(D).
2957'$enumerate_constraints'('known/1_1_$special_atom/1', C) :-
2958 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
2959 A),
2960 member(B, A),
2961 B=suspension(_, _, _, _, _, D),
2962 C='known/1_1_$special_atom/1'(D).
2963'$enumerate_constraints'('known/1_1_$special_atomic/1', C) :-
2964 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
2965 A),
2966 member(B, A),
2967 B=suspension(_, _, _, _, _, D),
2968 C='known/1_1_$special_atomic/1'(D).
2969'$enumerate_constraints'('known/1_1_$special_compound/1', C) :-
2970 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
2971 A),
2972 member(B, A),
2973 B=suspension(_, _, _, _, _, D),
2974 C='known/1_1_$special_compound/1'(D).
2975'$enumerate_constraints'('known/1_1_$special_ground/1', C) :-
2976 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
2977 A),
2978 member(B, A),
2979 B=suspension(_, _, _, _, _, D),
2980 C='known/1_1_$special_ground/1'(D).
2981'$enumerate_constraints'('known/1_1_$special_integer/1', C) :-
2982 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
2983 A),
2984 member(B, A),
2985 B=suspension(_, _, _, _, _, D),
2986 C='known/1_1_$special_integer/1'(D).
2987'$enumerate_constraints'('known/1_1_$special_float/1', C) :-
2988 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
2989 A),
2990 member(B, A),
2991 B=suspension(_, _, _, _, _, D),
2992 C='known/1_1_$special_float/1'(D).
2993'$enumerate_constraints'('known/1_1_$special_number/1', C) :-
2994 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
2995 A),
2996 member(B, A),
2997 B=suspension(_, _, _, _, _, D),
2998 C='known/1_1_$special_number/1'(D).
2999'$enumerate_constraints'('known/1_1_$special_=\\=/2', C) :-
3000 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
3001 A),
3002 member(B, A),
3003 B=suspension(_, _, _, _, _, D, E),
3004 C='known/1_1_$special_=\\=/2'(D, E).
3005'$enumerate_constraints'('known/1_1_$special_\\+/1', C) :-
3006 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
3007 A),
3008 member(B, A),
3009 B=suspension(_, _, _, _, D),
3010 C='known/1_1_$special_\\+/1'(D).
3011'$enumerate_constraints'('known/1_1_$special_functor/3', C) :-
3012 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
3013 A),
3014 member(B, A),
3015 B=suspension(_, _, _, _, D, E, F),
3016 C='known/1_1_$special_functor/3'(D, E, F).
3017'$enumerate_constraints'('known/1_1_$special_\\=/2', C) :-
3018 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
3019 A),
3020 member(B, A),
3021 B=suspension(_, _, _, _, _, D, E),
3022 C='known/1_1_$special_\\=/2'(D, E).
3023'$enumerate_constraints'('known/1_1_$special_=/2', C) :-
3024 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
3025 A),
3026 member(B, A),
3027 B=suspension(_, _, _, _, D, E),
3028 C='known/1_1_$special_=/2'(D, E).
3029'$enumerate_constraints'('known/1_1_$special_\\==/2', C) :-
3030 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
3031 A),
3032 member(B, A),
3033 B=suspension(_, _, _, _, _, D, E),
3034 C='known/1_1_$special_\\==/2'(D, E).
3035'$enumerate_constraints'('known/1_1_$special_==/2', C) :-
3036 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
3037 A),
3038 member(B, A),
3039 B=suspension(_, _, _, _, _, D, E),
3040 C='known/1_1_$special_==/2'(D, E).
3041'$enumerate_constraints'('known/1_1_$special_=</2', C) :-
3042 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
3043 A),
3044 member(B, A),
3045 B=suspension(_, _, _, _, _, D, E),
3046 C='known/1_1_$special_=</2'(D, E).
3047'$enumerate_constraints'('known/1_1_$special_=:=/2', C) :-
3048 nb_current('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
3049 A),
3050 member(B, A),
3051 B=suspension(_, _, _, _, _, D, E),
3052 C='known/1_1_$special_=:=/2'(D, E).
3053'$enumerate_constraints'('known/1_1_$special_fail/0', C) :-
3054 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
3055 A),
3056 member(B, A),
3057 B=suspension(_, _, _),
3058 C='known/1_1_$special_fail/0'.
3059'$chr_initialization' :-
3060 nb_setval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
3061 []),
3062 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
3063 []),
3064 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
3065 []),
3066 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
3067 []),
3068 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
3069 []),
3070 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
3071 []),
3072 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
3073 []),
3074 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
3075 []),
3076 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
3077 []),
3078 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
3079 []),
3080 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
3081 []),
3082 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
3083 []),
3084 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
3085 []),
3086 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
3087 []),
3088 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
3089 []),
3090 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
3091 []),
3092 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
3093 []),
3094 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
3095 []),
3096 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
3097 []),
3098 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
3099 []),
3100 nb_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
3101 []),
3102 nb_setval('$chr_store_global_list_guard_entailment____variables___1', []).
3103:- (initialization'$chr_initialization'). 3104:- (dynamic user:exception/3). 3105:- (multifile user:exception/3). 3106user:exception(undefined_global_variable, A, retry) :-
3107 '$chr_prolog_global_variable'(A),
3108 '$chr_initialization'.
3109'$chr_prolog_global_variable'('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0').
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_\\==/2___2').
3114'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2').
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_functor/3___3').
3117'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1').
3118'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2').
3119'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1').
3120'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1').
3121'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1').
3122'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1').
3123'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1').
3124'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1').
3125'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1').
3126'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1').
3127'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1').
3128'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2').
3129'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____known/1_1_$default___1').
3130'$chr_prolog_global_variable'('$chr_store_global_list_guard_entailment____variables___1').
3131known(A) :-
3132 nonvar(A),
3133 ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( A=(B;C),
3134 !,
3135 'known/1_1_$special_;/2'(B,
3136 C)
3137 ; A=nonvar(D),
3138 !,
3139 'known/1_1_$special_nonvar/1'(D)
3140 )
3141 ; A=var(E),
3142 !,
3143 'known/1_1_$special_var/1'(E)
3144 )
3145 ; A=atom(F),
3146 !,
3147 'known/1_1_$special_atom/1'(F)
3148 )
3149 ; A=atomic(G),
3150 !,
3151 'known/1_1_$special_atomic/1'(G)
3152 )
3153 ; A=compound(H),
3154 !,
3155 'known/1_1_$special_compound/1'(H)
3156 )
3157 ; A=ground(I),
3158 !,
3159 'known/1_1_$special_ground/1'(I)
3160 )
3161 ; A=integer(J),
3162 !,
3163 'known/1_1_$special_integer/1'(J)
3164 )
3165 ; A=float(K),
3166 !,
3167 'known/1_1_$special_float/1'(K)
3168 )
3169 ; A=number(L),
3170 !,
3171 'known/1_1_$special_number/1'(L)
3172 )
3173 ; A=(M=\=N),
3174 !,
3175 'known/1_1_$special_=\\=/2'(M,
3176 N)
3177 )
3178 ; A=(\+O),
3179 !,
3180 'known/1_1_$special_\\+/1'(O)
3181 )
3182 ; A=functor(P, Q, R),
3183 !,
3184 'known/1_1_$special_functor/3'(P,
3185 Q,
3186 R)
3187 )
3188 ; A=(S\=T),
3189 !,
3190 'known/1_1_$special_\\=/2'(S,
3191 T)
3192 )
3193 ; A=(U=V),
3194 !,
3195 'known/1_1_$special_=/2'(U,
3196 V)
3197 )
3198 ; A=(W, X),
3199 !,
3200 'known/1_1_$special_,/2'(W,
3201 X)
3202 )
3203 ; A=(Y\==Z),
3204 !,
3205 'known/1_1_$special_\\==/2'(Y,
3206 Z)
3207 )
3208 ; A=(A1==B1),
3209 !,
3210 'known/1_1_$special_==/2'(A1, B1)
3211 )
3212 ; A=(C1 is D1),
3213 !,
3214 'known/1_1_$special_is/2'(C1, D1)
3215 )
3216 ; A=(E1<F1),
3217 !,
3218 'known/1_1_$special_</2'(E1, F1)
3219 )
3220 ; A=(G1>=H1),
3221 !,
3222 'known/1_1_$special_>=/2'(G1, H1)
3223 )
3224 ; A=(I1>J1),
3225 !,
3226 'known/1_1_$special_>/2'(I1, J1)
3227 )
3228 ; A=(K1=<L1),
3229 !,
3230 'known/1_1_$special_=</2'(K1, L1)
3231 )
3232 ; A=(M1=:=N1),
3233 !,
3234 'known/1_1_$special_=:=/2'(M1, N1)
3235 ).
3236known(A) :-
3237 A==fail,
3238 !,
3239 'known/1_1_$special_fail/0'.
3240known(A) :-
3241 'known/1_1_$default'(A).
3242test(A) :-
3243 nonvar(A),
3244 ( ( ( ( ( ( ( A=(B, C),
3245 !,
3246 'test/1_1_$special_,/2'(B, C)
3247 ; A=(\+D),
3248 !,
3249 'test/1_1_$special_\\+/1'(D)
3250 )
3251 ; A=integer(E),
3252 !,
3253 'test/1_1_$special_integer/1'(E)
3254 )
3255 ; A=float(F),
3256 !,
3257 'test/1_1_$special_float/1'(F)
3258 )
3259 ; A=number(G),
3260 !,
3261 'test/1_1_$special_number/1'(G)
3262 )
3263 ; A=ground(H),
3264 !,
3265 'test/1_1_$special_ground/1'(H)
3266 )
3267 ; A=(I=:=J),
3268 !,
3269 'test/1_1_$special_=:=/2'(I, J)
3270 )
3271 ; A=(K==L),
3272 !,
3273 'test/1_1_$special_==/2'(K, L)
3274 ).
3275test(A) :-
3276 A==true,
3277 !,
3278 'test/1_1_$special_true/0'.
3279test(A) :-
3280 nonvar(A),
3281 ( ( ( ( ( ( ( ( ( A=functor(B, C, D),
3282 !,
3283 'test/1_1_$special_functor/3'(B,
3284 C,
3285 D)
3286 ; A=(E=F),
3287 !,
3288 'test/1_1_$special_=/2'(E, F)
3289 )
3290 ; A=(G;H),
3291 !,
3292 'test/1_1_$special_;/2'(G, H)
3293 )
3294 ; A=(I is J),
3295 !,
3296 'test/1_1_$special_is/2'(I, J)
3297 )
3298 ; A=(K<L),
3299 !,
3300 'test/1_1_$special_</2'(K, L)
3301 )
3302 ; A=(M>=N),
3303 !,
3304 'test/1_1_$special_>=/2'(M, N)
3305 )
3306 ; A=(O>P),
3307 !,
3308 'test/1_1_$special_>/2'(O, P)
3309 )
3310 ; A=(Q=\=R),
3311 !,
3312 'test/1_1_$special_=\\=/2'(Q, R)
3313 )
3314 ; A=(S=<T),
3315 !,
3316 'test/1_1_$special_=</2'(S, T)
3317 )
3318 ; A=(U\==V),
3319 !,
3320 'test/1_1_$special_\\==/2'(U, V)
3321 ).
3322test(A) :-
3323 'test/1_1_$default'(A).
3324cleanup :-
3325 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
3326 A),
3327 !,
3328 cleanup___0__0__0__1(A).
3329cleanup___0__0__0__1([]) :-
3330 cleanup___0__1.
3331cleanup___0__0__0__1([A|I]) :-
3332 ( A=suspension(_, active, _, _, _, _)
3333 -> ( A=suspension(_, _, _, _, B, C),
3334 setarg(2, A, removed),
3335 term_variables(term(B, C), H),
3336 ( arg(4, A, D),
3337 ( var(D)
3338 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
3339 E),
3340 E=[_|F],
3341 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
3342 F),
3343 ( F=[G|_]
3344 -> setarg(4, G, _)
3345 ; true
3346 )
3347 ; D=[_, _|F],
3348 setarg(2, D, F),
3349 ( F=[G|_]
3350 -> setarg(4, G, D)
3351 ; true
3352 )
3353 )
3354 ),
3355 'detach_known/1_1_$special_;/2___2'(H, A)
3356 ),
3357 cleanup___0__0__0__1(I)
3358 ; cleanup___0__0__0__1(I)
3359 ).
3360cleanup :-
3361 cleanup___0__1.
3362cleanup___0__1 :-
3363 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
3364 A),
3365 !,
3366 cleanup___0__1__0__2(A).
3367cleanup___0__1__0__2([]) :-
3368 cleanup___0__2.
3369cleanup___0__1__0__2([A|H]) :-
3370 ( A=suspension(_, active, _, _, _)
3371 -> ( A=suspension(_, _, _, _, B),
3372 setarg(2, A, removed),
3373 term_variables(B, G),
3374 ( arg(4, A, C),
3375 ( var(C)
3376 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
3377 D),
3378 D=[_|E],
3379 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
3380 E),
3381 ( E=[F|_]
3382 -> setarg(4, F, _)
3383 ; true
3384 )
3385 ; C=[_, _|E],
3386 setarg(2, C, E),
3387 ( E=[F|_]
3388 -> setarg(4, F, C)
3389 ; true
3390 )
3391 )
3392 ),
3393 'detach_known/1_1_$special_nonvar/1___1'(G, A)
3394 ),
3395 cleanup___0__1__0__2(H)
3396 ; cleanup___0__1__0__2(H)
3397 ).
3398cleanup___0__1 :-
3399 cleanup___0__2.
3400cleanup___0__2 :-
3401 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
3402 A),
3403 !,
3404 cleanup___0__2__0__3(A).
3405cleanup___0__2__0__3([]) :-
3406 cleanup___0__3.
3407cleanup___0__2__0__3([A|H]) :-
3408 ( A=suspension(_, active, _, _, _)
3409 -> ( A=suspension(_, _, _, _, B),
3410 setarg(2, A, removed),
3411 term_variables(B, G),
3412 ( arg(4, A, C),
3413 ( var(C)
3414 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
3415 D),
3416 D=[_|E],
3417 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
3418 E),
3419 ( E=[F|_]
3420 -> setarg(4, F, _)
3421 ; true
3422 )
3423 ; C=[_, _|E],
3424 setarg(2, C, E),
3425 ( E=[F|_]
3426 -> setarg(4, F, C)
3427 ; true
3428 )
3429 )
3430 ),
3431 'detach_known/1_1_$special_var/1___1'(G, A)
3432 ),
3433 cleanup___0__2__0__3(H)
3434 ; cleanup___0__2__0__3(H)
3435 ).
3436cleanup___0__2 :-
3437 cleanup___0__3.
3438cleanup___0__3 :-
3439 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
3440 A),
3441 !,
3442 cleanup___0__3__0__4(A).
3443cleanup___0__3__0__4([]) :-
3444 cleanup___0__4.
3445cleanup___0__3__0__4([A|H]) :-
3446 ( A=suspension(_, active, _, _, _, _)
3447 -> ( A=suspension(_, _, _, _, _, B),
3448 setarg(2, A, removed),
3449 term_variables(B, G),
3450 ( arg(5, A, C),
3451 ( var(C)
3452 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
3453 D),
3454 D=[_|E],
3455 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
3456 E),
3457 ( E=[F|_]
3458 -> setarg(5, F, _)
3459 ; true
3460 )
3461 ; C=[_, _|E],
3462 setarg(2, C, E),
3463 ( E=[F|_]
3464 -> setarg(5, F, C)
3465 ; true
3466 )
3467 )
3468 ),
3469 'detach_known/1_1_$special_atom/1___1'(G, A)
3470 ),
3471 cleanup___0__3__0__4(H)
3472 ; cleanup___0__3__0__4(H)
3473 ).
3474cleanup___0__3 :-
3475 cleanup___0__4.
3476cleanup___0__4 :-
3477 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
3478 A),
3479 !,
3480 cleanup___0__4__0__5(A).
3481cleanup___0__4__0__5([]) :-
3482 cleanup___0__5.
3483cleanup___0__4__0__5([A|H]) :-
3484 ( A=suspension(_, active, _, _, _, _)
3485 -> ( A=suspension(_, _, _, _, _, B),
3486 setarg(2, A, removed),
3487 term_variables(B, G),
3488 ( arg(5, A, C),
3489 ( var(C)
3490 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
3491 D),
3492 D=[_|E],
3493 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
3494 E),
3495 ( E=[F|_]
3496 -> setarg(5, F, _)
3497 ; true
3498 )
3499 ; C=[_, _|E],
3500 setarg(2, C, E),
3501 ( E=[F|_]
3502 -> setarg(5, F, C)
3503 ; true
3504 )
3505 )
3506 ),
3507 'detach_known/1_1_$special_atomic/1___1'(G, A)
3508 ),
3509 cleanup___0__4__0__5(H)
3510 ; cleanup___0__4__0__5(H)
3511 ).
3512cleanup___0__4 :-
3513 cleanup___0__5.
3514cleanup___0__5 :-
3515 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
3516 A),
3517 !,
3518 cleanup___0__5__0__6(A).
3519cleanup___0__5__0__6([]) :-
3520 cleanup___0__6.
3521cleanup___0__5__0__6([A|H]) :-
3522 ( A=suspension(_, active, _, _, _, _)
3523 -> ( A=suspension(_, _, _, _, _, B),
3524 setarg(2, A, removed),
3525 term_variables(B, G),
3526 ( arg(5, A, C),
3527 ( var(C)
3528 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
3529 D),
3530 D=[_|E],
3531 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
3532 E),
3533 ( E=[F|_]
3534 -> setarg(5, F, _)
3535 ; true
3536 )
3537 ; C=[_, _|E],
3538 setarg(2, C, E),
3539 ( E=[F|_]
3540 -> setarg(5, F, C)
3541 ; true
3542 )
3543 )
3544 ),
3545 'detach_known/1_1_$special_compound/1___1'(G, A)
3546 ),
3547 cleanup___0__5__0__6(H)
3548 ; cleanup___0__5__0__6(H)
3549 ).
3550cleanup___0__5 :-
3551 cleanup___0__6.
3552cleanup___0__6 :-
3553 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
3554 A),
3555 !,
3556 cleanup___0__6__0__7(A).
3557cleanup___0__6__0__7([]) :-
3558 cleanup___0__7.
3559cleanup___0__6__0__7([A|H]) :-
3560 ( A=suspension(_, active, _, _, _, _)
3561 -> ( A=suspension(_, _, _, _, _, B),
3562 setarg(2, A, removed),
3563 term_variables(B, G),
3564 ( arg(5, A, C),
3565 ( var(C)
3566 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
3567 D),
3568 D=[_|E],
3569 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
3570 E),
3571 ( E=[F|_]
3572 -> setarg(5, F, _)
3573 ; true
3574 )
3575 ; C=[_, _|E],
3576 setarg(2, C, E),
3577 ( E=[F|_]
3578 -> setarg(5, F, C)
3579 ; true
3580 )
3581 )
3582 ),
3583 'detach_known/1_1_$special_ground/1___1'(G, A)
3584 ),
3585 cleanup___0__6__0__7(H)
3586 ; cleanup___0__6__0__7(H)
3587 ).
3588cleanup___0__6 :-
3589 cleanup___0__7.
3590cleanup___0__7 :-
3591 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
3592 A),
3593 !,
3594 cleanup___0__7__0__8(A).
3595cleanup___0__7__0__8([]) :-
3596 cleanup___0__8.
3597cleanup___0__7__0__8([A|H]) :-
3598 ( A=suspension(_, active, _, _, _, _)
3599 -> ( A=suspension(_, _, _, _, _, B),
3600 setarg(2, A, removed),
3601 term_variables(B, G),
3602 ( arg(5, A, C),
3603 ( var(C)
3604 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
3605 D),
3606 D=[_|E],
3607 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
3608 E),
3609 ( E=[F|_]
3610 -> setarg(5, F, _)
3611 ; true
3612 )
3613 ; C=[_, _|E],
3614 setarg(2, C, E),
3615 ( E=[F|_]
3616 -> setarg(5, F, C)
3617 ; true
3618 )
3619 )
3620 ),
3621 'detach_known/1_1_$special_integer/1___1'(G, A)
3622 ),
3623 cleanup___0__7__0__8(H)
3624 ; cleanup___0__7__0__8(H)
3625 ).
3626cleanup___0__7 :-
3627 cleanup___0__8.
3628cleanup___0__8 :-
3629 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
3630 A),
3631 !,
3632 cleanup___0__8__0__9(A).
3633cleanup___0__8__0__9([]) :-
3634 cleanup___0__9.
3635cleanup___0__8__0__9([A|H]) :-
3636 ( A=suspension(_, active, _, _, _, _)
3637 -> ( A=suspension(_, _, _, _, _, B),
3638 setarg(2, A, removed),
3639 term_variables(B, G),
3640 ( arg(5, A, C),
3641 ( var(C)
3642 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
3643 D),
3644 D=[_|E],
3645 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
3646 E),
3647 ( E=[F|_]
3648 -> setarg(5, F, _)
3649 ; true
3650 )
3651 ; C=[_, _|E],
3652 setarg(2, C, E),
3653 ( E=[F|_]
3654 -> setarg(5, F, C)
3655 ; true
3656 )
3657 )
3658 ),
3659 'detach_known/1_1_$special_float/1___1'(G, A)
3660 ),
3661 cleanup___0__8__0__9(H)
3662 ; cleanup___0__8__0__9(H)
3663 ).
3664cleanup___0__8 :-
3665 cleanup___0__9.
3666cleanup___0__9 :-
3667 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
3668 A),
3669 !,
3670 cleanup___0__9__0__10(A).
3671cleanup___0__9__0__10([]) :-
3672 cleanup___0__10.
3673cleanup___0__9__0__10([A|H]) :-
3674 ( A=suspension(_, active, _, _, _, _)
3675 -> ( A=suspension(_, _, _, _, _, B),
3676 setarg(2, A, removed),
3677 term_variables(B, G),
3678 ( arg(5, A, C),
3679 ( var(C)
3680 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
3681 D),
3682 D=[_|E],
3683 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
3684 E),
3685 ( E=[F|_]
3686 -> setarg(5, F, _)
3687 ; true
3688 )
3689 ; C=[_, _|E],
3690 setarg(2, C, E),
3691 ( E=[F|_]
3692 -> setarg(5, F, C)
3693 ; true
3694 )
3695 )
3696 ),
3697 'detach_known/1_1_$special_number/1___1'(G, A)
3698 ),
3699 cleanup___0__9__0__10(H)
3700 ; cleanup___0__9__0__10(H)
3701 ).
3702cleanup___0__9 :-
3703 cleanup___0__10.
3704cleanup___0__10 :-
3705 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
3706 A),
3707 !,
3708 cleanup___0__10__0__11(A).
3709cleanup___0__10__0__11([]) :-
3710 cleanup___0__11.
3711cleanup___0__10__0__11([A|I]) :-
3712 ( A=suspension(_, active, _, _, _, _, _)
3713 -> ( A=suspension(_, _, _, _, _, B, C),
3714 setarg(2, A, removed),
3715 term_variables(term(B, C), H),
3716 ( arg(5, A, D),
3717 ( var(D)
3718 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
3719 E),
3720 E=[_|F],
3721 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
3722 F),
3723 ( F=[G|_]
3724 -> setarg(5, G, _)
3725 ; true
3726 )
3727 ; D=[_, _|F],
3728 setarg(2, D, F),
3729 ( F=[G|_]
3730 -> setarg(5, G, D)
3731 ; true
3732 )
3733 )
3734 ),
3735 'detach_known/1_1_$special_=\\=/2___2'(H, A)
3736 ),
3737 cleanup___0__10__0__11(I)
3738 ; cleanup___0__10__0__11(I)
3739 ).
3740cleanup___0__10 :-
3741 cleanup___0__11.
3742cleanup___0__11 :-
3743 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
3744 A),
3745 !,
3746 cleanup___0__11__0__12(A).
3747cleanup___0__11__0__12([]) :-
3748 cleanup___0__12.
3749cleanup___0__11__0__12([A|H]) :-
3750 ( A=suspension(_, active, _, _, _)
3751 -> ( A=suspension(_, _, _, _, B),
3752 setarg(2, A, removed),
3753 term_variables(B, G),
3754 ( arg(4, A, C),
3755 ( var(C)
3756 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
3757 D),
3758 D=[_|E],
3759 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
3760 E),
3761 ( E=[F|_]
3762 -> setarg(4, F, _)
3763 ; true
3764 )
3765 ; C=[_, _|E],
3766 setarg(2, C, E),
3767 ( E=[F|_]
3768 -> setarg(4, F, C)
3769 ; true
3770 )
3771 )
3772 ),
3773 'detach_known/1_1_$special_\\+/1___1'(G, A)
3774 ),
3775 cleanup___0__11__0__12(H)
3776 ; cleanup___0__11__0__12(H)
3777 ).
3778cleanup___0__11 :-
3779 cleanup___0__12.
3780cleanup___0__12 :-
3781 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
3782 A),
3783 !,
3784 cleanup___0__12__0__13(A).
3785cleanup___0__12__0__13([]) :-
3786 cleanup___0__13.
3787cleanup___0__12__0__13([A|J]) :-
3788 ( A=suspension(_, active, _, _, _, _, _)
3789 -> ( A=suspension(_, _, _, _, B, C, D),
3790 setarg(2, A, removed),
3791 term_variables(term(B, C, D), I),
3792 ( arg(4, A, E),
3793 ( var(E)
3794 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
3795 F),
3796 F=[_|G],
3797 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
3798 G),
3799 ( G=[H|_]
3800 -> setarg(4, H, _)
3801 ; true
3802 )
3803 ; E=[_, _|G],
3804 setarg(2, E, G),
3805 ( G=[H|_]
3806 -> setarg(4, H, E)
3807 ; true
3808 )
3809 )
3810 ),
3811 'detach_known/1_1_$special_functor/3___3'(I, A)
3812 ),
3813 cleanup___0__12__0__13(J)
3814 ; cleanup___0__12__0__13(J)
3815 ).
3816cleanup___0__12 :-
3817 cleanup___0__13.
3818cleanup___0__13 :-
3819 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
3820 A),
3821 !,
3822 cleanup___0__13__0__14(A).
3823cleanup___0__13__0__14([]) :-
3824 cleanup___0__14.
3825cleanup___0__13__0__14([A|I]) :-
3826 ( A=suspension(_, active, _, _, _, _, _)
3827 -> ( A=suspension(_, _, _, _, _, B, C),
3828 setarg(2, A, removed),
3829 term_variables(term(B, C), H),
3830 ( arg(5, A, D),
3831 ( var(D)
3832 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
3833 E),
3834 E=[_|F],
3835 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
3836 F),
3837 ( F=[G|_]
3838 -> setarg(5, G, _)
3839 ; true
3840 )
3841 ; D=[_, _|F],
3842 setarg(2, D, F),
3843 ( F=[G|_]
3844 -> setarg(5, G, D)
3845 ; true
3846 )
3847 )
3848 ),
3849 'detach_known/1_1_$special_\\=/2___2'(H, A)
3850 ),
3851 cleanup___0__13__0__14(I)
3852 ; cleanup___0__13__0__14(I)
3853 ).
3854cleanup___0__13 :-
3855 cleanup___0__14.
3856cleanup___0__14 :-
3857 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
3858 A),
3859 !,
3860 cleanup___0__14__0__15(A).
3861cleanup___0__14__0__15([]) :-
3862 cleanup___0__15.
3863cleanup___0__14__0__15([A|I]) :-
3864 ( A=suspension(_, active, _, _, _, _)
3865 -> ( A=suspension(_, _, _, _, B, C),
3866 setarg(2, A, removed),
3867 term_variables(term(B, C), H),
3868 ( arg(4, A, D),
3869 ( var(D)
3870 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
3871 E),
3872 E=[_|F],
3873 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
3874 F),
3875 ( F=[G|_]
3876 -> setarg(4, G, _)
3877 ; true
3878 )
3879 ; D=[_, _|F],
3880 setarg(2, D, F),
3881 ( F=[G|_]
3882 -> setarg(4, G, D)
3883 ; true
3884 )
3885 )
3886 ),
3887 'detach_known/1_1_$special_=/2___2'(H, A)
3888 ),
3889 cleanup___0__14__0__15(I)
3890 ; cleanup___0__14__0__15(I)
3891 ).
3892cleanup___0__14 :-
3893 cleanup___0__15.
3894cleanup___0__15 :-
3895 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
3896 A),
3897 !,
3898 cleanup___0__15__0__17(A).
3899cleanup___0__15__0__17([]) :-
3900 cleanup___0__16.
3901cleanup___0__15__0__17([A|I]) :-
3902 ( A=suspension(_, active, _, _, _, _, _)
3903 -> ( A=suspension(_, _, _, _, _, B, C),
3904 setarg(2, A, removed),
3905 term_variables(term(B, C), H),
3906 ( arg(5, A, D),
3907 ( var(D)
3908 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
3909 E),
3910 E=[_|F],
3911 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
3912 F),
3913 ( F=[G|_]
3914 -> setarg(5, G, _)
3915 ; true
3916 )
3917 ; D=[_, _|F],
3918 setarg(2, D, F),
3919 ( F=[G|_]
3920 -> setarg(5, G, D)
3921 ; true
3922 )
3923 )
3924 ),
3925 'detach_known/1_1_$special_\\==/2___2'(H, A)
3926 ),
3927 cleanup___0__15__0__17(I)
3928 ; cleanup___0__15__0__17(I)
3929 ).
3930cleanup___0__15 :-
3931 cleanup___0__16.
3932cleanup___0__16 :-
3933 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
3934 A),
3935 !,
3936 cleanup___0__16__0__18(A).
3937cleanup___0__16__0__18([]) :-
3938 cleanup___0__17.
3939cleanup___0__16__0__18([A|I]) :-
3940 ( A=suspension(_, active, _, _, _, _, _)
3941 -> ( A=suspension(_, _, _, _, _, B, C),
3942 setarg(2, A, removed),
3943 term_variables(term(B, C), H),
3944 ( arg(5, A, D),
3945 ( var(D)
3946 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
3947 E),
3948 E=[_|F],
3949 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
3950 F),
3951 ( F=[G|_]
3952 -> setarg(5, G, _)
3953 ; true
3954 )
3955 ; D=[_, _|F],
3956 setarg(2, D, F),
3957 ( F=[G|_]
3958 -> setarg(5, G, D)
3959 ; true
3960 )
3961 )
3962 ),
3963 'detach_known/1_1_$special_==/2___2'(H, A)
3964 ),
3965 cleanup___0__16__0__18(I)
3966 ; cleanup___0__16__0__18(I)
3967 ).
3968cleanup___0__16 :-
3969 cleanup___0__17.
3970cleanup___0__17 :-
3971 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
3972 A),
3973 !,
3974 cleanup___0__17__0__23(A).
3975cleanup___0__17__0__23([]) :-
3976 cleanup___0__18.
3977cleanup___0__17__0__23([A|I]) :-
3978 ( A=suspension(_, active, _, _, _, _, _)
3979 -> ( A=suspension(_, _, _, _, _, B, C),
3980 setarg(2, A, removed),
3981 term_variables(term(B, C), H),
3982 ( arg(5, A, D),
3983 ( var(D)
3984 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
3985 E),
3986 E=[_|F],
3987 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
3988 F),
3989 ( F=[G|_]
3990 -> setarg(5, G, _)
3991 ; true
3992 )
3993 ; D=[_, _|F],
3994 setarg(2, D, F),
3995 ( F=[G|_]
3996 -> setarg(5, G, D)
3997 ; true
3998 )
3999 )
4000 ),
4001 'detach_known/1_1_$special_=</2___2'(H, A)
4002 ),
4003 cleanup___0__17__0__23(I)
4004 ; cleanup___0__17__0__23(I)
4005 ).
4006cleanup___0__17 :-
4007 cleanup___0__18.
4008cleanup___0__18 :-
4009 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
4010 A),
4011 !,
4012 cleanup___0__18__0__24(A).
4013cleanup___0__18__0__24([]) :-
4014 cleanup___0__19.
4015cleanup___0__18__0__24([A|I]) :-
4016 ( A=suspension(_, active, _, _, _, _, _)
4017 -> ( A=suspension(_, _, _, _, _, B, C),
4018 setarg(2, A, removed),
4019 term_variables(term(B, C), H),
4020 ( arg(5, A, D),
4021 ( var(D)
4022 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
4023 E),
4024 E=[_|F],
4025 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
4026 F),
4027 ( F=[G|_]
4028 -> setarg(5, G, _)
4029 ; true
4030 )
4031 ; D=[_, _|F],
4032 setarg(2, D, F),
4033 ( F=[G|_]
4034 -> setarg(5, G, D)
4035 ; true
4036 )
4037 )
4038 ),
4039 'detach_known/1_1_$special_=:=/2___2'(H, A)
4040 ),
4041 cleanup___0__18__0__24(I)
4042 ; cleanup___0__18__0__24(I)
4043 ).
4044cleanup___0__18 :-
4045 cleanup___0__19.
4046cleanup___0__19 :-
4047 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4048 A),
4049 !,
4050 cleanup___0__19__0__25(A).
4051cleanup___0__19__0__25([]) :-
4052 cleanup___0__20.
4053cleanup___0__19__0__25([A|F]) :-
4054 ( A=suspension(_, active, _)
4055 -> ( setarg(2, A, removed),
4056 arg(3, A, B),
4057 ( var(B)
4058 -> nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4059 C),
4060 C=[_|D],
4061 b_setval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4062 D),
4063 ( D=[E|_]
4064 -> setarg(3, E, _)
4065 ; true
4066 )
4067 ; B=[_, _|D],
4068 setarg(2, B, D),
4069 ( D=[E|_]
4070 -> setarg(3, E, B)
4071 ; true
4072 )
4073 )
4074 ),
4075 cleanup___0__19__0__25(F)
4076 ; cleanup___0__19__0__25(F)
4077 ).
4078cleanup___0__19 :-
4079 cleanup___0__20.
4080cleanup___0__20 :-
4081 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
4082 A),
4083 !,
4084 cleanup___0__20__0__26(A).
4085cleanup___0__20__0__26([]) :-
4086 cleanup___0__21.
4087cleanup___0__20__0__26([A|H]) :-
4088 ( A=suspension(_, active, _, _, _)
4089 -> ( A=suspension(_, _, _, _, B),
4090 setarg(2, A, removed),
4091 term_variables(B, G),
4092 ( arg(4, A, C),
4093 ( var(C)
4094 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
4095 D),
4096 D=[_|E],
4097 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
4098 E),
4099 ( E=[F|_]
4100 -> setarg(4, F, _)
4101 ; true
4102 )
4103 ; C=[_, _|E],
4104 setarg(2, C, E),
4105 ( E=[F|_]
4106 -> setarg(4, F, C)
4107 ; true
4108 )
4109 )
4110 ),
4111 'detach_known/1_1_$default___1'(G, A)
4112 ),
4113 cleanup___0__20__0__26(H)
4114 ; cleanup___0__20__0__26(H)
4115 ).
4116cleanup___0__20 :-
4117 cleanup___0__21.
4118cleanup___0__21 :-
4119 nb_getval('$chr_store_global_list_guard_entailment____variables___1',
4120 A),
4121 !,
4122 cleanup___0__21__0__27(A).
4123cleanup___0__21__0__27([]) :-
4124 cleanup___0__22.
4125cleanup___0__21__0__27([A|H]) :-
4126 ( A=suspension(_, active, _, _)
4127 -> ( A=suspension(_, _, _, B),
4128 setarg(2, A, removed),
4129 term_variables(B, G),
4130 ( arg(3, A, C),
4131 ( var(C)
4132 -> nb_getval('$chr_store_global_list_guard_entailment____variables___1',
4133 D),
4134 D=[_|E],
4135 b_setval('$chr_store_global_list_guard_entailment____variables___1',
4136 E),
4137 ( E=[F|_]
4138 -> setarg(3, F, _)
4139 ; true
4140 )
4141 ; C=[_, _|E],
4142 setarg(2, C, E),
4143 ( E=[F|_]
4144 -> setarg(3, F, C)
4145 ; true
4146 )
4147 )
4148 ),
4149 detach_variables___1(G, A)
4150 ),
4151 cleanup___0__21__0__27(H)
4152 ; cleanup___0__21__0__27(H)
4153 ).
4154cleanup___0__21 :-
4155 cleanup___0__22.
4156cleanup___0__22.
4157variables(A) :-
4158 variables___1__0(A, _).
4159variables___1__0(V, N) :-
4160 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
4161 A),
4162 member(B, A),
4163 B=suspension(_, active, _, _, E, D, C),
4164 ground(C),
4165 ground(D),
4166 var(E),
4167 !,
4168 B=suspension(_, _, _, _, F, G, H),
4169 setarg(2, B, removed),
4170 term_variables(term(F, G, H), M),
4171 arg(4, B, I),
4172 ( var(I)
4173 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
4174 J),
4175 J=[_|K],
4176 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
4177 K),
4178 ( K=[L|_]
4179 -> setarg(4, L, _)
4180 ; true
4181 )
4182 ; I=[_, _|K],
4183 setarg(2, I, K),
4184 ( K=[L|_]
4185 -> setarg(4, L, I)
4186 ; true
4187 )
4188 ),
4189 'detach_known/1_1_$special_functor/3___3'(M, B),
4190 ( var(N)
4191 -> true
4192 ; N=suspension(_, _, _, O),
4193 setarg(2, N, removed),
4194 term_variables(O, T),
4195 ( arg(3, N, P),
4196 ( var(P)
4197 -> nb_getval('$chr_store_global_list_guard_entailment____variables___1',
4198 Q),
4199 Q=[_|R],
4200 b_setval('$chr_store_global_list_guard_entailment____variables___1',
4201 R),
4202 ( R=[S|_]
4203 -> setarg(3, S, _)
4204 ; true
4205 )
4206 ; P=[_, _|R],
4207 setarg(2, P, R),
4208 ( R=[S|_]
4209 -> setarg(3, S, P)
4210 ; true
4211 )
4212 )
4213 ),
4214 detach_variables___1(T, N)
4215 ),
4216 functor(E, D, C),
4217 E=..[_|U],
4218 append(U, V, W),
4219 variables(W).
4220variables___1__0(B, A) :-
4221 ( var(A)
4222 -> ( A=suspension(D, active, _, B),
4223 term_variables(B, C),
4224 'chr none_locked'(C),
4225 'chr gen_id'(D)
4226 ),
4227 ( nb_getval('$chr_store_global_list_guard_entailment____variables___1',
4228 E),
4229 F=[A|E],
4230 b_setval('$chr_store_global_list_guard_entailment____variables___1',
4231 F),
4232 ( E=[G|_]
4233 -> setarg(3, G, F)
4234 ; true
4235 )
4236 ),
4237 attach_variables___1(C, A)
4238 ; setarg(2, A, active)
4239 ).
4240'test/1_1_$default'(_) :-
4241 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4242 A),
4243 member(B, A),
4244 B=suspension(_, active, _),
4245 !.
4246'test/1_1_$default'(A) :-
4247 nonvar(A),
4248 ( ( ( ( ( A=nonvar(B),
4249 ( 'chr newvia_1'(B, C)
4250 -> get_attr(C, guard_entailment, D),
4251 D=v(_, _, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
4252 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
4253 E)
4254 ),
4255 member(F, E),
4256 F=suspension(_, active, _, _, G),
4257 G==B,
4258 !
4259 ; A=var(H),
4260 ( 'chr newvia_1'(H, I)
4261 -> get_attr(I, guard_entailment, J),
4262 J=v(_, _, _, _, _, K, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
4263 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
4264 K)
4265 ),
4266 member(L, K),
4267 L=suspension(_, active, _, _, M),
4268 M==H,
4269 !
4270 )
4271 ; A=atom(N),
4272 ( 'chr newvia_1'(N, O)
4273 -> get_attr(O, guard_entailment, P),
4274 P=v(_, _, _, _, _, _, Q, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
4275 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
4276 Q)
4277 ),
4278 member(R, Q),
4279 R=suspension(_, active, _, _, _, S),
4280 S==N,
4281 !
4282 )
4283 ; A=atomic(T),
4284 ( 'chr newvia_1'(T, U)
4285 -> get_attr(U, guard_entailment, V),
4286 V=v(_, _, _, _, _, _, _, W, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
4287 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
4288 W)
4289 ),
4290 member(X, W),
4291 X=suspension(_, active, _, _, _, Y),
4292 Y==T,
4293 !
4294 )
4295 ; A=compound(Z),
4296 ( 'chr newvia_1'(Z, A1)
4297 -> get_attr(A1, guard_entailment, B1),
4298 B1=v(_, _, _, _, _, _, _, _, C1, _, _, _, _, _, _, _, _, _, _, _, _, _)
4299 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
4300 C1)
4301 ),
4302 member(D1, C1),
4303 D1=suspension(_, active, _, _, _, E1),
4304 E1==Z,
4305 !
4306 )
4307 ; A=(F1\=G1),
4308 ( 'chr newvia_2'(F1, G1, H1)
4309 -> get_attr(H1, guard_entailment, I1),
4310 I1=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, J1, _, _, _, _, _)
4311 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
4312 J1)
4313 ),
4314 member(K1, J1),
4315 K1=suspension(_, active, _, _, _, L1, M1),
4316 L1==F1,
4317 M1==G1,
4318 !
4319 ).
4320'test/1_1_$default'(A) :-
4321 ( 'chr newvia_1'(A, B)
4322 -> get_attr(B, guard_entailment, C),
4323 C=v(_, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
4324 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
4325 D)
4326 ),
4327 member(E, D),
4328 E=suspension(_, active, _, _, F),
4329 F==A,
4330 !.
4331'test/1_1_$default'(K) :-
4332 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4333 A),
4334 member(B, A),
4335 B=suspension(_, active, _, _, J, M),
4336 !,
4337 B=suspension(_, _, _, _, C, D),
4338 setarg(2, B, removed),
4339 term_variables(term(C, D), I),
4340 arg(4, B, E),
4341 ( var(E)
4342 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4343 F),
4344 F=[_|G],
4345 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4346 G),
4347 ( G=[H|_]
4348 -> setarg(4, H, _)
4349 ; true
4350 )
4351 ; E=[_, _|G],
4352 setarg(2, E, G),
4353 ( G=[H|_]
4354 -> setarg(4, H, E)
4355 ; true
4356 )
4357 ),
4358 'detach_known/1_1_$special_;/2___2'(I, B),
4359 \+ try(J, K),
4360 !,
4361 negate_b(J, L),
4362 known(L),
4363 \+ try(M, K).
4364'test/1_1_$default'(_) :-
4365 fail.
4366'test/1_1_$special_,/2'(_, _) :-
4367 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4368 A),
4369 member(B, A),
4370 B=suspension(_, active, _),
4371 !.
4372'test/1_1_$special_,/2'(A, B) :-
4373 test(A),
4374 known(A),
4375 test(B).
4376'test/1_1_$special_\\+/1'(_) :-
4377 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4378 A),
4379 member(B, A),
4380 B=suspension(_, active, _),
4381 !.
4382'test/1_1_$special_\\+/1'(A) :-
4383 ( 'chr newvia_1'(A, B)
4384 -> get_attr(B, guard_entailment, C),
4385 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
4386 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
4387 D)
4388 ),
4389 member(E, D),
4390 E=suspension(_, active, _, _, F),
4391 F==A,
4392 !.
4393'test/1_1_$special_\\+/1'(A) :-
4394 nonvar(A),
4395 ( ( ( ( ( ( ( A=functor(B, C, D),
4396 nonvar(B),
4397 ( 'chr lock'(B),
4398 'chr lock'(C),
4399 'chr lock'(D),
4400 functor(B, C, D),
4401 'chr unlock'(B),
4402 'chr unlock'(C),
4403 'chr unlock'(D),
4404 !,
4405 fail
4406 ; !
4407 )
4408 ; A=ground(E),
4409 ground(E),
4410 !,
4411 fail
4412 )
4413 ; A=number(F),
4414 number(F),
4415 !,
4416 fail
4417 )
4418 ; A=float(G),
4419 float(G),
4420 !,
4421 fail
4422 )
4423 ; A=integer(H),
4424 integer(H),
4425 !,
4426 fail
4427 )
4428 ; A=number(I),
4429 nonvar(I),
4430 !
4431 )
4432 ; A=float(J),
4433 nonvar(J),
4434 !
4435 )
4436 ; A=integer(K),
4437 nonvar(K),
4438 !
4439 ).
4440'test/1_1_$special_\\+/1'(K) :-
4441 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4442 A),
4443 member(B, A),
4444 B=suspension(_, active, _, _, J, M),
4445 !,
4446 B=suspension(_, _, _, _, C, D),
4447 setarg(2, B, removed),
4448 term_variables(term(C, D), I),
4449 arg(4, B, E),
4450 ( var(E)
4451 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4452 F),
4453 F=[_|G],
4454 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4455 G),
4456 ( G=[H|_]
4457 -> setarg(4, H, _)
4458 ; true
4459 )
4460 ; E=[_, _|G],
4461 setarg(2, E, G),
4462 ( G=[H|_]
4463 -> setarg(4, H, E)
4464 ; true
4465 )
4466 ),
4467 'detach_known/1_1_$special_;/2___2'(I, B),
4468 \+ try(J, \+K),
4469 !,
4470 negate_b(J, L),
4471 known(L),
4472 \+ try(M, \+K).
4473'test/1_1_$special_\\+/1'(_) :-
4474 fail.
4475'test/1_1_$special_integer/1'(_) :-
4476 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4477 A),
4478 member(B, A),
4479 B=suspension(_, active, _),
4480 !.
4481'test/1_1_$special_integer/1'(A) :-
4482 ( 'chr newvia_1'(A, B)
4483 -> get_attr(B, guard_entailment, C),
4484 C=v(_, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _)
4485 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
4486 D)
4487 ),
4488 member(E, D),
4489 E=suspension(_, active, _, _, _, F),
4490 F==A,
4491 !.
4492'test/1_1_$special_integer/1'(A) :-
4493 integer(A),
4494 !.
4495'test/1_1_$special_integer/1'(A) :-
4496 nonvar(A),
4497 !,
4498 fail.
4499'test/1_1_$special_integer/1'(K) :-
4500 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4501 A),
4502 member(B, A),
4503 B=suspension(_, active, _, _, J, M),
4504 !,
4505 B=suspension(_, _, _, _, C, D),
4506 setarg(2, B, removed),
4507 term_variables(term(C, D), I),
4508 arg(4, B, E),
4509 ( var(E)
4510 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4511 F),
4512 F=[_|G],
4513 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4514 G),
4515 ( G=[H|_]
4516 -> setarg(4, H, _)
4517 ; true
4518 )
4519 ; E=[_, _|G],
4520 setarg(2, E, G),
4521 ( G=[H|_]
4522 -> setarg(4, H, E)
4523 ; true
4524 )
4525 ),
4526 'detach_known/1_1_$special_;/2___2'(I, B),
4527 \+ try(J, integer(K)),
4528 !,
4529 negate_b(J, L),
4530 known(L),
4531 \+ try(M, integer(K)).
4532'test/1_1_$special_integer/1'(_) :-
4533 fail.
4534'test/1_1_$special_float/1'(_) :-
4535 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4536 A),
4537 member(B, A),
4538 B=suspension(_, active, _),
4539 !.
4540'test/1_1_$special_float/1'(A) :-
4541 ( 'chr newvia_1'(A, B)
4542 -> get_attr(B, guard_entailment, C),
4543 C=v(_, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _)
4544 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
4545 D)
4546 ),
4547 member(E, D),
4548 E=suspension(_, active, _, _, _, F),
4549 F==A,
4550 !.
4551'test/1_1_$special_float/1'(A) :-
4552 float(A),
4553 !.
4554'test/1_1_$special_float/1'(A) :-
4555 nonvar(A),
4556 !,
4557 fail.
4558'test/1_1_$special_float/1'(K) :-
4559 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4560 A),
4561 member(B, A),
4562 B=suspension(_, active, _, _, J, M),
4563 !,
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, float(K)),
4587 !,
4588 negate_b(J, L),
4589 known(L),
4590 \+ try(M, float(K)).
4591'test/1_1_$special_float/1'(_) :-
4592 fail.
4593'test/1_1_$special_number/1'(_) :-
4594 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4595 A),
4596 member(B, A),
4597 B=suspension(_, active, _),
4598 !.
4599'test/1_1_$special_number/1'(A) :-
4600 ( 'chr newvia_1'(A, B)
4601 -> get_attr(B, guard_entailment, C),
4602 C=v(_, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _)
4603 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
4604 D)
4605 ),
4606 member(E, D),
4607 E=suspension(_, active, _, _, _, F),
4608 F==A,
4609 !.
4610'test/1_1_$special_number/1'(A) :-
4611 number(A),
4612 !.
4613'test/1_1_$special_number/1'(A) :-
4614 nonvar(A),
4615 !,
4616 fail.
4617'test/1_1_$special_number/1'(K) :-
4618 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4619 A),
4620 member(B, A),
4621 B=suspension(_, active, _, _, J, M),
4622 !,
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, number(K)),
4646 !,
4647 negate_b(J, L),
4648 known(L),
4649 \+ try(M, number(K)).
4650'test/1_1_$special_number/1'(_) :-
4651 fail.
4652'test/1_1_$special_ground/1'(_) :-
4653 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4654 A),
4655 member(B, A),
4656 B=suspension(_, active, _),
4657 !.
4658'test/1_1_$special_ground/1'(A) :-
4659 ( 'chr newvia_1'(A, B)
4660 -> get_attr(B, guard_entailment, C),
4661 C=v(_, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _)
4662 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
4663 D)
4664 ),
4665 member(E, D),
4666 E=suspension(_, active, _, _, _, F),
4667 F==A,
4668 !.
4669'test/1_1_$special_ground/1'(A) :-
4670 ground(A),
4671 !.
4672'test/1_1_$special_ground/1'(K) :-
4673 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4674 A),
4675 member(B, A),
4676 B=suspension(_, active, _, _, J, M),
4677 !,
4678 B=suspension(_, _, _, _, C, D),
4679 setarg(2, B, removed),
4680 term_variables(term(C, D), I),
4681 arg(4, B, E),
4682 ( var(E)
4683 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4684 F),
4685 F=[_|G],
4686 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4687 G),
4688 ( G=[H|_]
4689 -> setarg(4, H, _)
4690 ; true
4691 )
4692 ; E=[_, _|G],
4693 setarg(2, E, G),
4694 ( G=[H|_]
4695 -> setarg(4, H, E)
4696 ; true
4697 )
4698 ),
4699 'detach_known/1_1_$special_;/2___2'(I, B),
4700 \+ try(J, ground(K)),
4701 !,
4702 negate_b(J, L),
4703 known(L),
4704 \+ try(M, ground(K)).
4705'test/1_1_$special_ground/1'(_) :-
4706 fail.
4707'test/1_1_$special_=:=/2'(_, _) :-
4708 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4709 A),
4710 member(B, A),
4711 B=suspension(_, active, _),
4712 !.
4713'test/1_1_$special_=:=/2'(A, B) :-
4714 ( 'chr newvia_2'(A, B, C)
4715 -> get_attr(C, guard_entailment, D),
4716 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E)
4717 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
4718 E)
4719 ),
4720 member(F, E),
4721 F=suspension(_, active, _, _, _, G, H),
4722 G==A,
4723 H==B,
4724 !.
4725'test/1_1_$special_=:=/2'(A, B) :-
4726 A==B,
4727 !.
4728'test/1_1_$special_=:=/2'(B, A) :-
4729 ( ground(A),
4730 ground(B)
4731 ),
4732 ( B=:=A,
4733 !
4734 ; !,
4735 fail
4736 ).
4737'test/1_1_$special_=:=/2'(K, L) :-
4738 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4739 A),
4740 member(B, A),
4741 B=suspension(_, active, _, _, J, N),
4742 !,
4743 B=suspension(_, _, _, _, C, D),
4744 setarg(2, B, removed),
4745 term_variables(term(C, D), I),
4746 arg(4, B, E),
4747 ( var(E)
4748 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4749 F),
4750 F=[_|G],
4751 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4752 G),
4753 ( G=[H|_]
4754 -> setarg(4, H, _)
4755 ; true
4756 )
4757 ; E=[_, _|G],
4758 setarg(2, E, G),
4759 ( G=[H|_]
4760 -> setarg(4, H, E)
4761 ; true
4762 )
4763 ),
4764 'detach_known/1_1_$special_;/2___2'(I, B),
4765 \+ try(J, K=:=L),
4766 !,
4767 negate_b(J, M),
4768 known(M),
4769 \+ try(N, K=:=L).
4770'test/1_1_$special_=:=/2'(_, _) :-
4771 fail.
4772'test/1_1_$special_==/2'(_, _) :-
4773 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4774 A),
4775 member(B, A),
4776 B=suspension(_, active, _),
4777 !.
4778'test/1_1_$special_==/2'(A, B) :-
4779 ( 'chr newvia_2'(A, B, C)
4780 -> get_attr(C, guard_entailment, D),
4781 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _)
4782 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
4783 E)
4784 ),
4785 member(F, E),
4786 F=suspension(_, active, _, _, _, G, H),
4787 G==A,
4788 H==B,
4789 !.
4790'test/1_1_$special_==/2'(A, B) :-
4791 A==B,
4792 !.
4793'test/1_1_$special_==/2'(K, L) :-
4794 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4795 A),
4796 member(B, A),
4797 B=suspension(_, active, _, _, J, N),
4798 !,
4799 B=suspension(_, _, _, _, C, D),
4800 setarg(2, B, removed),
4801 term_variables(term(C, D), I),
4802 arg(4, B, E),
4803 ( var(E)
4804 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4805 F),
4806 F=[_|G],
4807 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4808 G),
4809 ( G=[H|_]
4810 -> setarg(4, H, _)
4811 ; true
4812 )
4813 ; E=[_, _|G],
4814 setarg(2, E, G),
4815 ( G=[H|_]
4816 -> setarg(4, H, E)
4817 ; true
4818 )
4819 ),
4820 'detach_known/1_1_$special_;/2___2'(I, B),
4821 \+ try(J, K==L),
4822 !,
4823 negate_b(J, M),
4824 known(M),
4825 \+ try(N, K==L).
4826'test/1_1_$special_==/2'(_, _) :-
4827 fail.
4828'test/1_1_$special_true/0' :-
4829 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4830 A),
4831 member(B, A),
4832 B=suspension(_, active, _),
4833 !.
4834'test/1_1_$special_true/0'.
4835'test/1_1_$special_functor/3'(_, _, _) :-
4836 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4837 A),
4838 member(B, A),
4839 B=suspension(_, active, _),
4840 !.
4841'test/1_1_$special_functor/3'(A, B, C) :-
4842 ( 'chr newvia'([A, B, C], D)
4843 -> get_attr(D, guard_entailment, E),
4844 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _)
4845 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
4846 F)
4847 ),
4848 member(G, F),
4849 G=suspension(_, active, _, _, H, I, J),
4850 H==A,
4851 I==B,
4852 J==C,
4853 !.
4854'test/1_1_$special_functor/3'(C, B, A) :-
4855 ground(A),
4856 ground(B),
4857 var(C),
4858 nb_getval('$chr_store_global_list_guard_entailment____variables___1',
4859 D),
4860 member(E, D),
4861 E=suspension(_, active, _, F),
4862 'chr lock'(C),
4863 'chr lock'(F),
4864 \+ memberchk_eq(C, F),
4865 'chr unlock'(C),
4866 'chr unlock'(F),
4867 !,
4868 functor(C, B, A).
4869'test/1_1_$special_functor/3'(A, B, C) :-
4870 nonvar(A),
4871 ( 'chr lock'(A),
4872 'chr lock'(B),
4873 'chr lock'(C),
4874 functor(A, B, C),
4875 'chr unlock'(A),
4876 'chr unlock'(B),
4877 'chr unlock'(C),
4878 !
4879 ; !,
4880 fail
4881 ).
4882'test/1_1_$special_functor/3'(K, L, M) :-
4883 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4884 A),
4885 member(B, A),
4886 B=suspension(_, active, _, _, J, O),
4887 !,
4888 B=suspension(_, _, _, _, C, D),
4889 setarg(2, B, removed),
4890 term_variables(term(C, D), I),
4891 arg(4, B, E),
4892 ( var(E)
4893 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4894 F),
4895 F=[_|G],
4896 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4897 G),
4898 ( G=[H|_]
4899 -> setarg(4, H, _)
4900 ; true
4901 )
4902 ; E=[_, _|G],
4903 setarg(2, E, G),
4904 ( G=[H|_]
4905 -> setarg(4, H, E)
4906 ; true
4907 )
4908 ),
4909 'detach_known/1_1_$special_;/2___2'(I, B),
4910 \+ try(J, functor(K, L, M)),
4911 !,
4912 negate_b(J, N),
4913 known(N),
4914 \+ try(O, functor(K, L, M)).
4915'test/1_1_$special_functor/3'(_, _, _) :-
4916 fail.
4917'test/1_1_$special_=/2'(_, _) :-
4918 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4919 A),
4920 member(B, A),
4921 B=suspension(_, active, _),
4922 !.
4923'test/1_1_$special_=/2'(A, B) :-
4924 ( 'chr newvia_2'(A, B, C)
4925 -> get_attr(C, guard_entailment, D),
4926 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _)
4927 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
4928 E)
4929 ),
4930 member(F, E),
4931 F=suspension(_, active, _, _, G, H),
4932 G==A,
4933 H==B,
4934 !.
4935'test/1_1_$special_=/2'(B, A) :-
4936 ground(A),
4937 ground(B),
4938 !,
4939 B=A.
4940'test/1_1_$special_=/2'(K, L) :-
4941 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4942 A),
4943 member(B, A),
4944 B=suspension(_, active, _, _, J, N),
4945 !,
4946 B=suspension(_, _, _, _, C, D),
4947 setarg(2, B, removed),
4948 term_variables(term(C, D), I),
4949 arg(4, B, E),
4950 ( var(E)
4951 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4952 F),
4953 F=[_|G],
4954 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4955 G),
4956 ( G=[H|_]
4957 -> setarg(4, H, _)
4958 ; true
4959 )
4960 ; E=[_, _|G],
4961 setarg(2, E, G),
4962 ( G=[H|_]
4963 -> setarg(4, H, E)
4964 ; true
4965 )
4966 ),
4967 'detach_known/1_1_$special_;/2___2'(I, B),
4968 \+ try(J, K=L),
4969 !,
4970 negate_b(J, M),
4971 known(M),
4972 \+ try(N, K=L).
4973'test/1_1_$special_=/2'(_, _) :-
4974 fail.
4975'test/1_1_$special_;/2'(_, _) :-
4976 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
4977 A),
4978 member(B, A),
4979 B=suspension(_, active, _),
4980 !.
4981'test/1_1_$special_;/2'(A, B) :-
4982 ( 'chr newvia_2'(A, B, C)
4983 -> get_attr(C, guard_entailment, D),
4984 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
4985 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
4986 E)
4987 ),
4988 member(F, E),
4989 F=suspension(_, active, _, _, G, H),
4990 G==A,
4991 H==B,
4992 !.
4993'test/1_1_$special_;/2'(A, B) :-
4994 A==fail,
4995 !,
4996 test(B).
4997'test/1_1_$special_;/2'(B, A) :-
4998 A==fail,
4999 !,
5000 test(B).
5001'test/1_1_$special_;/2'(A, B) :-
5002 negate_b(A, D),
5003 negate_b(B, C),
5004 ( known(C),
5005 test(A)
5006 ; known(D),
5007 test(B)
5008 ).
5009'test/1_1_$special_is/2'(_, _) :-
5010 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
5011 A),
5012 member(B, A),
5013 B=suspension(_, active, _),
5014 !.
5015'test/1_1_$special_is/2'(A, B) :-
5016 'test/1_1_$special_=:=/2'(A, B).
5017'test/1_1_$special_</2'(_, _) :-
5018 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
5019 A),
5020 member(B, A),
5021 B=suspension(_, active, _),
5022 !.
5023'test/1_1_$special_</2'(A, B) :-
5024 'test/1_1_$special_,/2'(A=<B, A=\=B).
5025'test/1_1_$special_>=/2'(_, _) :-
5026 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
5027 A),
5028 member(B, A),
5029 B=suspension(_, active, _),
5030 !.
5031'test/1_1_$special_>=/2'(B, A) :-
5032 'test/1_1_$special_=</2'(A, B).
5033'test/1_1_$special_>/2'(_, _) :-
5034 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
5035 A),
5036 member(B, A),
5037 B=suspension(_, active, _),
5038 !.
5039'test/1_1_$special_>/2'(B, A) :-
5040 'test/1_1_$special_</2'(A, B).
5041'test/1_1_$special_=\\=/2'(_, _) :-
5042 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
5043 A),
5044 member(B, A),
5045 B=suspension(_, active, _),
5046 !.
5047'test/1_1_$special_=\\=/2'(A, B) :-
5048 ( 'chr newvia_2'(A, B, C)
5049 -> get_attr(C, guard_entailment, D),
5050 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _, _)
5051 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
5052 E)
5053 ),
5054 member(F, E),
5055 F=suspension(_, active, _, _, _, G, H),
5056 G==A,
5057 H==B,
5058 !.
5059'test/1_1_$special_=\\=/2'(B, A) :-
5060 ( number(A),
5061 ( 'chr newvia_1'(B, C)
5062 -> get_attr(C, guard_entailment, D),
5063 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _)
5064 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
5065 E)
5066 ),
5067 member(F, E),
5068 F=suspension(_, active, _, _, _, G, H)
5069 ),
5070 ( G==B,
5071 number(H),
5072 A>H,
5073 !
5074 ; H==B,
5075 number(G),
5076 A<G,
5077 !
5078 ).
5079'test/1_1_$special_=\\=/2'(B, A) :-
5080 ( ground(A),
5081 ground(B)
5082 ),
5083 ( B=\=A,
5084 !
5085 ; !,
5086 fail
5087 ).
5088'test/1_1_$special_=\\=/2'(K, L) :-
5089 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5090 A),
5091 member(B, A),
5092 B=suspension(_, active, _, _, J, N),
5093 !,
5094 B=suspension(_, _, _, _, C, D),
5095 setarg(2, B, removed),
5096 term_variables(term(C, D), I),
5097 arg(4, B, E),
5098 ( var(E)
5099 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5100 F),
5101 F=[_|G],
5102 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5103 G),
5104 ( G=[H|_]
5105 -> setarg(4, H, _)
5106 ; true
5107 )
5108 ; E=[_, _|G],
5109 setarg(2, E, G),
5110 ( G=[H|_]
5111 -> setarg(4, H, E)
5112 ; true
5113 )
5114 ),
5115 'detach_known/1_1_$special_;/2___2'(I, B),
5116 \+ try(J, K=\=L),
5117 !,
5118 negate_b(J, M),
5119 known(M),
5120 \+ try(N, K=\=L).
5121'test/1_1_$special_=\\=/2'(_, _) :-
5122 fail.
5123'test/1_1_$special_=</2'(_, _) :-
5124 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
5125 A),
5126 member(B, A),
5127 B=suspension(_, active, _),
5128 !.
5129'test/1_1_$special_=</2'(A, B) :-
5130 ( 'chr newvia_2'(A, B, C)
5131 -> get_attr(C, guard_entailment, D),
5132 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _)
5133 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
5134 E)
5135 ),
5136 member(F, E),
5137 F=suspension(_, active, _, _, _, G, H),
5138 G==A,
5139 H==B,
5140 !.
5141'test/1_1_$special_=</2'(A, B) :-
5142 ( 'chr newvia_2'(A, B, C)
5143 -> get_attr(C, guard_entailment, D),
5144 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E)
5145 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
5146 E)
5147 ),
5148 member(F, E),
5149 F=suspension(_, active, _, _, _, G, H),
5150 G==A,
5151 H==B,
5152 !.
5153'test/1_1_$special_=</2'(B, A) :-
5154 number(A),
5155 ( 'chr newvia_1'(B, C)
5156 -> get_attr(C, guard_entailment, D),
5157 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E)
5158 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
5159 E)
5160 ),
5161 member(F, E),
5162 F=suspension(_, active, _, _, _, G, H),
5163 G==B,
5164 number(H),
5165 H=<A,
5166 !.
5167'test/1_1_$special_=</2'(A, B) :-
5168 number(A),
5169 ( 'chr newvia_1'(B, C)
5170 -> get_attr(C, guard_entailment, D),
5171 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E)
5172 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
5173 E)
5174 ),
5175 member(F, E),
5176 F=suspension(_, active, _, _, _, G, H),
5177 G==B,
5178 number(H),
5179 A=<H,
5180 !.
5181'test/1_1_$special_=</2'(B, A) :-
5182 number(A),
5183 ( 'chr newvia_1'(B, C)
5184 -> get_attr(C, guard_entailment, D),
5185 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _)
5186 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
5187 E)
5188 ),
5189 member(F, E),
5190 F=suspension(_, active, _, _, _, G, H),
5191 G==B,
5192 number(H),
5193 H=<A,
5194 !.
5195'test/1_1_$special_=</2'(A, B) :-
5196 number(A),
5197 ( 'chr newvia_1'(B, C)
5198 -> get_attr(C, guard_entailment, D),
5199 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _)
5200 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
5201 E)
5202 ),
5203 member(F, E),
5204 F=suspension(_, active, _, _, _, H, G),
5205 G==B,
5206 number(H),
5207 A=<H,
5208 !.
5209'test/1_1_$special_=</2'(A, B) :-
5210 A==B,
5211 !.
5212'test/1_1_$special_=</2'(B, A) :-
5213 ( ground(A),
5214 ground(B)
5215 ),
5216 ( B=<A,
5217 !
5218 ; !,
5219 fail
5220 ).
5221'test/1_1_$special_=</2'(K, L) :-
5222 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5223 A),
5224 member(B, A),
5225 B=suspension(_, active, _, _, J, N),
5226 !,
5227 B=suspension(_, _, _, _, C, D),
5228 setarg(2, B, removed),
5229 term_variables(term(C, D), I),
5230 arg(4, B, E),
5231 ( var(E)
5232 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5233 F),
5234 F=[_|G],
5235 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5236 G),
5237 ( G=[H|_]
5238 -> setarg(4, H, _)
5239 ; true
5240 )
5241 ; E=[_, _|G],
5242 setarg(2, E, G),
5243 ( G=[H|_]
5244 -> setarg(4, H, E)
5245 ; true
5246 )
5247 ),
5248 'detach_known/1_1_$special_;/2___2'(I, B),
5249 \+ try(J, K=<L),
5250 !,
5251 negate_b(J, M),
5252 known(M),
5253 \+ try(N, K=<L).
5254'test/1_1_$special_=</2'(_, _) :-
5255 fail.
5256'test/1_1_$special_\\==/2'(_, _) :-
5257 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
5258 A),
5259 member(B, A),
5260 B=suspension(_, active, _),
5261 !.
5262'test/1_1_$special_\\==/2'(A, B) :-
5263 ( 'chr newvia_2'(A, B, C)
5264 -> get_attr(C, guard_entailment, D),
5265 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _)
5266 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
5267 E)
5268 ),
5269 member(F, E),
5270 F=suspension(_, active, _, _, _, G, H),
5271 G==A,
5272 H==B,
5273 !.
5274'test/1_1_$special_\\==/2'(F, A) :-
5275 nonvar(A),
5276 'chr lock'(A),
5277 functor(A, C, B),
5278 'chr unlock'(A),
5279 !,
5280 A=..[_|E],
5281 length(D, B),
5282 G=..[C|D],
5283 add_args_nmatch(D, E, H),
5284 I=(\+functor(F, C, B);functor(F, C, B), F=G, H),
5285 test(I).
5286'test/1_1_$special_\\==/2'(A, B) :-
5287 nonvar(A),
5288 !,
5289 'test/1_1_$special_\\==/2'(B, A).
5290'test/1_1_$special_\\==/2'(K, L) :-
5291 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5292 A),
5293 member(B, A),
5294 B=suspension(_, active, _, _, J, N),
5295 !,
5296 B=suspension(_, _, _, _, C, D),
5297 setarg(2, B, removed),
5298 term_variables(term(C, D), I),
5299 arg(4, B, E),
5300 ( var(E)
5301 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5302 F),
5303 F=[_|G],
5304 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5305 G),
5306 ( G=[H|_]
5307 -> setarg(4, H, _)
5308 ; true
5309 )
5310 ; E=[_, _|G],
5311 setarg(2, E, G),
5312 ( G=[H|_]
5313 -> setarg(4, H, E)
5314 ; true
5315 )
5316 ),
5317 'detach_known/1_1_$special_;/2___2'(I, B),
5318 \+ try(J, K\==L),
5319 !,
5320 negate_b(J, M),
5321 known(M),
5322 \+ try(N, K\==L).
5323'test/1_1_$special_\\==/2'(_, _) :-
5324 fail.
5325'known/1_1_$default'(A) :-
5326 'known/1_1_$default___1__0'(A, _).
5327'known/1_1_$default___1__0'(A, G) :-
5328 ( 'chr newvia_1'(A, B)
5329 -> get_attr(B, guard_entailment, C),
5330 C=v(_, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5331 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5332 D)
5333 ),
5334 member(E, D),
5335 E=suspension(_, active, _, _, F),
5336 F==A,
5337 !,
5338 ( var(G)
5339 -> true
5340 ; G=suspension(_, H, _, _, I),
5341 setarg(2, G, removed),
5342 ( H==not_stored_yet
5343 -> J=[]
5344 ; term_variables(I, J),
5345 ( arg(4, G, K),
5346 ( var(K)
5347 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5348 L),
5349 L=[_|M],
5350 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5351 M),
5352 ( M=[N|_]
5353 -> setarg(4, N, _)
5354 ; true
5355 )
5356 ; K=[_, _|M],
5357 setarg(2, K, M),
5358 ( M=[N|_]
5359 -> setarg(4, N, K)
5360 ; true
5361 )
5362 )
5363 ),
5364 'detach_known/1_1_$default___1'(J, G)
5365 )
5366 ).
5367'known/1_1_$default___1__0'(_, C) :-
5368 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
5369 A),
5370 member(B, A),
5371 B=suspension(_, active, _),
5372 !,
5373 ( var(C)
5374 -> true
5375 ; C=suspension(_, D, _, _, E),
5376 setarg(2, C, removed),
5377 ( D==not_stored_yet
5378 -> F=[]
5379 ; term_variables(E, F),
5380 ( arg(4, C, G),
5381 ( var(G)
5382 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5383 H),
5384 H=[_|I],
5385 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5386 I),
5387 ( I=[J|_]
5388 -> setarg(4, J, _)
5389 ; true
5390 )
5391 ; G=[_, _|I],
5392 setarg(2, G, I),
5393 ( I=[J|_]
5394 -> setarg(4, J, G)
5395 ; true
5396 )
5397 )
5398 ),
5399 'detach_known/1_1_$default___1'(F, C)
5400 )
5401 ).
5402'known/1_1_$default___1__0'(A, M) :-
5403 ( 'chr newvia_1'(A, B)
5404 -> get_attr(B, guard_entailment, C),
5405 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
5406 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
5407 D)
5408 ),
5409 member(E, D),
5410 E=suspension(_, active, _, _, F),
5411 F==A,
5412 !,
5413 E=suspension(_, _, _, _, G),
5414 setarg(2, E, removed),
5415 term_variables(G, L),
5416 arg(4, E, H),
5417 ( var(H)
5418 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
5419 I),
5420 I=[_|J],
5421 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
5422 J),
5423 ( J=[K|_]
5424 -> setarg(4, K, _)
5425 ; true
5426 )
5427 ; H=[_, _|J],
5428 setarg(2, H, J),
5429 ( J=[K|_]
5430 -> setarg(4, K, H)
5431 ; true
5432 )
5433 ),
5434 'detach_known/1_1_$special_\\+/1___1'(L, E),
5435 ( var(M)
5436 -> true
5437 ; M=suspension(_, N, _, _, O),
5438 setarg(2, M, removed),
5439 ( N==not_stored_yet
5440 -> P=[]
5441 ; term_variables(O, P),
5442 ( arg(4, M, Q),
5443 ( var(Q)
5444 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5445 R),
5446 R=[_|S],
5447 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5448 S),
5449 ( S=[T|_]
5450 -> setarg(4, T, _)
5451 ; true
5452 )
5453 ; Q=[_, _|S],
5454 setarg(2, Q, S),
5455 ( S=[T|_]
5456 -> setarg(4, T, Q)
5457 ; true
5458 )
5459 )
5460 ),
5461 'detach_known/1_1_$default___1'(P, M)
5462 )
5463 ),
5464 'known/1_1_$special_fail/0'.
5465'known/1_1_$default___1__0'(A, E) :-
5466 ( 'chr newvia_1'(A, B)
5467 -> get_attr(B, guard_entailment, C),
5468 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5469 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5470 D)
5471 ),
5472 !,
5473 ( var(E)
5474 -> E=suspension(F, not_stored_yet, 0, _, A),
5475 'chr gen_id'(F)
5476 ; true
5477 ),
5478 'known/1_1_$default___1__0__0__6'(D, A, E).
5479'known/1_1_$default___1__0__0__6'([], A, B) :-
5480 'known/1_1_$default___1__1'(A, B).
5481'known/1_1_$default___1__0__0__6'([A|V], D, L) :-
5482 ( A=suspension(_, active, _, _, B, U),
5483 nonvar(B),
5484 B=(\+C),
5485 C==D
5486 -> ( A=suspension(_, _, _, _, E, F),
5487 setarg(2, A, removed),
5488 term_variables(term(E, F), K),
5489 ( arg(4, A, G),
5490 ( var(G)
5491 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5492 H),
5493 H=[_|I],
5494 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5495 I),
5496 ( I=[J|_]
5497 -> setarg(4, J, _)
5498 ; true
5499 )
5500 ; G=[_, _|I],
5501 setarg(2, G, I),
5502 ( I=[J|_]
5503 -> setarg(4, J, G)
5504 ; true
5505 )
5506 )
5507 ),
5508 'detach_known/1_1_$special_;/2___2'(K, A)
5509 ),
5510 ( arg(2, L, O),
5511 setarg(2, L, active),
5512 ( arg(3, L, M),
5513 N is M+1,
5514 setarg(3, L, N)
5515 ),
5516 ( O==not_stored_yet
5517 -> L=suspension(_, _, _, _, P),
5518 term_variables(P, Q),
5519 'chr none_locked'(Q),
5520 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5521 R),
5522 S=[L|R],
5523 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5524 S),
5525 ( R=[T|_]
5526 -> setarg(4, T, S)
5527 ; true
5528 )
5529 ),
5530 'attach_known/1_1_$default___1'(Q, L)
5531 ; true
5532 )
5533 ),
5534 known(U),
5535 ( L=suspension(_, active, N, _, _)
5536 -> setarg(2, L, inactive),
5537 'known/1_1_$default___1__0__0__6'(V, D, L)
5538 ; true
5539 )
5540 ; 'known/1_1_$default___1__0__0__6'(V, D, L)
5541 ).
5542'known/1_1_$default___1__0'(B, A) :-
5543 ( var(A)
5544 -> A=suspension(C, not_stored_yet, 0, _, B),
5545 'chr gen_id'(C)
5546 ; true
5547 ),
5548 'known/1_1_$default___1__1'(B, A).
5549'known/1_1_$default___1__1'(A, E) :-
5550 ( 'chr newvia_1'(A, B)
5551 -> get_attr(B, guard_entailment, C),
5552 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5553 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5554 D)
5555 ),
5556 !,
5557 'known/1_1_$default___1__1__0__7'(D, A, E).
5558'known/1_1_$default___1__1__0__7'([], A, B) :-
5559 'known/1_1_$default___1__2'(A, B).
5560'known/1_1_$default___1__1__0__7'([A|W], E, M) :-
5561 ( A=suspension(_, active, _, _, B, V),
5562 nonvar(B),
5563 B=(C, _),
5564 nonvar(C),
5565 C=(\+D),
5566 D==E
5567 -> ( A=suspension(_, _, _, _, F, G),
5568 setarg(2, A, removed),
5569 term_variables(term(F, G), L),
5570 ( arg(4, A, H),
5571 ( var(H)
5572 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5573 I),
5574 I=[_|J],
5575 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5576 J),
5577 ( J=[K|_]
5578 -> setarg(4, K, _)
5579 ; true
5580 )
5581 ; H=[_, _|J],
5582 setarg(2, H, J),
5583 ( J=[K|_]
5584 -> setarg(4, K, H)
5585 ; true
5586 )
5587 )
5588 ),
5589 'detach_known/1_1_$special_;/2___2'(L, A)
5590 ),
5591 ( arg(2, M, P),
5592 setarg(2, M, active),
5593 ( arg(3, M, N),
5594 O is N+1,
5595 setarg(3, M, O)
5596 ),
5597 ( P==not_stored_yet
5598 -> M=suspension(_, _, _, _, Q),
5599 term_variables(Q, R),
5600 'chr none_locked'(R),
5601 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5602 S),
5603 T=[M|S],
5604 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5605 T),
5606 ( S=[U|_]
5607 -> setarg(4, U, T)
5608 ; true
5609 )
5610 ),
5611 'attach_known/1_1_$default___1'(R, M)
5612 ; true
5613 )
5614 ),
5615 known(V),
5616 ( M=suspension(_, active, O, _, _)
5617 -> setarg(2, M, inactive),
5618 'known/1_1_$default___1__1__0__7'(W, E, M)
5619 ; true
5620 )
5621 ; 'known/1_1_$default___1__1__0__7'(W, E, M)
5622 ).
5623'known/1_1_$default___1__1'(A, B) :-
5624 'known/1_1_$default___1__2'(A, B).
5625'known/1_1_$default___1__2'(_, A) :-
5626 arg(2, A, D),
5627 setarg(2, A, active),
5628 arg(3, A, B),
5629 C is B+1,
5630 setarg(3, A, C),
5631 ( D==not_stored_yet
5632 -> A=suspension(_, _, _, _, E),
5633 term_variables(E, F),
5634 'chr none_locked'(F),
5635 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5636 G),
5637 H=[A|G],
5638 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
5639 H),
5640 ( G=[I|_]
5641 -> setarg(4, I, H)
5642 ; true
5643 )
5644 ),
5645 'attach_known/1_1_$default___1'(F, A)
5646 ; true
5647 ).
5648'known/1_1_$special_;/2'(A, B) :-
5649 'known/1_1_$special_;/2___2__0'(A, B, _).
5650'known/1_1_$special_;/2___2__0'(A, B, I) :-
5651 ( 'chr newvia_2'(A, B, C)
5652 -> get_attr(C, guard_entailment, D),
5653 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5654 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5655 E)
5656 ),
5657 member(F, E),
5658 F=suspension(_, active, _, _, G, H),
5659 G==A,
5660 H==B,
5661 !,
5662 ( var(I)
5663 -> true
5664 ; I=suspension(_, J, _, _, K, L),
5665 setarg(2, I, removed),
5666 ( J==not_stored_yet
5667 -> M=[]
5668 ; term_variables(term(K, L), M),
5669 ( arg(4, I, N),
5670 ( var(N)
5671 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5672 O),
5673 O=[_|P],
5674 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5675 P),
5676 ( P=[Q|_]
5677 -> setarg(4, Q, _)
5678 ; true
5679 )
5680 ; N=[_, _|P],
5681 setarg(2, N, P),
5682 ( P=[Q|_]
5683 -> setarg(4, Q, N)
5684 ; true
5685 )
5686 )
5687 ),
5688 'detach_known/1_1_$special_;/2___2'(M, I)
5689 )
5690 ).
5691'known/1_1_$special_;/2___2__0'(_, _, C) :-
5692 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
5693 A),
5694 member(B, A),
5695 B=suspension(_, active, _),
5696 !,
5697 ( var(C)
5698 -> true
5699 ; C=suspension(_, D, _, _, E, F),
5700 setarg(2, C, removed),
5701 ( D==not_stored_yet
5702 -> G=[]
5703 ; term_variables(term(E, F), G),
5704 ( arg(4, C, H),
5705 ( var(H)
5706 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5707 I),
5708 I=[_|J],
5709 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5710 J),
5711 ( J=[K|_]
5712 -> setarg(4, K, _)
5713 ; true
5714 )
5715 ; H=[_, _|J],
5716 setarg(2, H, J),
5717 ( J=[K|_]
5718 -> setarg(4, K, H)
5719 ; true
5720 )
5721 )
5722 ),
5723 'detach_known/1_1_$special_;/2___2'(G, C)
5724 )
5725 ).
5726'known/1_1_$special_;/2___2__0'(A, B, P) :-
5727 ( 'chr newvia_2'(A, B, C)
5728 -> get_attr(C, guard_entailment, D),
5729 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
5730 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
5731 E)
5732 ),
5733 member(F, E),
5734 F=suspension(_, active, _, _, G),
5735 nonvar(G),
5736 G=(H;I),
5737 H==A,
5738 I==B,
5739 !,
5740 F=suspension(_, _, _, _, J),
5741 setarg(2, F, removed),
5742 term_variables(J, O),
5743 arg(4, F, K),
5744 ( var(K)
5745 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
5746 L),
5747 L=[_|M],
5748 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
5749 M),
5750 ( M=[N|_]
5751 -> setarg(4, N, _)
5752 ; true
5753 )
5754 ; K=[_, _|M],
5755 setarg(2, K, M),
5756 ( M=[N|_]
5757 -> setarg(4, N, K)
5758 ; true
5759 )
5760 ),
5761 'detach_known/1_1_$special_\\+/1___1'(O, F),
5762 ( var(P)
5763 -> true
5764 ; P=suspension(_, Q, _, _, R, S),
5765 setarg(2, P, removed),
5766 ( Q==not_stored_yet
5767 -> T=[]
5768 ; term_variables(term(R, S), T),
5769 ( arg(4, P, U),
5770 ( var(U)
5771 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5772 V),
5773 V=[_|W],
5774 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5775 W),
5776 ( W=[X|_]
5777 -> setarg(4, X, _)
5778 ; true
5779 )
5780 ; U=[_, _|W],
5781 setarg(2, U, W),
5782 ( W=[X|_]
5783 -> setarg(4, X, U)
5784 ; true
5785 )
5786 )
5787 ),
5788 'detach_known/1_1_$special_;/2___2'(T, P)
5789 )
5790 ),
5791 'known/1_1_$special_fail/0'.
5792'known/1_1_$special_;/2___2__0'(A, T, K) :-
5793 nonvar(A),
5794 A=(\+B),
5795 nonvar(B),
5796 B=(C;D),
5797 ( 'chr newvia_2'(C, D, E)
5798 -> get_attr(E, guard_entailment, F),
5799 F=v(_, _, _, G, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5800 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5801 G)
5802 ),
5803 member(H, G),
5804 H=suspension(_, active, _, _, I, J),
5805 I==C,
5806 J==D,
5807 !,
5808 ( var(K)
5809 -> true
5810 ; K=suspension(_, L, _, _, M, N),
5811 setarg(2, K, removed),
5812 ( L==not_stored_yet
5813 -> O=[]
5814 ; term_variables(term(M, N), O),
5815 ( arg(4, K, P),
5816 ( var(P)
5817 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5818 Q),
5819 Q=[_|R],
5820 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5821 R),
5822 ( R=[S|_]
5823 -> setarg(4, S, _)
5824 ; true
5825 )
5826 ; P=[_, _|R],
5827 setarg(2, P, R),
5828 ( R=[S|_]
5829 -> setarg(4, S, P)
5830 ; true
5831 )
5832 )
5833 ),
5834 'detach_known/1_1_$special_;/2___2'(O, K)
5835 )
5836 ),
5837 known(T).
5838'known/1_1_$special_;/2___2__0'(A, B, F) :-
5839 ( 'chr newvia_2'(A, B, C)
5840 -> get_attr(C, guard_entailment, D),
5841 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5842 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5843 E)
5844 ),
5845 !,
5846 ( var(F)
5847 -> F=suspension(G, not_stored_yet, 0, _, A, B),
5848 'chr gen_id'(G)
5849 ; true
5850 ),
5851 'known/1_1_$special_;/2___2__0__0__7'(E, A, B, F).
5852'known/1_1_$special_;/2___2__0__0__7'([], A, B, C) :-
5853 'known/1_1_$special_;/2___2__1'(A, B, C).
5854'known/1_1_$special_;/2___2__0__0__7'([A|Z], E, G, O) :-
5855 ( A=suspension(_, active, _, _, B, Y),
5856 nonvar(B),
5857 B=(\+C),
5858 nonvar(C),
5859 C=(D;F),
5860 D==E,
5861 F==G
5862 -> ( A=suspension(_, _, _, _, H, I),
5863 setarg(2, A, removed),
5864 term_variables(term(H, I), N),
5865 ( arg(4, A, J),
5866 ( var(J)
5867 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5868 K),
5869 K=[_|L],
5870 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5871 L),
5872 ( L=[M|_]
5873 -> setarg(4, M, _)
5874 ; true
5875 )
5876 ; J=[_, _|L],
5877 setarg(2, J, L),
5878 ( L=[M|_]
5879 -> setarg(4, M, J)
5880 ; true
5881 )
5882 )
5883 ),
5884 'detach_known/1_1_$special_;/2___2'(N, A)
5885 ),
5886 ( arg(2, O, R),
5887 setarg(2, O, active),
5888 ( arg(3, O, P),
5889 Q is P+1,
5890 setarg(3, O, Q)
5891 ),
5892 ( R==not_stored_yet
5893 -> O=suspension(_, _, _, _, S, T),
5894 term_variables(term(S, T), U),
5895 'chr none_locked'(U),
5896 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5897 V),
5898 W=[O|V],
5899 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5900 W),
5901 ( V=[X|_]
5902 -> setarg(4, X, W)
5903 ; true
5904 )
5905 ),
5906 'attach_known/1_1_$special_;/2___2'(U, O)
5907 ; true
5908 )
5909 ),
5910 known(Y),
5911 ( O=suspension(_, active, Q, _, _, _)
5912 -> setarg(2, O, inactive),
5913 'known/1_1_$special_;/2___2__0__0__7'(Z,
5914 E,
5915 G,
5916 O)
5917 ; true
5918 )
5919 ; 'known/1_1_$special_;/2___2__0__0__7'(Z, E, G, O)
5920 ).
5921'known/1_1_$special_;/2___2__0'(B, C, A) :-
5922 ( var(A)
5923 -> A=suspension(D, not_stored_yet, 0, _, B, C),
5924 'chr gen_id'(D)
5925 ; true
5926 ),
5927 'known/1_1_$special_;/2___2__1'(B, C, A).
5928'known/1_1_$special_;/2___2__1'(A, R, I) :-
5929 nonvar(A),
5930 ( A=(\+B),
5931 ( nonvar(B),
5932 ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( B=nonvar(C),
5933 ( 'chr newvia_1'(C,
5934 D)
5935 -> get_attr(D,
5936 guard_entailment,
5937 E),
5938 E=v(_, _, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5939 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
5940 F)
5941 ),
5942 member(G,
5943 F),
5944 G=suspension(_, active, _, _, H),
5945 H==C,
5946 !,
5947 ( var(I)
5948 -> true
5949 ; I=suspension(_, J, _, _, K, L),
5950 setarg(2,
5951 I,
5952 removed),
5953 ( J==not_stored_yet
5954 -> M=[]
5955 ; term_variables(term(K,
5956 L),
5957 M),
5958 ( arg(4,
5959 I,
5960 N),
5961 ( var(N)
5962 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5963 O),
5964 O=[_|P],
5965 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
5966 P),
5967 ( P=[Q|_]
5968 -> setarg(4,
5969 Q,
5970 _)
5971 ; true
5972 )
5973 ; N=[_, _|P],
5974 setarg(2,
5975 N,
5976 P),
5977 ( P=[Q|_]
5978 -> setarg(4,
5979 Q,
5980 N)
5981 ; true
5982 )
5983 )
5984 ),
5985 'detach_known/1_1_$special_;/2___2'(M,
5986 I)
5987 )
5988 ),
5989 known(R)
5990 ; B=var(S),
5991 ( 'chr newvia_1'(S,
5992 T)
5993 -> get_attr(T,
5994 guard_entailment,
5995 U),
5996 U=v(_, _, _, _, _, V, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
5997 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
5998 V)
5999 ),
6000 member(W,
6001 V),
6002 W=suspension(_, active, _, _, X),
6003 X==S,
6004 !,
6005 ( var(I)
6006 -> true
6007 ; I=suspension(_, Y, _, _, Z, A1),
6008 setarg(2,
6009 I,
6010 removed),
6011 ( Y==not_stored_yet
6012 -> B1=[]
6013 ; term_variables(term(Z,
6014 A1),
6015 B1),
6016 ( arg(4,
6017 I,
6018 C1),
6019 ( var(C1)
6020 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6021 D1),
6022 D1=[_|E1],
6023 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6024 E1),
6025 ( E1=[F1|_]
6026 -> setarg(4,
6027 F1,
6028 _)
6029 ; true
6030 )
6031 ; C1=[_, _|E1],
6032 setarg(2,
6033 C1,
6034 E1),
6035 ( E1=[F1|_]
6036 -> setarg(4,
6037 F1,
6038 C1)
6039 ; true
6040 )
6041 )
6042 ),
6043 'detach_known/1_1_$special_;/2___2'(B1,
6044 I)
6045 )
6046 ),
6047 known(R)
6048 )
6049 ; B=atom(G1),
6050 ( 'chr newvia_1'(G1,
6051 H1)
6052 -> get_attr(H1,
6053 guard_entailment,
6054 I1),
6055 I1=v(_, _, _, _, _, _, J1, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
6056 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
6057 J1)
6058 ),
6059 member(K1,
6060 J1),
6061 K1=suspension(_, active, _, _, _, L1),
6062 L1==G1,
6063 !,
6064 ( var(I)
6065 -> true
6066 ; I=suspension(_, M1, _, _, N1, O1),
6067 setarg(2,
6068 I,
6069 removed),
6070 ( M1==not_stored_yet
6071 -> P1=[]
6072 ; term_variables(term(N1,
6073 O1),
6074 P1),
6075 ( arg(4,
6076 I,
6077 Q1),
6078 ( var(Q1)
6079 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6080 R1),
6081 R1=[_|S1],
6082 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6083 S1),
6084 ( S1=[T1|_]
6085 -> setarg(4,
6086 T1,
6087 _)
6088 ; true
6089 )
6090 ; Q1=[_, _|S1],
6091 setarg(2,
6092 Q1,
6093 S1),
6094 ( S1=[T1|_]
6095 -> setarg(4,
6096 T1,
6097 Q1)
6098 ; true
6099 )
6100 )
6101 ),
6102 'detach_known/1_1_$special_;/2___2'(P1,
6103 I)
6104 )
6105 ),
6106 known(R)
6107 )
6108 ; B=atomic(U1),
6109 ( 'chr newvia_1'(U1,
6110 V1)
6111 -> get_attr(V1,
6112 guard_entailment,
6113 W1),
6114 W1=v(_, _, _, _, _, _, _, X1, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
6115 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
6116 X1)
6117 ),
6118 member(Y1,
6119 X1),
6120 Y1=suspension(_, active, _, _, _, Z1),
6121 Z1==U1,
6122 !,
6123 ( var(I)
6124 -> true
6125 ; I=suspension(_, A2, _, _, B2, C2),
6126 setarg(2,
6127 I,
6128 removed),
6129 ( A2==not_stored_yet
6130 -> D2=[]
6131 ; term_variables(term(B2,
6132 C2),
6133 D2),
6134 ( arg(4,
6135 I,
6136 E2),
6137 ( var(E2)
6138 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6139 F2),
6140 F2=[_|G2],
6141 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6142 G2),
6143 ( G2=[H2|_]
6144 -> setarg(4,
6145 H2,
6146 _)
6147 ; true
6148 )
6149 ; E2=[_, _|G2],
6150 setarg(2,
6151 E2,
6152 G2),
6153 ( G2=[H2|_]
6154 -> setarg(4,
6155 H2,
6156 E2)
6157 ; true
6158 )
6159 )
6160 ),
6161 'detach_known/1_1_$special_;/2___2'(D2,
6162 I)
6163 )
6164 ),
6165 known(R)
6166 )
6167 ; B=compound(I2),
6168 ( 'chr newvia_1'(I2,
6169 J2)
6170 -> get_attr(J2,
6171 guard_entailment,
6172 K2),
6173 K2=v(_, _, _, _, _, _, _, _, L2, _, _, _, _, _, _, _, _, _, _, _, _, _)
6174 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
6175 L2)
6176 ),
6177 member(M2,
6178 L2),
6179 M2=suspension(_, active, _, _, _, N2),
6180 N2==I2,
6181 !,
6182 ( var(I)
6183 -> true
6184 ; I=suspension(_, O2, _, _, P2, Q2),
6185 setarg(2,
6186 I,
6187 removed),
6188 ( O2==not_stored_yet
6189 -> R2=[]
6190 ; term_variables(term(P2,
6191 Q2),
6192 R2),
6193 ( arg(4,
6194 I,
6195 S2),
6196 ( var(S2)
6197 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6198 T2),
6199 T2=[_|U2],
6200 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6201 U2),
6202 ( U2=[V2|_]
6203 -> setarg(4,
6204 V2,
6205 _)
6206 ; true
6207 )
6208 ; S2=[_, _|U2],
6209 setarg(2,
6210 S2,
6211 U2),
6212 ( U2=[V2|_]
6213 -> setarg(4,
6214 V2,
6215 S2)
6216 ; true
6217 )
6218 )
6219 ),
6220 'detach_known/1_1_$special_;/2___2'(R2,
6221 I)
6222 )
6223 ),
6224 known(R)
6225 )
6226 ; B=ground(W2),
6227 ( 'chr newvia_1'(W2,
6228 X2)
6229 -> get_attr(X2,
6230 guard_entailment,
6231 Y2),
6232 Y2=v(_, _, _, _, _, _, _, _, _, Z2, _, _, _, _, _, _, _, _, _, _, _, _)
6233 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
6234 Z2)
6235 ),
6236 member(A3,
6237 Z2),
6238 A3=suspension(_, active, _, _, _, B3),
6239 B3==W2,
6240 !,
6241 ( var(I)
6242 -> true
6243 ; I=suspension(_, C3, _, _, D3, E3),
6244 setarg(2,
6245 I,
6246 removed),
6247 ( C3==not_stored_yet
6248 -> F3=[]
6249 ; term_variables(term(D3,
6250 E3),
6251 F3),
6252 ( arg(4,
6253 I,
6254 G3),
6255 ( var(G3)
6256 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6257 H3),
6258 H3=[_|I3],
6259 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6260 I3),
6261 ( I3=[J3|_]
6262 -> setarg(4,
6263 J3,
6264 _)
6265 ; true
6266 )
6267 ; G3=[_, _|I3],
6268 setarg(2,
6269 G3,
6270 I3),
6271 ( I3=[J3|_]
6272 -> setarg(4,
6273 J3,
6274 G3)
6275 ; true
6276 )
6277 )
6278 ),
6279 'detach_known/1_1_$special_;/2___2'(F3,
6280 I)
6281 )
6282 ),
6283 known(R)
6284 )
6285 ; B=integer(K3),
6286 ( 'chr newvia_1'(K3,
6287 L3)
6288 -> get_attr(L3,
6289 guard_entailment,
6290 M3),
6291 M3=v(_, _, _, _, _, _, _, _, _, _, N3, _, _, _, _, _, _, _, _, _, _, _)
6292 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
6293 N3)
6294 ),
6295 member(O3,
6296 N3),
6297 O3=suspension(_, active, _, _, _, P3),
6298 P3==K3,
6299 !,
6300 ( var(I)
6301 -> true
6302 ; I=suspension(_, Q3, _, _, R3, S3),
6303 setarg(2,
6304 I,
6305 removed),
6306 ( Q3==not_stored_yet
6307 -> T3=[]
6308 ; term_variables(term(R3,
6309 S3),
6310 T3),
6311 ( arg(4,
6312 I,
6313 U3),
6314 ( var(U3)
6315 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6316 V3),
6317 V3=[_|W3],
6318 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6319 W3),
6320 ( W3=[X3|_]
6321 -> setarg(4,
6322 X3,
6323 _)
6324 ; true
6325 )
6326 ; U3=[_, _|W3],
6327 setarg(2,
6328 U3,
6329 W3),
6330 ( W3=[X3|_]
6331 -> setarg(4,
6332 X3,
6333 U3)
6334 ; true
6335 )
6336 )
6337 ),
6338 'detach_known/1_1_$special_;/2___2'(T3,
6339 I)
6340 )
6341 ),
6342 known(R)
6343 )
6344 ; B=float(Y3),
6345 ( 'chr newvia_1'(Y3,
6346 Z3)
6347 -> get_attr(Z3,
6348 guard_entailment,
6349 A4),
6350 A4=v(_, _, _, _, _, _, _, _, _, _, _, B4, _, _, _, _, _, _, _, _, _, _)
6351 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
6352 B4)
6353 ),
6354 member(C4,
6355 B4),
6356 C4=suspension(_, active, _, _, _, D4),
6357 D4==Y3,
6358 !,
6359 ( var(I)
6360 -> true
6361 ; I=suspension(_, E4, _, _, F4, G4),
6362 setarg(2,
6363 I,
6364 removed),
6365 ( E4==not_stored_yet
6366 -> H4=[]
6367 ; term_variables(term(F4,
6368 G4),
6369 H4),
6370 ( arg(4,
6371 I,
6372 I4),
6373 ( var(I4)
6374 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6375 J4),
6376 J4=[_|K4],
6377 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6378 K4),
6379 ( K4=[L4|_]
6380 -> setarg(4,
6381 L4,
6382 _)
6383 ; true
6384 )
6385 ; I4=[_, _|K4],
6386 setarg(2,
6387 I4,
6388 K4),
6389 ( K4=[L4|_]
6390 -> setarg(4,
6391 L4,
6392 I4)
6393 ; true
6394 )
6395 )
6396 ),
6397 'detach_known/1_1_$special_;/2___2'(H4,
6398 I)
6399 )
6400 ),
6401 known(R)
6402 )
6403 ; B=number(M4),
6404 ( 'chr newvia_1'(M4,
6405 N4)
6406 -> get_attr(N4,
6407 guard_entailment,
6408 O4),
6409 O4=v(_, _, _, _, _, _, _, _, _, _, _, _, P4, _, _, _, _, _, _, _, _, _)
6410 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
6411 P4)
6412 ),
6413 member(Q4,
6414 P4),
6415 Q4=suspension(_, active, _, _, _, R4),
6416 R4==M4,
6417 !,
6418 ( var(I)
6419 -> true
6420 ; I=suspension(_, S4, _, _, T4, U4),
6421 setarg(2,
6422 I,
6423 removed),
6424 ( S4==not_stored_yet
6425 -> V4=[]
6426 ; term_variables(term(T4,
6427 U4),
6428 V4),
6429 ( arg(4,
6430 I,
6431 W4),
6432 ( var(W4)
6433 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6434 X4),
6435 X4=[_|Y4],
6436 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6437 Y4),
6438 ( Y4=[Z4|_]
6439 -> setarg(4,
6440 Z4,
6441 _)
6442 ; true
6443 )
6444 ; W4=[_, _|Y4],
6445 setarg(2,
6446 W4,
6447 Y4),
6448 ( Y4=[Z4|_]
6449 -> setarg(4,
6450 Z4,
6451 W4)
6452 ; true
6453 )
6454 )
6455 ),
6456 'detach_known/1_1_$special_;/2___2'(V4,
6457 I)
6458 )
6459 ),
6460 known(R)
6461 )
6462 ; B=(A5=\=B5),
6463 ( 'chr newvia_2'(A5,
6464 B5,
6465 C5)
6466 -> get_attr(C5,
6467 guard_entailment,
6468 D5),
6469 D5=v(_, _, _, _, _, _, _, _, _, _, _, _, _, E5, _, _, _, _, _, _, _, _)
6470 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
6471 E5)
6472 ),
6473 member(F5, E5),
6474 F5=suspension(_, active, _, _, _, G5, H5),
6475 G5==A5,
6476 H5==B5,
6477 !,
6478 ( var(I)
6479 -> true
6480 ; I=suspension(_, I5, _, _, J5, K5),
6481 setarg(2, I, removed),
6482 ( I5==not_stored_yet
6483 -> L5=[]
6484 ; term_variables(term(J5,
6485 K5),
6486 L5),
6487 ( arg(4,
6488 I,
6489 M5),
6490 ( var(M5)
6491 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6492 N5),
6493 N5=[_|O5],
6494 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6495 O5),
6496 ( O5=[P5|_]
6497 -> setarg(4,
6498 P5,
6499 _)
6500 ; true
6501 )
6502 ; M5=[_, _|O5],
6503 setarg(2,
6504 M5,
6505 O5),
6506 ( O5=[P5|_]
6507 -> setarg(4,
6508 P5,
6509 M5)
6510 ; true
6511 )
6512 )
6513 ),
6514 'detach_known/1_1_$special_;/2___2'(L5,
6515 I)
6516 )
6517 ),
6518 known(R)
6519 )
6520 ; B=(\+Q5),
6521 ( 'chr newvia_1'(Q5,
6522 R5)
6523 -> get_attr(R5,
6524 guard_entailment,
6525 S5),
6526 S5=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, T5, _, _, _, _, _, _, _)
6527 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
6528 T5)
6529 ),
6530 member(U5, T5),
6531 U5=suspension(_, active, _, _, V5),
6532 V5==Q5,
6533 !,
6534 ( var(I)
6535 -> true
6536 ; I=suspension(_, W5, _, _, X5, Y5),
6537 setarg(2, I, removed),
6538 ( W5==not_stored_yet
6539 -> Z5=[]
6540 ; term_variables(term(X5,
6541 Y5),
6542 Z5),
6543 ( arg(4, I, A6),
6544 ( var(A6)
6545 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6546 B6),
6547 B6=[_|C6],
6548 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6549 C6),
6550 ( C6=[D6|_]
6551 -> setarg(4,
6552 D6,
6553 _)
6554 ; true
6555 )
6556 ; A6=[_, _|C6],
6557 setarg(2,
6558 A6,
6559 C6),
6560 ( C6=[D6|_]
6561 -> setarg(4,
6562 D6,
6563 A6)
6564 ; true
6565 )
6566 )
6567 ),
6568 'detach_known/1_1_$special_;/2___2'(Z5,
6569 I)
6570 )
6571 ),
6572 known(R)
6573 )
6574 ; B=functor(E6, F6, G6),
6575 ( 'chr newvia'(
6576 [ E6,
6577 F6,
6578 G6
6579 ],
6580 H6)
6581 -> get_attr(H6,
6582 guard_entailment,
6583 I6),
6584 I6=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, J6, _, _, _, _, _, _)
6585 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
6586 J6)
6587 ),
6588 member(K6, J6),
6589 K6=suspension(_, active, _, _, L6, M6, N6),
6590 L6==E6,
6591 M6==F6,
6592 N6==G6,
6593 !,
6594 ( var(I)
6595 -> true
6596 ; I=suspension(_, O6, _, _, P6, Q6),
6597 setarg(2, I, removed),
6598 ( O6==not_stored_yet
6599 -> R6=[]
6600 ; term_variables(term(P6,
6601 Q6),
6602 R6),
6603 ( arg(4, I, S6),
6604 ( var(S6)
6605 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6606 T6),
6607 T6=[_|U6],
6608 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6609 U6),
6610 ( U6=[V6|_]
6611 -> setarg(4,
6612 V6,
6613 _)
6614 ; true
6615 )
6616 ; S6=[_, _|U6],
6617 setarg(2,
6618 S6,
6619 U6),
6620 ( U6=[V6|_]
6621 -> setarg(4,
6622 V6,
6623 S6)
6624 ; true
6625 )
6626 )
6627 ),
6628 'detach_known/1_1_$special_;/2___2'(R6,
6629 I)
6630 )
6631 ),
6632 known(R)
6633 )
6634 ; B=(W6\=X6),
6635 ( 'chr newvia_2'(W6,
6636 X6,
6637 Y6)
6638 -> get_attr(Y6,
6639 guard_entailment,
6640 Z6),
6641 Z6=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, A7, _, _, _, _, _)
6642 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
6643 A7)
6644 ),
6645 member(B7, A7),
6646 B7=suspension(_, active, _, _, _, C7, D7),
6647 C7==W6,
6648 D7==X6,
6649 !,
6650 ( var(I)
6651 -> true
6652 ; I=suspension(_, E7, _, _, F7, G7),
6653 setarg(2, I, removed),
6654 ( E7==not_stored_yet
6655 -> H7=[]
6656 ; term_variables(term(F7,
6657 G7),
6658 H7),
6659 ( arg(4, I, I7),
6660 ( var(I7)
6661 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6662 J7),
6663 J7=[_|K7],
6664 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6665 K7),
6666 ( K7=[L7|_]
6667 -> setarg(4,
6668 L7,
6669 _)
6670 ; true
6671 )
6672 ; I7=[_, _|K7],
6673 setarg(2,
6674 I7,
6675 K7),
6676 ( K7=[L7|_]
6677 -> setarg(4,
6678 L7,
6679 I7)
6680 ; true
6681 )
6682 )
6683 ),
6684 'detach_known/1_1_$special_;/2___2'(H7,
6685 I)
6686 )
6687 ),
6688 known(R)
6689 )
6690 ; B=(M7=N7),
6691 ( 'chr newvia_2'(M7,
6692 N7,
6693 O7)
6694 -> get_attr(O7,
6695 guard_entailment,
6696 P7),
6697 P7=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, Q7, _, _, _, _)
6698 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
6699 Q7)
6700 ),
6701 member(R7, Q7),
6702 R7=suspension(_, active, _, _, S7, T7),
6703 S7==M7,
6704 T7==N7,
6705 !,
6706 ( var(I)
6707 -> true
6708 ; I=suspension(_, U7, _, _, V7, W7),
6709 setarg(2, I, removed),
6710 ( U7==not_stored_yet
6711 -> X7=[]
6712 ; term_variables(term(V7,
6713 W7),
6714 X7),
6715 ( arg(4, I, Y7),
6716 ( var(Y7)
6717 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6718 Z7),
6719 Z7=[_|A8],
6720 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6721 A8),
6722 ( A8=[B8|_]
6723 -> setarg(4, B8, _)
6724 ; true
6725 )
6726 ; Y7=[_, _|A8],
6727 setarg(2, Y7, A8),
6728 ( A8=[B8|_]
6729 -> setarg(4,
6730 B8,
6731 Y7)
6732 ; true
6733 )
6734 )
6735 ),
6736 'detach_known/1_1_$special_;/2___2'(X7,
6737 I)
6738 )
6739 ),
6740 known(R)
6741 )
6742 ; B=(C8\==D8),
6743 ( 'chr newvia_2'(C8, D8, E8)
6744 -> get_attr(E8, guard_entailment, F8),
6745 F8=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, G8, _, _, _)
6746 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
6747 G8)
6748 ),
6749 member(H8, G8),
6750 H8=suspension(_, active, _, _, _, I8, J8),
6751 I8==C8,
6752 J8==D8,
6753 !,
6754 ( var(I)
6755 -> true
6756 ; I=suspension(_, K8, _, _, L8, M8),
6757 setarg(2, I, removed),
6758 ( K8==not_stored_yet
6759 -> N8=[]
6760 ; term_variables(term(L8, M8),
6761 N8),
6762 ( arg(4, I, O8),
6763 ( var(O8)
6764 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6765 P8),
6766 P8=[_|Q8],
6767 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6768 Q8),
6769 ( Q8=[R8|_]
6770 -> setarg(4, R8, _)
6771 ; true
6772 )
6773 ; O8=[_, _|Q8],
6774 setarg(2, O8, Q8),
6775 ( Q8=[R8|_]
6776 -> setarg(4, R8, O8)
6777 ; true
6778 )
6779 )
6780 ),
6781 'detach_known/1_1_$special_;/2___2'(N8,
6782 I)
6783 )
6784 ),
6785 known(R)
6786 )
6787 ; B=(S8==T8),
6788 ( 'chr newvia_2'(S8, T8, U8)
6789 -> get_attr(U8, guard_entailment, V8),
6790 V8=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, W8, _, _)
6791 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
6792 W8)
6793 ),
6794 member(X8, W8),
6795 X8=suspension(_, active, _, _, _, Y8, Z8),
6796 Y8==S8,
6797 Z8==T8,
6798 !,
6799 ( var(I)
6800 -> true
6801 ; I=suspension(_, A9, _, _, B9, C9),
6802 setarg(2, I, removed),
6803 ( A9==not_stored_yet
6804 -> D9=[]
6805 ; term_variables(term(B9, C9),
6806 D9),
6807 ( arg(4, I, E9),
6808 ( var(E9)
6809 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6810 F9),
6811 F9=[_|G9],
6812 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6813 G9),
6814 ( G9=[H9|_]
6815 -> setarg(4, H9, _)
6816 ; true
6817 )
6818 ; E9=[_, _|G9],
6819 setarg(2, E9, G9),
6820 ( G9=[H9|_]
6821 -> setarg(4, H9, E9)
6822 ; true
6823 )
6824 )
6825 ),
6826 'detach_known/1_1_$special_;/2___2'(D9,
6827 I)
6828 )
6829 ),
6830 known(R)
6831 )
6832 ; B=(I9=<J9),
6833 ( 'chr newvia_2'(I9, J9, K9)
6834 -> get_attr(K9, guard_entailment, L9),
6835 L9=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, M9, _)
6836 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
6837 M9)
6838 ),
6839 member(N9, M9),
6840 N9=suspension(_, active, _, _, _, O9, P9),
6841 O9==I9,
6842 P9==J9,
6843 !,
6844 ( var(I)
6845 -> true
6846 ; I=suspension(_, Q9, _, _, R9, S9),
6847 setarg(2, I, removed),
6848 ( Q9==not_stored_yet
6849 -> T9=[]
6850 ; term_variables(term(R9, S9),
6851 T9),
6852 ( arg(4, I, U9),
6853 ( var(U9)
6854 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6855 V9),
6856 V9=[_|W9],
6857 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6858 W9),
6859 ( W9=[X9|_]
6860 -> setarg(4, X9, _)
6861 ; true
6862 )
6863 ; U9=[_, _|W9],
6864 setarg(2, U9, W9),
6865 ( W9=[X9|_]
6866 -> setarg(4, X9, U9)
6867 ; true
6868 )
6869 )
6870 ),
6871 'detach_known/1_1_$special_;/2___2'(T9,
6872 I)
6873 )
6874 ),
6875 known(R)
6876 )
6877 ; B=(Y9=:=Z9),
6878 ( 'chr newvia_2'(Y9, Z9, A10)
6879 -> get_attr(A10, guard_entailment, B10),
6880 B10=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, C10)
6881 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
6882 C10)
6883 ),
6884 member(D10, C10),
6885 D10=suspension(_, active, _, _, _, E10, F10),
6886 E10==Y9,
6887 F10==Z9,
6888 !,
6889 ( var(I)
6890 -> true
6891 ; I=suspension(_, G10, _, _, H10, I10),
6892 setarg(2, I, removed),
6893 ( G10==not_stored_yet
6894 -> J10=[]
6895 ; term_variables(term(H10, I10), J10),
6896 ( arg(4, I, K10),
6897 ( var(K10)
6898 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6899 L10),
6900 L10=[_|M10],
6901 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6902 M10),
6903 ( M10=[N10|_]
6904 -> setarg(4, N10, _)
6905 ; true
6906 )
6907 ; K10=[_, _|M10],
6908 setarg(2, K10, M10),
6909 ( M10=[N10|_]
6910 -> setarg(4, N10, K10)
6911 ; true
6912 )
6913 )
6914 ),
6915 'detach_known/1_1_$special_;/2___2'(J10, I)
6916 )
6917 ),
6918 known(R)
6919 )
6920 ; ( 'chr newvia_1'(B, O10)
6921 -> get_attr(O10, guard_entailment, P10),
6922 P10=v(_, _, Q10, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
6923 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
6924 Q10)
6925 ),
6926 member(R10, Q10),
6927 R10=suspension(_, active, _, _, S10),
6928 S10==B,
6929 !,
6930 ( var(I)
6931 -> true
6932 ; I=suspension(_, T10, _, _, U10, V10),
6933 setarg(2, I, removed),
6934 ( T10==not_stored_yet
6935 -> W10=[]
6936 ; term_variables(term(U10, V10), W10),
6937 ( arg(4, I, X10),
6938 ( var(X10)
6939 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6940 Y10),
6941 Y10=[_|Z10],
6942 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6943 Z10),
6944 ( Z10=[A11|_]
6945 -> setarg(4, A11, _)
6946 ; true
6947 )
6948 ; X10=[_, _|Z10],
6949 setarg(2, X10, Z10),
6950 ( Z10=[A11|_]
6951 -> setarg(4, A11, X10)
6952 ; true
6953 )
6954 )
6955 ),
6956 'detach_known/1_1_$special_;/2___2'(W10, I)
6957 )
6958 ),
6959 known(R)
6960 )
6961 ; A=(B11, _),
6962 nonvar(B11),
6963 B11=(\+C11),
6964 nonvar(C11),
6965 C11=(D11;E11),
6966 ( 'chr newvia_2'(D11, E11, F11)
6967 -> get_attr(F11, guard_entailment, G11),
6968 G11=v(_, _, _, H11, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
6969 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6970 H11)
6971 ),
6972 member(I11, H11),
6973 I11=suspension(_, active, _, _, J11, K11),
6974 J11==D11,
6975 K11==E11,
6976 !,
6977 ( var(I)
6978 -> true
6979 ; I=suspension(_, L11, _, _, M11, N11),
6980 setarg(2, I, removed),
6981 ( L11==not_stored_yet
6982 -> O11=[]
6983 ; term_variables(term(M11, N11), O11),
6984 ( arg(4, I, P11),
6985 ( var(P11)
6986 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6987 Q11),
6988 Q11=[_|R11],
6989 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
6990 R11),
6991 ( R11=[S11|_]
6992 -> setarg(4, S11, _)
6993 ; true
6994 )
6995 ; P11=[_, _|R11],
6996 setarg(2, P11, R11),
6997 ( R11=[S11|_]
6998 -> setarg(4, S11, P11)
6999 ; true
7000 )
7001 )
7002 ),
7003 'detach_known/1_1_$special_;/2___2'(O11, I)
7004 )
7005 ),
7006 known(R)
7007 ).
7008'known/1_1_$special_;/2___2__1'(A, B, F) :-
7009 ( 'chr newvia_2'(A, B, C)
7010 -> get_attr(C, guard_entailment, D),
7011 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
7012 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7013 E)
7014 ),
7015 !,
7016 'known/1_1_$special_;/2___2__1__0__34'(E, A, B, F).
7017'known/1_1_$special_;/2___2__1__0__34'([], A, B, C) :-
7018 'known/1_1_$special_;/2___2__2'(A, B, C).
7019'known/1_1_$special_;/2___2__1__0__34'([A|A1], F, H, P) :-
7020 ( A=suspension(_, active, _, _, B, Z),
7021 nonvar(B),
7022 B=(C, _),
7023 nonvar(C),
7024 C=(\+D),
7025 nonvar(D),
7026 D=(E;G),
7027 E==F,
7028 G==H
7029 -> ( A=suspension(_, _, _, _, I, J),
7030 setarg(2, A, removed),
7031 term_variables(term(I, J), O),
7032 ( arg(4, A, K),
7033 ( var(K)
7034 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7035 L),
7036 L=[_|M],
7037 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7038 M),
7039 ( M=[N|_]
7040 -> setarg(4, N, _)
7041 ; true
7042 )
7043 ; K=[_, _|M],
7044 setarg(2, K, M),
7045 ( M=[N|_]
7046 -> setarg(4, N, K)
7047 ; true
7048 )
7049 )
7050 ),
7051 'detach_known/1_1_$special_;/2___2'(O, A)
7052 ),
7053 ( arg(2, P, S),
7054 setarg(2, P, active),
7055 ( arg(3, P, Q),
7056 R is Q+1,
7057 setarg(3, P, R)
7058 ),
7059 ( S==not_stored_yet
7060 -> P=suspension(_, _, _, _, T, U),
7061 term_variables(term(T, U), V),
7062 'chr none_locked'(V),
7063 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7064 W),
7065 X=[P|W],
7066 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7067 X),
7068 ( W=[Y|_]
7069 -> setarg(4, Y, X)
7070 ; true
7071 )
7072 ),
7073 'attach_known/1_1_$special_;/2___2'(V, P)
7074 ; true
7075 )
7076 ),
7077 known(Z),
7078 ( P=suspension(_, active, R, _, _, _)
7079 -> setarg(2, P, inactive),
7080 'known/1_1_$special_;/2___2__1__0__34'(A1,
7081 F,
7082 H,
7083 P)
7084 ; true
7085 )
7086 ; 'known/1_1_$special_;/2___2__1__0__34'(A1,
7087 F,
7088 H,
7089 P)
7090 ).
7091'known/1_1_$special_;/2___2__1'(A, B, C) :-
7092 'known/1_1_$special_;/2___2__2'(A, B, C).
7093'known/1_1_$special_;/2___2__2'(A, S, J) :-
7094 ( nonvar(A),
7095 A=(B, _),
7096 nonvar(B),
7097 B=(\+C)
7098 ),
7099 ( nonvar(C),
7100 ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( C=nonvar(D),
7101 ( 'chr newvia_1'(D,
7102 E)
7103 -> get_attr(E,
7104 guard_entailment,
7105 F),
7106 F=v(_, _, _, _, G, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
7107 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
7108 G)
7109 ),
7110 member(H,
7111 G),
7112 H=suspension(_, active, _, _, I),
7113 I==D,
7114 !,
7115 ( var(J)
7116 -> true
7117 ; J=suspension(_, K, _, _, L, M),
7118 setarg(2,
7119 J,
7120 removed),
7121 ( K==not_stored_yet
7122 -> N=[]
7123 ; term_variables(term(L,
7124 M),
7125 N),
7126 ( arg(4,
7127 J,
7128 O),
7129 ( var(O)
7130 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7131 P),
7132 P=[_|Q],
7133 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7134 Q),
7135 ( Q=[R|_]
7136 -> setarg(4,
7137 R,
7138 _)
7139 ; true
7140 )
7141 ; O=[_, _|Q],
7142 setarg(2,
7143 O,
7144 Q),
7145 ( Q=[R|_]
7146 -> setarg(4,
7147 R,
7148 O)
7149 ; true
7150 )
7151 )
7152 ),
7153 'detach_known/1_1_$special_;/2___2'(N,
7154 J)
7155 )
7156 ),
7157 known(S)
7158 ; C=var(T),
7159 ( 'chr newvia_1'(T,
7160 U)
7161 -> get_attr(U,
7162 guard_entailment,
7163 V),
7164 V=v(_, _, _, _, _, W, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
7165 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
7166 W)
7167 ),
7168 member(X,
7169 W),
7170 X=suspension(_, active, _, _, Y),
7171 Y==T,
7172 !,
7173 ( var(J)
7174 -> true
7175 ; J=suspension(_, Z, _, _, A1, B1),
7176 setarg(2,
7177 J,
7178 removed),
7179 ( Z==not_stored_yet
7180 -> C1=[]
7181 ; term_variables(term(A1,
7182 B1),
7183 C1),
7184 ( arg(4,
7185 J,
7186 D1),
7187 ( var(D1)
7188 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7189 E1),
7190 E1=[_|F1],
7191 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7192 F1),
7193 ( F1=[G1|_]
7194 -> setarg(4,
7195 G1,
7196 _)
7197 ; true
7198 )
7199 ; D1=[_, _|F1],
7200 setarg(2,
7201 D1,
7202 F1),
7203 ( F1=[G1|_]
7204 -> setarg(4,
7205 G1,
7206 D1)
7207 ; true
7208 )
7209 )
7210 ),
7211 'detach_known/1_1_$special_;/2___2'(C1,
7212 J)
7213 )
7214 ),
7215 known(S)
7216 )
7217 ; C=atom(H1),
7218 ( 'chr newvia_1'(H1,
7219 I1)
7220 -> get_attr(I1,
7221 guard_entailment,
7222 J1),
7223 J1=v(_, _, _, _, _, _, K1, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
7224 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
7225 K1)
7226 ),
7227 member(L1,
7228 K1),
7229 L1=suspension(_, active, _, _, _, M1),
7230 M1==H1,
7231 !,
7232 ( var(J)
7233 -> true
7234 ; J=suspension(_, N1, _, _, O1, P1),
7235 setarg(2,
7236 J,
7237 removed),
7238 ( N1==not_stored_yet
7239 -> Q1=[]
7240 ; term_variables(term(O1,
7241 P1),
7242 Q1),
7243 ( arg(4,
7244 J,
7245 R1),
7246 ( var(R1)
7247 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7248 S1),
7249 S1=[_|T1],
7250 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7251 T1),
7252 ( T1=[U1|_]
7253 -> setarg(4,
7254 U1,
7255 _)
7256 ; true
7257 )
7258 ; R1=[_, _|T1],
7259 setarg(2,
7260 R1,
7261 T1),
7262 ( T1=[U1|_]
7263 -> setarg(4,
7264 U1,
7265 R1)
7266 ; true
7267 )
7268 )
7269 ),
7270 'detach_known/1_1_$special_;/2___2'(Q1,
7271 J)
7272 )
7273 ),
7274 known(S)
7275 )
7276 ; C=atomic(V1),
7277 ( 'chr newvia_1'(V1,
7278 W1)
7279 -> get_attr(W1,
7280 guard_entailment,
7281 X1),
7282 X1=v(_, _, _, _, _, _, _, Y1, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
7283 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
7284 Y1)
7285 ),
7286 member(Z1,
7287 Y1),
7288 Z1=suspension(_, active, _, _, _, A2),
7289 A2==V1,
7290 !,
7291 ( var(J)
7292 -> true
7293 ; J=suspension(_, B2, _, _, C2, D2),
7294 setarg(2,
7295 J,
7296 removed),
7297 ( B2==not_stored_yet
7298 -> E2=[]
7299 ; term_variables(term(C2,
7300 D2),
7301 E2),
7302 ( arg(4,
7303 J,
7304 F2),
7305 ( var(F2)
7306 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7307 G2),
7308 G2=[_|H2],
7309 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7310 H2),
7311 ( H2=[I2|_]
7312 -> setarg(4,
7313 I2,
7314 _)
7315 ; true
7316 )
7317 ; F2=[_, _|H2],
7318 setarg(2,
7319 F2,
7320 H2),
7321 ( H2=[I2|_]
7322 -> setarg(4,
7323 I2,
7324 F2)
7325 ; true
7326 )
7327 )
7328 ),
7329 'detach_known/1_1_$special_;/2___2'(E2,
7330 J)
7331 )
7332 ),
7333 known(S)
7334 )
7335 ; C=compound(J2),
7336 ( 'chr newvia_1'(J2,
7337 K2)
7338 -> get_attr(K2,
7339 guard_entailment,
7340 L2),
7341 L2=v(_, _, _, _, _, _, _, _, M2, _, _, _, _, _, _, _, _, _, _, _, _, _)
7342 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
7343 M2)
7344 ),
7345 member(N2,
7346 M2),
7347 N2=suspension(_, active, _, _, _, O2),
7348 O2==J2,
7349 !,
7350 ( var(J)
7351 -> true
7352 ; J=suspension(_, P2, _, _, Q2, R2),
7353 setarg(2,
7354 J,
7355 removed),
7356 ( P2==not_stored_yet
7357 -> S2=[]
7358 ; term_variables(term(Q2,
7359 R2),
7360 S2),
7361 ( arg(4,
7362 J,
7363 T2),
7364 ( var(T2)
7365 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7366 U2),
7367 U2=[_|V2],
7368 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7369 V2),
7370 ( V2=[W2|_]
7371 -> setarg(4,
7372 W2,
7373 _)
7374 ; true
7375 )
7376 ; T2=[_, _|V2],
7377 setarg(2,
7378 T2,
7379 V2),
7380 ( V2=[W2|_]
7381 -> setarg(4,
7382 W2,
7383 T2)
7384 ; true
7385 )
7386 )
7387 ),
7388 'detach_known/1_1_$special_;/2___2'(S2,
7389 J)
7390 )
7391 ),
7392 known(S)
7393 )
7394 ; C=ground(X2),
7395 ( 'chr newvia_1'(X2,
7396 Y2)
7397 -> get_attr(Y2,
7398 guard_entailment,
7399 Z2),
7400 Z2=v(_, _, _, _, _, _, _, _, _, A3, _, _, _, _, _, _, _, _, _, _, _, _)
7401 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
7402 A3)
7403 ),
7404 member(B3,
7405 A3),
7406 B3=suspension(_, active, _, _, _, C3),
7407 C3==X2,
7408 !,
7409 ( var(J)
7410 -> true
7411 ; J=suspension(_, D3, _, _, E3, F3),
7412 setarg(2,
7413 J,
7414 removed),
7415 ( D3==not_stored_yet
7416 -> G3=[]
7417 ; term_variables(term(E3,
7418 F3),
7419 G3),
7420 ( arg(4,
7421 J,
7422 H3),
7423 ( var(H3)
7424 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7425 I3),
7426 I3=[_|J3],
7427 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7428 J3),
7429 ( J3=[K3|_]
7430 -> setarg(4,
7431 K3,
7432 _)
7433 ; true
7434 )
7435 ; H3=[_, _|J3],
7436 setarg(2,
7437 H3,
7438 J3),
7439 ( J3=[K3|_]
7440 -> setarg(4,
7441 K3,
7442 H3)
7443 ; true
7444 )
7445 )
7446 ),
7447 'detach_known/1_1_$special_;/2___2'(G3,
7448 J)
7449 )
7450 ),
7451 known(S)
7452 )
7453 ; C=integer(L3),
7454 ( 'chr newvia_1'(L3,
7455 M3)
7456 -> get_attr(M3,
7457 guard_entailment,
7458 N3),
7459 N3=v(_, _, _, _, _, _, _, _, _, _, O3, _, _, _, _, _, _, _, _, _, _, _)
7460 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
7461 O3)
7462 ),
7463 member(P3,
7464 O3),
7465 P3=suspension(_, active, _, _, _, Q3),
7466 Q3==L3,
7467 !,
7468 ( var(J)
7469 -> true
7470 ; J=suspension(_, R3, _, _, S3, T3),
7471 setarg(2,
7472 J,
7473 removed),
7474 ( R3==not_stored_yet
7475 -> U3=[]
7476 ; term_variables(term(S3,
7477 T3),
7478 U3),
7479 ( arg(4,
7480 J,
7481 V3),
7482 ( var(V3)
7483 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7484 W3),
7485 W3=[_|X3],
7486 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7487 X3),
7488 ( X3=[Y3|_]
7489 -> setarg(4,
7490 Y3,
7491 _)
7492 ; true
7493 )
7494 ; V3=[_, _|X3],
7495 setarg(2,
7496 V3,
7497 X3),
7498 ( X3=[Y3|_]
7499 -> setarg(4,
7500 Y3,
7501 V3)
7502 ; true
7503 )
7504 )
7505 ),
7506 'detach_known/1_1_$special_;/2___2'(U3,
7507 J)
7508 )
7509 ),
7510 known(S)
7511 )
7512 ; C=float(Z3),
7513 ( 'chr newvia_1'(Z3,
7514 A4)
7515 -> get_attr(A4,
7516 guard_entailment,
7517 B4),
7518 B4=v(_, _, _, _, _, _, _, _, _, _, _, C4, _, _, _, _, _, _, _, _, _, _)
7519 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
7520 C4)
7521 ),
7522 member(D4,
7523 C4),
7524 D4=suspension(_, active, _, _, _, E4),
7525 E4==Z3,
7526 !,
7527 ( var(J)
7528 -> true
7529 ; J=suspension(_, F4, _, _, G4, H4),
7530 setarg(2,
7531 J,
7532 removed),
7533 ( F4==not_stored_yet
7534 -> I4=[]
7535 ; term_variables(term(G4,
7536 H4),
7537 I4),
7538 ( arg(4,
7539 J,
7540 J4),
7541 ( var(J4)
7542 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7543 K4),
7544 K4=[_|L4],
7545 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7546 L4),
7547 ( L4=[M4|_]
7548 -> setarg(4,
7549 M4,
7550 _)
7551 ; true
7552 )
7553 ; J4=[_, _|L4],
7554 setarg(2,
7555 J4,
7556 L4),
7557 ( L4=[M4|_]
7558 -> setarg(4,
7559 M4,
7560 J4)
7561 ; true
7562 )
7563 )
7564 ),
7565 'detach_known/1_1_$special_;/2___2'(I4,
7566 J)
7567 )
7568 ),
7569 known(S)
7570 )
7571 ; C=number(N4),
7572 ( 'chr newvia_1'(N4,
7573 O4)
7574 -> get_attr(O4,
7575 guard_entailment,
7576 P4),
7577 P4=v(_, _, _, _, _, _, _, _, _, _, _, _, Q4, _, _, _, _, _, _, _, _, _)
7578 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
7579 Q4)
7580 ),
7581 member(R4, Q4),
7582 R4=suspension(_, active, _, _, _, S4),
7583 S4==N4,
7584 !,
7585 ( var(J)
7586 -> true
7587 ; J=suspension(_, T4, _, _, U4, V4),
7588 setarg(2, J, removed),
7589 ( T4==not_stored_yet
7590 -> W4=[]
7591 ; term_variables(term(U4,
7592 V4),
7593 W4),
7594 ( arg(4,
7595 J,
7596 X4),
7597 ( var(X4)
7598 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7599 Y4),
7600 Y4=[_|Z4],
7601 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7602 Z4),
7603 ( Z4=[A5|_]
7604 -> setarg(4,
7605 A5,
7606 _)
7607 ; true
7608 )
7609 ; X4=[_, _|Z4],
7610 setarg(2,
7611 X4,
7612 Z4),
7613 ( Z4=[A5|_]
7614 -> setarg(4,
7615 A5,
7616 X4)
7617 ; true
7618 )
7619 )
7620 ),
7621 'detach_known/1_1_$special_;/2___2'(W4,
7622 J)
7623 )
7624 ),
7625 known(S)
7626 )
7627 ; C=(B5=\=C5),
7628 ( 'chr newvia_2'(B5,
7629 C5,
7630 D5)
7631 -> get_attr(D5,
7632 guard_entailment,
7633 E5),
7634 E5=v(_, _, _, _, _, _, _, _, _, _, _, _, _, F5, _, _, _, _, _, _, _, _)
7635 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
7636 F5)
7637 ),
7638 member(G5, F5),
7639 G5=suspension(_, active, _, _, _, H5, I5),
7640 H5==B5,
7641 I5==C5,
7642 !,
7643 ( var(J)
7644 -> true
7645 ; J=suspension(_, J5, _, _, K5, L5),
7646 setarg(2, J, removed),
7647 ( J5==not_stored_yet
7648 -> M5=[]
7649 ; term_variables(term(K5,
7650 L5),
7651 M5),
7652 ( arg(4, J, N5),
7653 ( var(N5)
7654 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7655 O5),
7656 O5=[_|P5],
7657 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7658 P5),
7659 ( P5=[Q5|_]
7660 -> setarg(4,
7661 Q5,
7662 _)
7663 ; true
7664 )
7665 ; N5=[_, _|P5],
7666 setarg(2,
7667 N5,
7668 P5),
7669 ( P5=[Q5|_]
7670 -> setarg(4,
7671 Q5,
7672 N5)
7673 ; true
7674 )
7675 )
7676 ),
7677 'detach_known/1_1_$special_;/2___2'(M5,
7678 J)
7679 )
7680 ),
7681 known(S)
7682 )
7683 ; C=(\+R5),
7684 ( 'chr newvia_1'(R5, S5)
7685 -> get_attr(S5,
7686 guard_entailment,
7687 T5),
7688 T5=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, U5, _, _, _, _, _, _, _)
7689 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
7690 U5)
7691 ),
7692 member(V5, U5),
7693 V5=suspension(_, active, _, _, W5),
7694 W5==R5,
7695 !,
7696 ( var(J)
7697 -> true
7698 ; J=suspension(_, X5, _, _, Y5, Z5),
7699 setarg(2, J, removed),
7700 ( X5==not_stored_yet
7701 -> A6=[]
7702 ; term_variables(term(Y5,
7703 Z5),
7704 A6),
7705 ( arg(4, J, B6),
7706 ( var(B6)
7707 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7708 C6),
7709 C6=[_|D6],
7710 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7711 D6),
7712 ( D6=[E6|_]
7713 -> setarg(4,
7714 E6,
7715 _)
7716 ; true
7717 )
7718 ; B6=[_, _|D6],
7719 setarg(2,
7720 B6,
7721 D6),
7722 ( D6=[E6|_]
7723 -> setarg(4,
7724 E6,
7725 B6)
7726 ; true
7727 )
7728 )
7729 ),
7730 'detach_known/1_1_$special_;/2___2'(A6,
7731 J)
7732 )
7733 ),
7734 known(S)
7735 )
7736 ; C=functor(F6, G6, H6),
7737 ( 'chr newvia'(
7738 [ F6,
7739 G6,
7740 H6
7741 ],
7742 I6)
7743 -> get_attr(I6,
7744 guard_entailment,
7745 J6),
7746 J6=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, K6, _, _, _, _, _, _)
7747 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
7748 K6)
7749 ),
7750 member(L6, K6),
7751 L6=suspension(_, active, _, _, M6, N6, O6),
7752 M6==F6,
7753 N6==G6,
7754 O6==H6,
7755 !,
7756 ( var(J)
7757 -> true
7758 ; J=suspension(_, P6, _, _, Q6, R6),
7759 setarg(2, J, removed),
7760 ( P6==not_stored_yet
7761 -> S6=[]
7762 ; term_variables(term(Q6,
7763 R6),
7764 S6),
7765 ( arg(4, J, T6),
7766 ( var(T6)
7767 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7768 U6),
7769 U6=[_|V6],
7770 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7771 V6),
7772 ( V6=[W6|_]
7773 -> setarg(4,
7774 W6,
7775 _)
7776 ; true
7777 )
7778 ; T6=[_, _|V6],
7779 setarg(2,
7780 T6,
7781 V6),
7782 ( V6=[W6|_]
7783 -> setarg(4,
7784 W6,
7785 T6)
7786 ; true
7787 )
7788 )
7789 ),
7790 'detach_known/1_1_$special_;/2___2'(S6,
7791 J)
7792 )
7793 ),
7794 known(S)
7795 )
7796 ; C=(X6\=Y6),
7797 ( 'chr newvia_2'(X6,
7798 Y6,
7799 Z6)
7800 -> get_attr(Z6,
7801 guard_entailment,
7802 A7),
7803 A7=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, B7, _, _, _, _, _)
7804 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
7805 B7)
7806 ),
7807 member(C7, B7),
7808 C7=suspension(_, active, _, _, _, D7, E7),
7809 D7==X6,
7810 E7==Y6,
7811 !,
7812 ( var(J)
7813 -> true
7814 ; J=suspension(_, F7, _, _, G7, H7),
7815 setarg(2, J, removed),
7816 ( F7==not_stored_yet
7817 -> I7=[]
7818 ; term_variables(term(G7,
7819 H7),
7820 I7),
7821 ( arg(4, J, J7),
7822 ( var(J7)
7823 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7824 K7),
7825 K7=[_|L7],
7826 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7827 L7),
7828 ( L7=[M7|_]
7829 -> setarg(4, M7, _)
7830 ; true
7831 )
7832 ; J7=[_, _|L7],
7833 setarg(2, J7, L7),
7834 ( L7=[M7|_]
7835 -> setarg(4,
7836 M7,
7837 J7)
7838 ; true
7839 )
7840 )
7841 ),
7842 'detach_known/1_1_$special_;/2___2'(I7,
7843 J)
7844 )
7845 ),
7846 known(S)
7847 )
7848 ; C=(N7=O7),
7849 ( 'chr newvia_2'(N7, O7, P7)
7850 -> get_attr(P7, guard_entailment, Q7),
7851 Q7=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, R7, _, _, _, _)
7852 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
7853 R7)
7854 ),
7855 member(S7, R7),
7856 S7=suspension(_, active, _, _, T7, U7),
7857 T7==N7,
7858 U7==O7,
7859 !,
7860 ( var(J)
7861 -> true
7862 ; J=suspension(_, V7, _, _, W7, X7),
7863 setarg(2, J, removed),
7864 ( V7==not_stored_yet
7865 -> Y7=[]
7866 ; term_variables(term(W7, X7),
7867 Y7),
7868 ( arg(4, J, Z7),
7869 ( var(Z7)
7870 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7871 A8),
7872 A8=[_|B8],
7873 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7874 B8),
7875 ( B8=[C8|_]
7876 -> setarg(4, C8, _)
7877 ; true
7878 )
7879 ; Z7=[_, _|B8],
7880 setarg(2, Z7, B8),
7881 ( B8=[C8|_]
7882 -> setarg(4, C8, Z7)
7883 ; true
7884 )
7885 )
7886 ),
7887 'detach_known/1_1_$special_;/2___2'(Y7,
7888 J)
7889 )
7890 ),
7891 known(S)
7892 )
7893 ; C=(D8\==E8),
7894 ( 'chr newvia_2'(D8, E8, F8)
7895 -> get_attr(F8, guard_entailment, G8),
7896 G8=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, H8, _, _, _)
7897 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
7898 H8)
7899 ),
7900 member(I8, H8),
7901 I8=suspension(_, active, _, _, _, J8, K8),
7902 J8==D8,
7903 K8==E8,
7904 !,
7905 ( var(J)
7906 -> true
7907 ; J=suspension(_, L8, _, _, M8, N8),
7908 setarg(2, J, removed),
7909 ( L8==not_stored_yet
7910 -> O8=[]
7911 ; term_variables(term(M8, N8),
7912 O8),
7913 ( arg(4, J, P8),
7914 ( var(P8)
7915 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7916 Q8),
7917 Q8=[_|R8],
7918 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7919 R8),
7920 ( R8=[S8|_]
7921 -> setarg(4, S8, _)
7922 ; true
7923 )
7924 ; P8=[_, _|R8],
7925 setarg(2, P8, R8),
7926 ( R8=[S8|_]
7927 -> setarg(4, S8, P8)
7928 ; true
7929 )
7930 )
7931 ),
7932 'detach_known/1_1_$special_;/2___2'(O8,
7933 J)
7934 )
7935 ),
7936 known(S)
7937 )
7938 ; C=(T8==U8),
7939 ( 'chr newvia_2'(T8, U8, V8)
7940 -> get_attr(V8, guard_entailment, W8),
7941 W8=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, X8, _, _)
7942 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
7943 X8)
7944 ),
7945 member(Y8, X8),
7946 Y8=suspension(_, active, _, _, _, Z8, A9),
7947 Z8==T8,
7948 A9==U8,
7949 !,
7950 ( var(J)
7951 -> true
7952 ; J=suspension(_, B9, _, _, C9, D9),
7953 setarg(2, J, removed),
7954 ( B9==not_stored_yet
7955 -> E9=[]
7956 ; term_variables(term(C9, D9),
7957 E9),
7958 ( arg(4, J, F9),
7959 ( var(F9)
7960 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7961 G9),
7962 G9=[_|H9],
7963 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
7964 H9),
7965 ( H9=[I9|_]
7966 -> setarg(4, I9, _)
7967 ; true
7968 )
7969 ; F9=[_, _|H9],
7970 setarg(2, F9, H9),
7971 ( H9=[I9|_]
7972 -> setarg(4, I9, F9)
7973 ; true
7974 )
7975 )
7976 ),
7977 'detach_known/1_1_$special_;/2___2'(E9,
7978 J)
7979 )
7980 ),
7981 known(S)
7982 )
7983 ; C=(J9=<K9),
7984 ( 'chr newvia_2'(J9, K9, L9)
7985 -> get_attr(L9, guard_entailment, M9),
7986 M9=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, N9, _)
7987 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
7988 N9)
7989 ),
7990 member(O9, N9),
7991 O9=suspension(_, active, _, _, _, P9, Q9),
7992 P9==J9,
7993 Q9==K9,
7994 !,
7995 ( var(J)
7996 -> true
7997 ; J=suspension(_, R9, _, _, S9, T9),
7998 setarg(2, J, removed),
7999 ( R9==not_stored_yet
8000 -> U9=[]
8001 ; term_variables(term(S9, T9), U9),
8002 ( arg(4, J, V9),
8003 ( var(V9)
8004 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8005 W9),
8006 W9=[_|X9],
8007 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8008 X9),
8009 ( X9=[Y9|_]
8010 -> setarg(4, Y9, _)
8011 ; true
8012 )
8013 ; V9=[_, _|X9],
8014 setarg(2, V9, X9),
8015 ( X9=[Y9|_]
8016 -> setarg(4, Y9, V9)
8017 ; true
8018 )
8019 )
8020 ),
8021 'detach_known/1_1_$special_;/2___2'(U9, J)
8022 )
8023 ),
8024 known(S)
8025 )
8026 ; C=(Z9=:=A10),
8027 ( 'chr newvia_2'(Z9, A10, B10)
8028 -> get_attr(B10, guard_entailment, C10),
8029 C10=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D10)
8030 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
8031 D10)
8032 ),
8033 member(E10, D10),
8034 E10=suspension(_, active, _, _, _, F10, G10),
8035 F10==Z9,
8036 G10==A10,
8037 !,
8038 ( var(J)
8039 -> true
8040 ; J=suspension(_, H10, _, _, I10, J10),
8041 setarg(2, J, removed),
8042 ( H10==not_stored_yet
8043 -> K10=[]
8044 ; term_variables(term(I10, J10), K10),
8045 ( arg(4, J, L10),
8046 ( var(L10)
8047 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8048 M10),
8049 M10=[_|N10],
8050 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8051 N10),
8052 ( N10=[O10|_]
8053 -> setarg(4, O10, _)
8054 ; true
8055 )
8056 ; L10=[_, _|N10],
8057 setarg(2, L10, N10),
8058 ( N10=[O10|_]
8059 -> setarg(4, O10, L10)
8060 ; true
8061 )
8062 )
8063 ),
8064 'detach_known/1_1_$special_;/2___2'(K10, J)
8065 )
8066 ),
8067 known(S)
8068 )
8069 ; ( 'chr newvia_1'(C, P10)
8070 -> get_attr(P10, guard_entailment, Q10),
8071 Q10=v(_, _, R10, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
8072 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
8073 R10)
8074 ),
8075 member(S10, R10),
8076 S10=suspension(_, active, _, _, T10),
8077 T10==C,
8078 !,
8079 ( var(J)
8080 -> true
8081 ; J=suspension(_, U10, _, _, V10, W10),
8082 setarg(2, J, removed),
8083 ( U10==not_stored_yet
8084 -> X10=[]
8085 ; term_variables(term(V10, W10), X10),
8086 ( arg(4, J, Y10),
8087 ( var(Y10)
8088 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8089 Z10),
8090 Z10=[_|A11],
8091 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8092 A11),
8093 ( A11=[B11|_]
8094 -> setarg(4, B11, _)
8095 ; true
8096 )
8097 ; Y10=[_, _|A11],
8098 setarg(2, Y10, A11),
8099 ( A11=[B11|_]
8100 -> setarg(4, B11, Y10)
8101 ; true
8102 )
8103 )
8104 ),
8105 'detach_known/1_1_$special_;/2___2'(X10, J)
8106 )
8107 ),
8108 known(S)
8109 ).
8110'known/1_1_$special_;/2___2__2'(A, P, G) :-
8111 ( 'chr newvia_1'(A, B)
8112 -> get_attr(B, guard_entailment, C),
8113 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
8114 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
8115 D)
8116 ),
8117 member(E, D),
8118 E=suspension(_, active, _, _, F),
8119 F==A,
8120 !,
8121 ( var(G)
8122 -> true
8123 ; G=suspension(_, H, _, _, I, J),
8124 setarg(2, G, removed),
8125 ( H==not_stored_yet
8126 -> K=[]
8127 ; term_variables(term(I, J), K),
8128 ( arg(4, G, L),
8129 ( var(L)
8130 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8131 M),
8132 M=[_|N],
8133 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8134 N),
8135 ( N=[O|_]
8136 -> setarg(4, O, _)
8137 ; true
8138 )
8139 ; L=[_, _|N],
8140 setarg(2, L, N),
8141 ( N=[O|_]
8142 -> setarg(4, O, L)
8143 ; true
8144 )
8145 )
8146 ),
8147 'detach_known/1_1_$special_;/2___2'(K, G)
8148 )
8149 ),
8150 known(P).
8151'known/1_1_$special_;/2___2__2'(A, Q, H) :-
8152 nonvar(A),
8153 A=(B, _),
8154 ( 'chr newvia_1'(B, C)
8155 -> get_attr(C, guard_entailment, D),
8156 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
8157 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
8158 E)
8159 ),
8160 member(F, E),
8161 F=suspension(_, active, _, _, G),
8162 G==B,
8163 !,
8164 ( var(H)
8165 -> true
8166 ; H=suspension(_, I, _, _, J, K),
8167 setarg(2, H, removed),
8168 ( I==not_stored_yet
8169 -> L=[]
8170 ; term_variables(term(J, K), L),
8171 ( arg(4, H, M),
8172 ( var(M)
8173 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8174 N),
8175 N=[_|O],
8176 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8177 O),
8178 ( O=[P|_]
8179 -> setarg(4, P, _)
8180 ; true
8181 )
8182 ; M=[_, _|O],
8183 setarg(2, M, O),
8184 ( O=[P|_]
8185 -> setarg(4, P, M)
8186 ; true
8187 )
8188 )
8189 ),
8190 'detach_known/1_1_$special_;/2___2'(L, H)
8191 )
8192 ),
8193 known(Q).
8194'known/1_1_$special_;/2___2__2'(A, K, B) :-
8195 A==fail,
8196 !,
8197 ( var(B)
8198 -> true
8199 ; B=suspension(_, C, _, _, D, E),
8200 setarg(2, B, removed),
8201 ( C==not_stored_yet
8202 -> F=[]
8203 ; term_variables(term(D, E), F),
8204 ( arg(4, B, G),
8205 ( var(G)
8206 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8207 H),
8208 H=[_|I],
8209 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8210 I),
8211 ( I=[J|_]
8212 -> setarg(4, J, _)
8213 ; true
8214 )
8215 ; G=[_, _|I],
8216 setarg(2, G, I),
8217 ( I=[J|_]
8218 -> setarg(4, J, G)
8219 ; true
8220 )
8221 )
8222 ),
8223 'detach_known/1_1_$special_;/2___2'(F, B)
8224 )
8225 ),
8226 known(K).
8227'known/1_1_$special_;/2___2__2'(K, A, B) :-
8228 A==fail,
8229 !,
8230 ( var(B)
8231 -> true
8232 ; B=suspension(_, C, _, _, D, E),
8233 setarg(2, B, removed),
8234 ( C==not_stored_yet
8235 -> F=[]
8236 ; term_variables(term(D, E), F),
8237 ( arg(4, B, G),
8238 ( var(G)
8239 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8240 H),
8241 H=[_|I],
8242 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8243 I),
8244 ( I=[J|_]
8245 -> setarg(4, J, _)
8246 ; true
8247 )
8248 ; G=[_, _|I],
8249 setarg(2, G, I),
8250 ( I=[J|_]
8251 -> setarg(4, J, G)
8252 ; true
8253 )
8254 )
8255 ),
8256 'detach_known/1_1_$special_;/2___2'(F, B)
8257 )
8258 ),
8259 known(K).
8260'known/1_1_$special_;/2___2__2'(A, _, B) :-
8261 A==true,
8262 !,
8263 ( var(B)
8264 -> true
8265 ; B=suspension(_, C, _, _, D, E),
8266 setarg(2, B, removed),
8267 ( C==not_stored_yet
8268 -> F=[]
8269 ; term_variables(term(D, E), F),
8270 ( arg(4, B, G),
8271 ( var(G)
8272 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8273 H),
8274 H=[_|I],
8275 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8276 I),
8277 ( I=[J|_]
8278 -> setarg(4, J, _)
8279 ; true
8280 )
8281 ; G=[_, _|I],
8282 setarg(2, G, I),
8283 ( I=[J|_]
8284 -> setarg(4, J, G)
8285 ; true
8286 )
8287 )
8288 ),
8289 'detach_known/1_1_$special_;/2___2'(F, B)
8290 )
8291 ).
8292'known/1_1_$special_;/2___2__2'(_, A, B) :-
8293 A==true,
8294 !,
8295 ( var(B)
8296 -> true
8297 ; B=suspension(_, C, _, _, D, E),
8298 setarg(2, B, removed),
8299 ( C==not_stored_yet
8300 -> F=[]
8301 ; term_variables(term(D, E), F),
8302 ( arg(4, B, G),
8303 ( var(G)
8304 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8305 H),
8306 H=[_|I],
8307 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8308 I),
8309 ( I=[J|_]
8310 -> setarg(4, J, _)
8311 ; true
8312 )
8313 ; G=[_, _|I],
8314 setarg(2, G, I),
8315 ( I=[J|_]
8316 -> setarg(4, J, G)
8317 ; true
8318 )
8319 )
8320 ),
8321 'detach_known/1_1_$special_;/2___2'(F, B)
8322 )
8323 ).
8324'known/1_1_$special_;/2___2__2'(A, B1, I) :-
8325 ( nonvar(A),
8326 A=(\+B),
8327 nonvar(B),
8328 B=functor(C, R, S)
8329 ),
8330 ( ( ( 'chr newvia_1'(C, D)
8331 -> get_attr(D, guard_entailment, E),
8332 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _)
8333 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
8334 F)
8335 ),
8336 member(G, F),
8337 G=suspension(_, active, _, _, H, _, _),
8338 H==C,
8339 !,
8340 ( var(I)
8341 -> true
8342 ; I=suspension(_, J, _, _, K, L),
8343 setarg(2, I, removed),
8344 ( J==not_stored_yet
8345 -> M=[]
8346 ; term_variables(term(K, L), M),
8347 ( arg(4, I, N),
8348 ( var(N)
8349 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8350 O),
8351 O=[_|P],
8352 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8353 P),
8354 ( P=[Q|_]
8355 -> setarg(4, Q, _)
8356 ; true
8357 )
8358 ; N=[_, _|P],
8359 setarg(2, N, P),
8360 ( P=[Q|_]
8361 -> setarg(4, Q, N)
8362 ; true
8363 )
8364 )
8365 ),
8366 'detach_known/1_1_$special_;/2___2'(M, I)
8367 )
8368 )
8369 ; nonvar(C),
8370 'chr lock'(C),
8371 'chr lock'(R),
8372 'chr lock'(S),
8373 functor(C, R, S),
8374 'chr unlock'(C),
8375 'chr unlock'(R),
8376 'chr unlock'(S),
8377 !,
8378 ( var(I)
8379 -> true
8380 ; I=suspension(_, T, _, _, U, V),
8381 setarg(2, I, removed),
8382 ( T==not_stored_yet
8383 -> W=[]
8384 ; term_variables(term(U, V), W),
8385 ( arg(4, I, X),
8386 ( var(X)
8387 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8388 Y),
8389 Y=[_|Z],
8390 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8391 Z),
8392 ( Z=[A1|_]
8393 -> setarg(4, A1, _)
8394 ; true
8395 )
8396 ; X=[_, _|Z],
8397 setarg(2, X, Z),
8398 ( Z=[A1|_]
8399 -> setarg(4, A1, X)
8400 ; true
8401 )
8402 )
8403 ),
8404 'detach_known/1_1_$special_;/2___2'(W, I)
8405 )
8406 ),
8407 known(B1)
8408 )
8409 ; nonvar(C),
8410 'chr lock'(C),
8411 'chr lock'(R),
8412 'chr lock'(S),
8413 \+ functor(C, R, S),
8414 'chr unlock'(C),
8415 'chr unlock'(R),
8416 'chr unlock'(S),
8417 !,
8418 ( var(I)
8419 -> true
8420 ; I=suspension(_, C1, _, _, D1, E1),
8421 setarg(2, I, removed),
8422 ( C1==not_stored_yet
8423 -> F1=[]
8424 ; term_variables(term(D1, E1), F1),
8425 ( arg(4, I, G1),
8426 ( var(G1)
8427 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8428 H1),
8429 H1=[_|I1],
8430 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8431 I1),
8432 ( I1=[J1|_]
8433 -> setarg(4, J1, _)
8434 ; true
8435 )
8436 ; G1=[_, _|I1],
8437 setarg(2, G1, I1),
8438 ( I1=[J1|_]
8439 -> setarg(4, J1, G1)
8440 ; true
8441 )
8442 )
8443 ),
8444 'detach_known/1_1_$special_;/2___2'(F1, I)
8445 )
8446 )
8447 ).
8448'known/1_1_$special_;/2___2__2'(_, _, A) :-
8449 arg(2, A, D),
8450 setarg(2, A, active),
8451 arg(3, A, B),
8452 C is B+1,
8453 setarg(3, A, C),
8454 ( D==not_stored_yet
8455 -> A=suspension(_, _, _, _, E, F),
8456 term_variables(term(E, F), G),
8457 'chr none_locked'(G),
8458 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8459 H),
8460 I=[A|H],
8461 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8462 I),
8463 ( H=[J|_]
8464 -> setarg(4, J, I)
8465 ; true
8466 )
8467 ),
8468 'attach_known/1_1_$special_;/2___2'(G, A)
8469 ; true
8470 ).
8471'known/1_1_$special_nonvar/1'(A) :-
8472 'known/1_1_$special_nonvar/1___1__0'(A, _).
8473'known/1_1_$special_nonvar/1___1__0'(A, G) :-
8474 ( 'chr newvia_1'(A, B)
8475 -> get_attr(B, guard_entailment, C),
8476 C=v(_, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
8477 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8478 D)
8479 ),
8480 member(E, D),
8481 E=suspension(_, active, _, _, F),
8482 F==A,
8483 !,
8484 ( var(G)
8485 -> true
8486 ; G=suspension(_, H, _, _, I),
8487 setarg(2, G, removed),
8488 ( H==not_stored_yet
8489 -> J=[]
8490 ; term_variables(I, J),
8491 ( arg(4, G, K),
8492 ( var(K)
8493 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8494 L),
8495 L=[_|M],
8496 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8497 M),
8498 ( M=[N|_]
8499 -> setarg(4, N, _)
8500 ; true
8501 )
8502 ; K=[_, _|M],
8503 setarg(2, K, M),
8504 ( M=[N|_]
8505 -> setarg(4, N, K)
8506 ; true
8507 )
8508 )
8509 ),
8510 'detach_known/1_1_$special_nonvar/1___1'(J, G)
8511 )
8512 ).
8513'known/1_1_$special_nonvar/1___1__0'(_, C) :-
8514 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
8515 A),
8516 member(B, A),
8517 B=suspension(_, active, _),
8518 !,
8519 ( var(C)
8520 -> true
8521 ; C=suspension(_, D, _, _, E),
8522 setarg(2, C, removed),
8523 ( D==not_stored_yet
8524 -> F=[]
8525 ; term_variables(E, F),
8526 ( arg(4, C, G),
8527 ( var(G)
8528 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8529 H),
8530 H=[_|I],
8531 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8532 I),
8533 ( I=[J|_]
8534 -> setarg(4, J, _)
8535 ; true
8536 )
8537 ; G=[_, _|I],
8538 setarg(2, G, I),
8539 ( I=[J|_]
8540 -> setarg(4, J, G)
8541 ; true
8542 )
8543 )
8544 ),
8545 'detach_known/1_1_$special_nonvar/1___1'(F, C)
8546 )
8547 ).
8548'known/1_1_$special_nonvar/1___1__0'(A, N) :-
8549 ( 'chr newvia_1'(A, B)
8550 -> get_attr(B, guard_entailment, C),
8551 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
8552 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
8553 D)
8554 ),
8555 member(E, D),
8556 E=suspension(_, active, _, _, F),
8557 nonvar(F),
8558 F=nonvar(G),
8559 G==A,
8560 !,
8561 E=suspension(_, _, _, _, H),
8562 setarg(2, E, removed),
8563 term_variables(H, M),
8564 arg(4, E, I),
8565 ( var(I)
8566 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
8567 J),
8568 J=[_|K],
8569 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
8570 K),
8571 ( K=[L|_]
8572 -> setarg(4, L, _)
8573 ; true
8574 )
8575 ; I=[_, _|K],
8576 setarg(2, I, K),
8577 ( K=[L|_]
8578 -> setarg(4, L, I)
8579 ; true
8580 )
8581 ),
8582 'detach_known/1_1_$special_\\+/1___1'(M, E),
8583 ( var(N)
8584 -> true
8585 ; N=suspension(_, O, _, _, P),
8586 setarg(2, N, removed),
8587 ( O==not_stored_yet
8588 -> Q=[]
8589 ; term_variables(P, Q),
8590 ( arg(4, N, R),
8591 ( var(R)
8592 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8593 S),
8594 S=[_|T],
8595 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8596 T),
8597 ( T=[U|_]
8598 -> setarg(4, U, _)
8599 ; true
8600 )
8601 ; R=[_, _|T],
8602 setarg(2, R, T),
8603 ( T=[U|_]
8604 -> setarg(4, U, R)
8605 ; true
8606 )
8607 )
8608 ),
8609 'detach_known/1_1_$special_nonvar/1___1'(Q, N)
8610 )
8611 ),
8612 'known/1_1_$special_fail/0'.
8613'known/1_1_$special_nonvar/1___1__0'(A, M) :-
8614 ( 'chr newvia_1'(A, B)
8615 -> get_attr(B, guard_entailment, C),
8616 C=v(_, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
8617 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8618 D)
8619 ),
8620 member(E, D),
8621 E=suspension(_, active, _, _, F),
8622 F==A,
8623 !,
8624 E=suspension(_, _, _, _, G),
8625 setarg(2, E, removed),
8626 term_variables(G, L),
8627 arg(4, E, H),
8628 ( var(H)
8629 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8630 I),
8631 I=[_|J],
8632 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8633 J),
8634 ( J=[K|_]
8635 -> setarg(4, K, _)
8636 ; true
8637 )
8638 ; H=[_, _|J],
8639 setarg(2, H, J),
8640 ( J=[K|_]
8641 -> setarg(4, K, H)
8642 ; true
8643 )
8644 ),
8645 'detach_known/1_1_$special_var/1___1'(L, E),
8646 ( var(M)
8647 -> true
8648 ; M=suspension(_, N, _, _, O),
8649 setarg(2, M, removed),
8650 ( N==not_stored_yet
8651 -> P=[]
8652 ; term_variables(O, P),
8653 ( arg(4, M, Q),
8654 ( var(Q)
8655 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8656 R),
8657 R=[_|S],
8658 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8659 S),
8660 ( S=[T|_]
8661 -> setarg(4, T, _)
8662 ; true
8663 )
8664 ; Q=[_, _|S],
8665 setarg(2, Q, S),
8666 ( S=[T|_]
8667 -> setarg(4, T, Q)
8668 ; true
8669 )
8670 )
8671 ),
8672 'detach_known/1_1_$special_nonvar/1___1'(P, M)
8673 )
8674 ),
8675 'known/1_1_$special_fail/0'.
8676'known/1_1_$special_nonvar/1___1__0'(A, E) :-
8677 ( 'chr newvia_1'(A, B)
8678 -> get_attr(B, guard_entailment, C),
8679 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
8680 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8681 D)
8682 ),
8683 !,
8684 ( var(E)
8685 -> E=suspension(F, not_stored_yet, 0, _, A),
8686 'chr gen_id'(F)
8687 ; true
8688 ),
8689 'known/1_1_$special_nonvar/1___1__0__0__7'(D, A, E).
8690'known/1_1_$special_nonvar/1___1__0__0__7'([], A, B) :-
8691 'known/1_1_$special_nonvar/1___1__1'(A, B).
8692'known/1_1_$special_nonvar/1___1__0__0__7'([A|W], E, M) :-
8693 ( A=suspension(_, active, _, _, B, V),
8694 nonvar(B),
8695 B=(\+C),
8696 nonvar(C),
8697 C=nonvar(D),
8698 D==E
8699 -> ( A=suspension(_, _, _, _, F, G),
8700 setarg(2, A, removed),
8701 term_variables(term(F, G), L),
8702 ( arg(4, A, H),
8703 ( var(H)
8704 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8705 I),
8706 I=[_|J],
8707 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8708 J),
8709 ( J=[K|_]
8710 -> setarg(4, K, _)
8711 ; true
8712 )
8713 ; H=[_, _|J],
8714 setarg(2, H, J),
8715 ( J=[K|_]
8716 -> setarg(4, K, H)
8717 ; true
8718 )
8719 )
8720 ),
8721 'detach_known/1_1_$special_;/2___2'(L, A)
8722 ),
8723 ( arg(2, M, P),
8724 setarg(2, M, active),
8725 ( arg(3, M, N),
8726 O is N+1,
8727 setarg(3, M, O)
8728 ),
8729 ( P==not_stored_yet
8730 -> M=suspension(_, _, _, _, Q),
8731 term_variables(Q, R),
8732 'chr none_locked'(R),
8733 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8734 S),
8735 T=[M|S],
8736 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8737 T),
8738 ( S=[U|_]
8739 -> setarg(4, U, T)
8740 ; true
8741 )
8742 ),
8743 'attach_known/1_1_$special_nonvar/1___1'(R, M)
8744 ; true
8745 )
8746 ),
8747 known(V),
8748 ( M=suspension(_, active, O, _, _)
8749 -> setarg(2, M, inactive),
8750 'known/1_1_$special_nonvar/1___1__0__0__7'(W,
8751 E,
8752 M)
8753 ; true
8754 )
8755 ; 'known/1_1_$special_nonvar/1___1__0__0__7'(W, E, M)
8756 ).
8757'known/1_1_$special_nonvar/1___1__0'(B, A) :-
8758 ( var(A)
8759 -> A=suspension(C, not_stored_yet, 0, _, B),
8760 'chr gen_id'(C)
8761 ; true
8762 ),
8763 'known/1_1_$special_nonvar/1___1__1'(B, A).
8764'known/1_1_$special_nonvar/1___1__1'(A, E) :-
8765 ( 'chr newvia_1'(A, B)
8766 -> get_attr(B, guard_entailment, C),
8767 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
8768 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8769 D)
8770 ),
8771 !,
8772 'known/1_1_$special_nonvar/1___1__1__0__8'(D, A, E).
8773'known/1_1_$special_nonvar/1___1__1__0__8'([], A, B) :-
8774 'known/1_1_$special_nonvar/1___1__2'(A, B).
8775'known/1_1_$special_nonvar/1___1__1__0__8'([A|X], F, N) :-
8776 ( A=suspension(_, active, _, _, B, W),
8777 nonvar(B),
8778 B=(C, _),
8779 nonvar(C),
8780 C=(\+D),
8781 nonvar(D),
8782 D=nonvar(E),
8783 E==F
8784 -> ( A=suspension(_, _, _, _, G, H),
8785 setarg(2, A, removed),
8786 term_variables(term(G, H), M),
8787 ( arg(4, A, I),
8788 ( var(I)
8789 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8790 J),
8791 J=[_|K],
8792 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
8793 K),
8794 ( K=[L|_]
8795 -> setarg(4, L, _)
8796 ; true
8797 )
8798 ; I=[_, _|K],
8799 setarg(2, I, K),
8800 ( K=[L|_]
8801 -> setarg(4, L, I)
8802 ; true
8803 )
8804 )
8805 ),
8806 'detach_known/1_1_$special_;/2___2'(M, A)
8807 ),
8808 ( arg(2, N, Q),
8809 setarg(2, N, active),
8810 ( arg(3, N, O),
8811 P is O+1,
8812 setarg(3, N, P)
8813 ),
8814 ( Q==not_stored_yet
8815 -> N=suspension(_, _, _, _, R),
8816 term_variables(R, S),
8817 'chr none_locked'(S),
8818 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8819 T),
8820 U=[N|T],
8821 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8822 U),
8823 ( T=[V|_]
8824 -> setarg(4, V, U)
8825 ; true
8826 )
8827 ),
8828 'attach_known/1_1_$special_nonvar/1___1'(S, N)
8829 ; true
8830 )
8831 ),
8832 known(W),
8833 ( N=suspension(_, active, P, _, _)
8834 -> setarg(2, N, inactive),
8835 'known/1_1_$special_nonvar/1___1__1__0__8'(X,
8836 F,
8837 N)
8838 ; true
8839 )
8840 ; 'known/1_1_$special_nonvar/1___1__1__0__8'(X, F, N)
8841 ).
8842'known/1_1_$special_nonvar/1___1__1'(A, B) :-
8843 'known/1_1_$special_nonvar/1___1__2'(A, B).
8844'known/1_1_$special_nonvar/1___1__2'(_, A) :-
8845 arg(2, A, D),
8846 setarg(2, A, active),
8847 arg(3, A, B),
8848 C is B+1,
8849 setarg(3, A, C),
8850 ( D==not_stored_yet
8851 -> A=suspension(_, _, _, _, E),
8852 term_variables(E, F),
8853 'chr none_locked'(F),
8854 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8855 G),
8856 H=[A|G],
8857 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
8858 H),
8859 ( G=[I|_]
8860 -> setarg(4, I, H)
8861 ; true
8862 )
8863 ),
8864 'attach_known/1_1_$special_nonvar/1___1'(F, A)
8865 ; true
8866 ).
8867'known/1_1_$special_var/1'(A) :-
8868 'known/1_1_$special_var/1___1__0'(A, _).
8869'known/1_1_$special_var/1___1__0'(A, G) :-
8870 ( 'chr newvia_1'(A, B)
8871 -> get_attr(B, guard_entailment, C),
8872 C=v(_, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
8873 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8874 D)
8875 ),
8876 member(E, D),
8877 E=suspension(_, active, _, _, F),
8878 F==A,
8879 !,
8880 ( var(G)
8881 -> true
8882 ; G=suspension(_, H, _, _, I),
8883 setarg(2, G, removed),
8884 ( H==not_stored_yet
8885 -> J=[]
8886 ; term_variables(I, J),
8887 ( arg(4, G, K),
8888 ( var(K)
8889 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8890 L),
8891 L=[_|M],
8892 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8893 M),
8894 ( M=[N|_]
8895 -> setarg(4, N, _)
8896 ; true
8897 )
8898 ; K=[_, _|M],
8899 setarg(2, K, M),
8900 ( M=[N|_]
8901 -> setarg(4, N, K)
8902 ; true
8903 )
8904 )
8905 ),
8906 'detach_known/1_1_$special_var/1___1'(J, G)
8907 )
8908 ).
8909'known/1_1_$special_var/1___1__0'(_, C) :-
8910 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
8911 A),
8912 member(B, A),
8913 B=suspension(_, active, _),
8914 !,
8915 ( var(C)
8916 -> true
8917 ; C=suspension(_, D, _, _, E),
8918 setarg(2, C, removed),
8919 ( D==not_stored_yet
8920 -> F=[]
8921 ; term_variables(E, F),
8922 ( arg(4, C, G),
8923 ( var(G)
8924 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8925 H),
8926 H=[_|I],
8927 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8928 I),
8929 ( I=[J|_]
8930 -> setarg(4, J, _)
8931 ; true
8932 )
8933 ; G=[_, _|I],
8934 setarg(2, G, I),
8935 ( I=[J|_]
8936 -> setarg(4, J, G)
8937 ; true
8938 )
8939 )
8940 ),
8941 'detach_known/1_1_$special_var/1___1'(F, C)
8942 )
8943 ).
8944'known/1_1_$special_var/1___1__0'(A, N) :-
8945 ( 'chr newvia_1'(A, B)
8946 -> get_attr(B, guard_entailment, C),
8947 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
8948 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
8949 D)
8950 ),
8951 member(E, D),
8952 E=suspension(_, active, _, _, F),
8953 nonvar(F),
8954 F=var(G),
8955 G==A,
8956 !,
8957 E=suspension(_, _, _, _, H),
8958 setarg(2, E, removed),
8959 term_variables(H, M),
8960 arg(4, E, I),
8961 ( var(I)
8962 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
8963 J),
8964 J=[_|K],
8965 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
8966 K),
8967 ( K=[L|_]
8968 -> setarg(4, L, _)
8969 ; true
8970 )
8971 ; I=[_, _|K],
8972 setarg(2, I, K),
8973 ( K=[L|_]
8974 -> setarg(4, L, I)
8975 ; true
8976 )
8977 ),
8978 'detach_known/1_1_$special_\\+/1___1'(M, E),
8979 ( var(N)
8980 -> true
8981 ; N=suspension(_, O, _, _, P),
8982 setarg(2, N, removed),
8983 ( O==not_stored_yet
8984 -> Q=[]
8985 ; term_variables(P, Q),
8986 ( arg(4, N, R),
8987 ( var(R)
8988 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8989 S),
8990 S=[_|T],
8991 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
8992 T),
8993 ( T=[U|_]
8994 -> setarg(4, U, _)
8995 ; true
8996 )
8997 ; R=[_, _|T],
8998 setarg(2, R, T),
8999 ( T=[U|_]
9000 -> setarg(4, U, R)
9001 ; true
9002 )
9003 )
9004 ),
9005 'detach_known/1_1_$special_var/1___1'(Q, N)
9006 )
9007 ),
9008 'known/1_1_$special_fail/0'.
9009'known/1_1_$special_var/1___1__0'(A, M) :-
9010 ( 'chr newvia_1'(A, B)
9011 -> get_attr(B, guard_entailment, C),
9012 C=v(_, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9013 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
9014 D)
9015 ),
9016 member(E, D),
9017 E=suspension(_, active, _, _, F),
9018 F==A,
9019 !,
9020 E=suspension(_, _, _, _, G),
9021 setarg(2, E, removed),
9022 term_variables(G, L),
9023 arg(4, E, H),
9024 ( var(H)
9025 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
9026 I),
9027 I=[_|J],
9028 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
9029 J),
9030 ( J=[K|_]
9031 -> setarg(4, K, _)
9032 ; true
9033 )
9034 ; H=[_, _|J],
9035 setarg(2, H, J),
9036 ( J=[K|_]
9037 -> setarg(4, K, H)
9038 ; true
9039 )
9040 ),
9041 'detach_known/1_1_$special_nonvar/1___1'(L, E),
9042 ( var(M)
9043 -> true
9044 ; M=suspension(_, N, _, _, O),
9045 setarg(2, M, removed),
9046 ( N==not_stored_yet
9047 -> P=[]
9048 ; term_variables(O, P),
9049 ( arg(4, M, Q),
9050 ( var(Q)
9051 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
9052 R),
9053 R=[_|S],
9054 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
9055 S),
9056 ( S=[T|_]
9057 -> setarg(4, T, _)
9058 ; true
9059 )
9060 ; Q=[_, _|S],
9061 setarg(2, Q, S),
9062 ( S=[T|_]
9063 -> setarg(4, T, Q)
9064 ; true
9065 )
9066 )
9067 ),
9068 'detach_known/1_1_$special_var/1___1'(P, M)
9069 )
9070 ),
9071 'known/1_1_$special_fail/0'.
9072'known/1_1_$special_var/1___1__0'(A, E) :-
9073 ( 'chr newvia_1'(A, B)
9074 -> get_attr(B, guard_entailment, C),
9075 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9076 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9077 D)
9078 ),
9079 !,
9080 ( var(E)
9081 -> E=suspension(F, not_stored_yet, 0, _, A),
9082 'chr gen_id'(F)
9083 ; true
9084 ),
9085 'known/1_1_$special_var/1___1__0__0__7'(D, A, E).
9086'known/1_1_$special_var/1___1__0__0__7'([], A, B) :-
9087 'known/1_1_$special_var/1___1__1'(A, B).
9088'known/1_1_$special_var/1___1__0__0__7'([A|W], E, M) :-
9089 ( A=suspension(_, active, _, _, B, V),
9090 nonvar(B),
9091 B=(\+C),
9092 nonvar(C),
9093 C=var(D),
9094 D==E
9095 -> ( A=suspension(_, _, _, _, F, G),
9096 setarg(2, A, removed),
9097 term_variables(term(F, G), L),
9098 ( arg(4, A, H),
9099 ( var(H)
9100 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9101 I),
9102 I=[_|J],
9103 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9104 J),
9105 ( J=[K|_]
9106 -> setarg(4, K, _)
9107 ; true
9108 )
9109 ; H=[_, _|J],
9110 setarg(2, H, J),
9111 ( J=[K|_]
9112 -> setarg(4, K, H)
9113 ; true
9114 )
9115 )
9116 ),
9117 'detach_known/1_1_$special_;/2___2'(L, A)
9118 ),
9119 ( arg(2, M, P),
9120 setarg(2, M, active),
9121 ( arg(3, M, N),
9122 O is N+1,
9123 setarg(3, M, O)
9124 ),
9125 ( P==not_stored_yet
9126 -> M=suspension(_, _, _, _, Q),
9127 term_variables(Q, R),
9128 'chr none_locked'(R),
9129 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
9130 S),
9131 T=[M|S],
9132 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
9133 T),
9134 ( S=[U|_]
9135 -> setarg(4, U, T)
9136 ; true
9137 )
9138 ),
9139 'attach_known/1_1_$special_var/1___1'(R, M)
9140 ; true
9141 )
9142 ),
9143 known(V),
9144 ( M=suspension(_, active, O, _, _)
9145 -> setarg(2, M, inactive),
9146 'known/1_1_$special_var/1___1__0__0__7'(W, E, M)
9147 ; true
9148 )
9149 ; 'known/1_1_$special_var/1___1__0__0__7'(W, E, M)
9150 ).
9151'known/1_1_$special_var/1___1__0'(B, A) :-
9152 ( var(A)
9153 -> A=suspension(C, not_stored_yet, 0, _, B),
9154 'chr gen_id'(C)
9155 ; true
9156 ),
9157 'known/1_1_$special_var/1___1__1'(B, A).
9158'known/1_1_$special_var/1___1__1'(A, E) :-
9159 ( 'chr newvia_1'(A, B)
9160 -> get_attr(B, guard_entailment, C),
9161 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9162 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9163 D)
9164 ),
9165 !,
9166 'known/1_1_$special_var/1___1__1__0__8'(D, A, E).
9167'known/1_1_$special_var/1___1__1__0__8'([], A, B) :-
9168 'known/1_1_$special_var/1___1__2'(A, B).
9169'known/1_1_$special_var/1___1__1__0__8'([A|X], F, N) :-
9170 ( A=suspension(_, active, _, _, B, W),
9171 nonvar(B),
9172 B=(C, _),
9173 nonvar(C),
9174 C=(\+D),
9175 nonvar(D),
9176 D=var(E),
9177 E==F
9178 -> ( A=suspension(_, _, _, _, G, H),
9179 setarg(2, A, removed),
9180 term_variables(term(G, H), M),
9181 ( arg(4, A, I),
9182 ( var(I)
9183 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9184 J),
9185 J=[_|K],
9186 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9187 K),
9188 ( K=[L|_]
9189 -> setarg(4, L, _)
9190 ; true
9191 )
9192 ; I=[_, _|K],
9193 setarg(2, I, K),
9194 ( K=[L|_]
9195 -> setarg(4, L, I)
9196 ; true
9197 )
9198 )
9199 ),
9200 'detach_known/1_1_$special_;/2___2'(M, A)
9201 ),
9202 ( arg(2, N, Q),
9203 setarg(2, N, active),
9204 ( arg(3, N, O),
9205 P is O+1,
9206 setarg(3, N, P)
9207 ),
9208 ( Q==not_stored_yet
9209 -> N=suspension(_, _, _, _, R),
9210 term_variables(R, S),
9211 'chr none_locked'(S),
9212 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
9213 T),
9214 U=[N|T],
9215 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
9216 U),
9217 ( T=[V|_]
9218 -> setarg(4, V, U)
9219 ; true
9220 )
9221 ),
9222 'attach_known/1_1_$special_var/1___1'(S, N)
9223 ; true
9224 )
9225 ),
9226 known(W),
9227 ( N=suspension(_, active, P, _, _)
9228 -> setarg(2, N, inactive),
9229 'known/1_1_$special_var/1___1__1__0__8'(X, F, N)
9230 ; true
9231 )
9232 ; 'known/1_1_$special_var/1___1__1__0__8'(X, F, N)
9233 ).
9234'known/1_1_$special_var/1___1__1'(A, B) :-
9235 'known/1_1_$special_var/1___1__2'(A, B).
9236'known/1_1_$special_var/1___1__2'(_, A) :-
9237 arg(2, A, D),
9238 setarg(2, A, active),
9239 arg(3, A, B),
9240 C is B+1,
9241 setarg(3, A, C),
9242 ( D==not_stored_yet
9243 -> A=suspension(_, _, _, _, E),
9244 term_variables(E, F),
9245 'chr none_locked'(F),
9246 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
9247 G),
9248 H=[A|G],
9249 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
9250 H),
9251 ( G=[I|_]
9252 -> setarg(4, I, H)
9253 ; true
9254 )
9255 ),
9256 'attach_known/1_1_$special_var/1___1'(F, A)
9257 ; true
9258 ).
9259'known/1_1_$special_atom/1'(A) :-
9260 'known/1_1_$special_atom/1___1__0'(A, _).
9261'known/1_1_$special_atom/1___1__0'(A, G) :-
9262 ( 'chr newvia_1'(A, B)
9263 -> get_attr(B, guard_entailment, C),
9264 C=v(_, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9265 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9266 D)
9267 ),
9268 member(E, D),
9269 E=suspension(_, active, _, _, _, F),
9270 F==A,
9271 !,
9272 ( var(G)
9273 -> true
9274 ; G=suspension(_, H, _, _, _, I),
9275 setarg(2, G, removed),
9276 ( H==not_stored_yet
9277 -> J=[]
9278 ; term_variables(I, J),
9279 ( arg(5, G, K),
9280 ( var(K)
9281 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9282 L),
9283 L=[_|M],
9284 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9285 M),
9286 ( M=[N|_]
9287 -> setarg(5, N, _)
9288 ; true
9289 )
9290 ; K=[_, _|M],
9291 setarg(2, K, M),
9292 ( M=[N|_]
9293 -> setarg(5, N, K)
9294 ; true
9295 )
9296 )
9297 ),
9298 'detach_known/1_1_$special_atom/1___1'(J, G)
9299 )
9300 ).
9301'known/1_1_$special_atom/1___1__0'(_, C) :-
9302 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
9303 A),
9304 member(B, A),
9305 B=suspension(_, active, _),
9306 !,
9307 ( var(C)
9308 -> true
9309 ; C=suspension(_, D, _, _, _, E),
9310 setarg(2, C, removed),
9311 ( D==not_stored_yet
9312 -> F=[]
9313 ; term_variables(E, F),
9314 ( arg(5, C, G),
9315 ( var(G)
9316 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9317 H),
9318 H=[_|I],
9319 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9320 I),
9321 ( I=[J|_]
9322 -> setarg(5, J, _)
9323 ; true
9324 )
9325 ; G=[_, _|I],
9326 setarg(2, G, I),
9327 ( I=[J|_]
9328 -> setarg(5, J, G)
9329 ; true
9330 )
9331 )
9332 ),
9333 'detach_known/1_1_$special_atom/1___1'(F, C)
9334 )
9335 ).
9336'known/1_1_$special_atom/1___1__0'(A, N) :-
9337 ( 'chr newvia_1'(A, B)
9338 -> get_attr(B, guard_entailment, C),
9339 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
9340 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9341 D)
9342 ),
9343 member(E, D),
9344 E=suspension(_, active, _, _, F),
9345 nonvar(F),
9346 F=atom(G),
9347 G==A,
9348 !,
9349 E=suspension(_, _, _, _, H),
9350 setarg(2, E, removed),
9351 term_variables(H, M),
9352 arg(4, E, I),
9353 ( var(I)
9354 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9355 J),
9356 J=[_|K],
9357 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9358 K),
9359 ( K=[L|_]
9360 -> setarg(4, L, _)
9361 ; true
9362 )
9363 ; I=[_, _|K],
9364 setarg(2, I, K),
9365 ( K=[L|_]
9366 -> setarg(4, L, I)
9367 ; true
9368 )
9369 ),
9370 'detach_known/1_1_$special_\\+/1___1'(M, E),
9371 ( var(N)
9372 -> true
9373 ; N=suspension(_, O, _, _, _, P),
9374 setarg(2, N, removed),
9375 ( O==not_stored_yet
9376 -> Q=[]
9377 ; term_variables(P, Q),
9378 ( arg(5, N, R),
9379 ( var(R)
9380 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9381 S),
9382 S=[_|T],
9383 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9384 T),
9385 ( T=[U|_]
9386 -> setarg(5, U, _)
9387 ; true
9388 )
9389 ; R=[_, _|T],
9390 setarg(2, R, T),
9391 ( T=[U|_]
9392 -> setarg(5, U, R)
9393 ; true
9394 )
9395 )
9396 ),
9397 'detach_known/1_1_$special_atom/1___1'(Q, N)
9398 )
9399 ),
9400 'known/1_1_$special_fail/0'.
9401'known/1_1_$special_atom/1___1__0'(B, A) :-
9402 ( var(A)
9403 -> A=suspension(C, not_stored_yet, t, 0, _, B),
9404 'chr gen_id'(C)
9405 ; true
9406 ),
9407 ( '$novel_production'(A, 239),
9408 !,
9409 '$extend_history'(A, 239),
9410 arg(2, A, F),
9411 setarg(2, A, active),
9412 arg(4, A, D),
9413 E is D+1,
9414 setarg(4, A, E),
9415 ( F==not_stored_yet
9416 -> A=suspension(_, _, _, _, _, G),
9417 term_variables(G, H),
9418 'chr none_locked'(H),
9419 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9420 I),
9421 J=[A|I],
9422 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9423 J),
9424 ( I=[K|_]
9425 -> setarg(5, K, J)
9426 ; true
9427 )
9428 ),
9429 'attach_known/1_1_$special_atom/1___1'(H, A)
9430 ; true
9431 ),
9432 'known/1_1_$special_nonvar/1'(B),
9433 ( A=suspension(_, active, _, E, _, _)
9434 -> setarg(2, A, inactive),
9435 'known/1_1_$special_atom/1___1__1'(B, A)
9436 ; true
9437 )
9438 ; 'known/1_1_$special_atom/1___1__1'(B, A)
9439 ).
9440'known/1_1_$special_atom/1___1__1'(A, E) :-
9441 ( 'chr newvia_1'(A, B)
9442 -> get_attr(B, guard_entailment, C),
9443 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9444 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9445 D)
9446 ),
9447 !,
9448 'known/1_1_$special_atom/1___1__1__0__7'(D, A, E).
9449'known/1_1_$special_atom/1___1__1__0__7'([], A, B) :-
9450 'known/1_1_$special_atom/1___1__2'(A, B).
9451'known/1_1_$special_atom/1___1__1__0__7'([A|W], E, M) :-
9452 ( A=suspension(_, active, _, _, B, V),
9453 nonvar(B),
9454 B=(\+C),
9455 nonvar(C),
9456 C=atom(D),
9457 D==E
9458 -> ( A=suspension(_, _, _, _, F, G),
9459 setarg(2, A, removed),
9460 term_variables(term(F, G), L),
9461 ( arg(4, A, H),
9462 ( var(H)
9463 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9464 I),
9465 I=[_|J],
9466 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9467 J),
9468 ( J=[K|_]
9469 -> setarg(4, K, _)
9470 ; true
9471 )
9472 ; H=[_, _|J],
9473 setarg(2, H, J),
9474 ( J=[K|_]
9475 -> setarg(4, K, H)
9476 ; true
9477 )
9478 )
9479 ),
9480 'detach_known/1_1_$special_;/2___2'(L, A)
9481 ),
9482 ( arg(2, M, P),
9483 setarg(2, M, active),
9484 ( arg(4, M, N),
9485 O is N+1,
9486 setarg(4, M, O)
9487 ),
9488 ( P==not_stored_yet
9489 -> M=suspension(_, _, _, _, _, Q),
9490 term_variables(Q, R),
9491 'chr none_locked'(R),
9492 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9493 S),
9494 T=[M|S],
9495 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9496 T),
9497 ( S=[U|_]
9498 -> setarg(5, U, T)
9499 ; true
9500 )
9501 ),
9502 'attach_known/1_1_$special_atom/1___1'(R, M)
9503 ; true
9504 )
9505 ),
9506 known(V),
9507 ( M=suspension(_, active, _, O, _, _)
9508 -> setarg(2, M, inactive),
9509 'known/1_1_$special_atom/1___1__1__0__7'(W, E, M)
9510 ; true
9511 )
9512 ; 'known/1_1_$special_atom/1___1__1__0__7'(W, E, M)
9513 ).
9514'known/1_1_$special_atom/1___1__1'(A, B) :-
9515 'known/1_1_$special_atom/1___1__2'(A, B).
9516'known/1_1_$special_atom/1___1__2'(A, E) :-
9517 ( 'chr newvia_1'(A, B)
9518 -> get_attr(B, guard_entailment, C),
9519 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9520 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9521 D)
9522 ),
9523 !,
9524 'known/1_1_$special_atom/1___1__2__0__8'(D, A, E).
9525'known/1_1_$special_atom/1___1__2__0__8'([], A, B) :-
9526 'known/1_1_$special_atom/1___1__3'(A, B).
9527'known/1_1_$special_atom/1___1__2__0__8'([A|X], F, N) :-
9528 ( A=suspension(_, active, _, _, B, W),
9529 nonvar(B),
9530 B=(C, _),
9531 nonvar(C),
9532 C=(\+D),
9533 nonvar(D),
9534 D=atom(E),
9535 E==F
9536 -> ( A=suspension(_, _, _, _, G, H),
9537 setarg(2, A, removed),
9538 term_variables(term(G, H), M),
9539 ( arg(4, A, I),
9540 ( var(I)
9541 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9542 J),
9543 J=[_|K],
9544 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9545 K),
9546 ( K=[L|_]
9547 -> setarg(4, L, _)
9548 ; true
9549 )
9550 ; I=[_, _|K],
9551 setarg(2, I, K),
9552 ( K=[L|_]
9553 -> setarg(4, L, I)
9554 ; true
9555 )
9556 )
9557 ),
9558 'detach_known/1_1_$special_;/2___2'(M, A)
9559 ),
9560 ( arg(2, N, Q),
9561 setarg(2, N, active),
9562 ( arg(4, N, O),
9563 P is O+1,
9564 setarg(4, N, P)
9565 ),
9566 ( Q==not_stored_yet
9567 -> N=suspension(_, _, _, _, _, R),
9568 term_variables(R, S),
9569 'chr none_locked'(S),
9570 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9571 T),
9572 U=[N|T],
9573 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9574 U),
9575 ( T=[V|_]
9576 -> setarg(5, V, U)
9577 ; true
9578 )
9579 ),
9580 'attach_known/1_1_$special_atom/1___1'(S, N)
9581 ; true
9582 )
9583 ),
9584 known(W),
9585 ( N=suspension(_, active, _, P, _, _)
9586 -> setarg(2, N, inactive),
9587 'known/1_1_$special_atom/1___1__2__0__8'(X, F, N)
9588 ; true
9589 )
9590 ; 'known/1_1_$special_atom/1___1__2__0__8'(X, F, N)
9591 ).
9592'known/1_1_$special_atom/1___1__2'(A, B) :-
9593 'known/1_1_$special_atom/1___1__3'(A, B).
9594'known/1_1_$special_atom/1___1__3'(_, A) :-
9595 arg(2, A, D),
9596 setarg(2, A, active),
9597 arg(4, A, B),
9598 C is B+1,
9599 setarg(4, A, C),
9600 ( D==not_stored_yet
9601 -> A=suspension(_, _, _, _, _, E),
9602 term_variables(E, F),
9603 'chr none_locked'(F),
9604 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9605 G),
9606 H=[A|G],
9607 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
9608 H),
9609 ( G=[I|_]
9610 -> setarg(5, I, H)
9611 ; true
9612 )
9613 ),
9614 'attach_known/1_1_$special_atom/1___1'(F, A)
9615 ; true
9616 ).
9617'known/1_1_$special_atomic/1'(A) :-
9618 'known/1_1_$special_atomic/1___1__0'(A, _).
9619'known/1_1_$special_atomic/1___1__0'(A, G) :-
9620 ( 'chr newvia_1'(A, B)
9621 -> get_attr(B, guard_entailment, C),
9622 C=v(_, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9623 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9624 D)
9625 ),
9626 member(E, D),
9627 E=suspension(_, active, _, _, _, F),
9628 F==A,
9629 !,
9630 ( var(G)
9631 -> true
9632 ; G=suspension(_, H, _, _, _, I),
9633 setarg(2, G, removed),
9634 ( H==not_stored_yet
9635 -> J=[]
9636 ; term_variables(I, J),
9637 ( arg(5, G, K),
9638 ( var(K)
9639 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9640 L),
9641 L=[_|M],
9642 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9643 M),
9644 ( M=[N|_]
9645 -> setarg(5, N, _)
9646 ; true
9647 )
9648 ; K=[_, _|M],
9649 setarg(2, K, M),
9650 ( M=[N|_]
9651 -> setarg(5, N, K)
9652 ; true
9653 )
9654 )
9655 ),
9656 'detach_known/1_1_$special_atomic/1___1'(J, G)
9657 )
9658 ).
9659'known/1_1_$special_atomic/1___1__0'(_, C) :-
9660 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
9661 A),
9662 member(B, A),
9663 B=suspension(_, active, _),
9664 !,
9665 ( var(C)
9666 -> true
9667 ; C=suspension(_, D, _, _, _, E),
9668 setarg(2, C, removed),
9669 ( D==not_stored_yet
9670 -> F=[]
9671 ; term_variables(E, F),
9672 ( arg(5, C, G),
9673 ( var(G)
9674 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9675 H),
9676 H=[_|I],
9677 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9678 I),
9679 ( I=[J|_]
9680 -> setarg(5, J, _)
9681 ; true
9682 )
9683 ; G=[_, _|I],
9684 setarg(2, G, I),
9685 ( I=[J|_]
9686 -> setarg(5, J, G)
9687 ; true
9688 )
9689 )
9690 ),
9691 'detach_known/1_1_$special_atomic/1___1'(F, C)
9692 )
9693 ).
9694'known/1_1_$special_atomic/1___1__0'(A, N) :-
9695 ( 'chr newvia_1'(A, B)
9696 -> get_attr(B, guard_entailment, C),
9697 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
9698 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9699 D)
9700 ),
9701 member(E, D),
9702 E=suspension(_, active, _, _, F),
9703 nonvar(F),
9704 F=atomic(G),
9705 G==A,
9706 !,
9707 E=suspension(_, _, _, _, H),
9708 setarg(2, E, removed),
9709 term_variables(H, M),
9710 arg(4, E, I),
9711 ( var(I)
9712 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9713 J),
9714 J=[_|K],
9715 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
9716 K),
9717 ( K=[L|_]
9718 -> setarg(4, L, _)
9719 ; true
9720 )
9721 ; I=[_, _|K],
9722 setarg(2, I, K),
9723 ( K=[L|_]
9724 -> setarg(4, L, I)
9725 ; true
9726 )
9727 ),
9728 'detach_known/1_1_$special_\\+/1___1'(M, E),
9729 ( var(N)
9730 -> true
9731 ; N=suspension(_, O, _, _, _, P),
9732 setarg(2, N, removed),
9733 ( O==not_stored_yet
9734 -> Q=[]
9735 ; term_variables(P, Q),
9736 ( arg(5, N, R),
9737 ( var(R)
9738 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9739 S),
9740 S=[_|T],
9741 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9742 T),
9743 ( T=[U|_]
9744 -> setarg(5, U, _)
9745 ; true
9746 )
9747 ; R=[_, _|T],
9748 setarg(2, R, T),
9749 ( T=[U|_]
9750 -> setarg(5, U, R)
9751 ; true
9752 )
9753 )
9754 ),
9755 'detach_known/1_1_$special_atomic/1___1'(Q, N)
9756 )
9757 ),
9758 'known/1_1_$special_fail/0'.
9759'known/1_1_$special_atomic/1___1__0'(B, A) :-
9760 ( var(A)
9761 -> A=suspension(C, not_stored_yet, t, 0, _, B),
9762 'chr gen_id'(C)
9763 ; true
9764 ),
9765 ( '$novel_production'(A, 237),
9766 !,
9767 '$extend_history'(A, 237),
9768 arg(2, A, F),
9769 setarg(2, A, active),
9770 arg(4, A, D),
9771 E is D+1,
9772 setarg(4, A, E),
9773 ( F==not_stored_yet
9774 -> A=suspension(_, _, _, _, _, G),
9775 term_variables(G, H),
9776 'chr none_locked'(H),
9777 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9778 I),
9779 J=[A|I],
9780 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9781 J),
9782 ( I=[K|_]
9783 -> setarg(5, K, J)
9784 ; true
9785 )
9786 ),
9787 'attach_known/1_1_$special_atomic/1___1'(H, A)
9788 ; true
9789 ),
9790 'known/1_1_$special_nonvar/1'(B),
9791 ( A=suspension(_, active, _, E, _, _)
9792 -> setarg(2, A, inactive),
9793 'known/1_1_$special_atomic/1___1__1'(B, A)
9794 ; true
9795 )
9796 ; 'known/1_1_$special_atomic/1___1__1'(B, A)
9797 ).
9798'known/1_1_$special_atomic/1___1__1'(A, E) :-
9799 ( 'chr newvia_1'(A, B)
9800 -> get_attr(B, guard_entailment, C),
9801 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9802 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9803 D)
9804 ),
9805 !,
9806 'known/1_1_$special_atomic/1___1__1__0__7'(D, A, E).
9807'known/1_1_$special_atomic/1___1__1__0__7'([], A, B) :-
9808 'known/1_1_$special_atomic/1___1__2'(A, B).
9809'known/1_1_$special_atomic/1___1__1__0__7'([A|W], E, M) :-
9810 ( A=suspension(_, active, _, _, B, V),
9811 nonvar(B),
9812 B=(\+C),
9813 nonvar(C),
9814 C=atomic(D),
9815 D==E
9816 -> ( A=suspension(_, _, _, _, F, G),
9817 setarg(2, A, removed),
9818 term_variables(term(F, G), L),
9819 ( arg(4, A, H),
9820 ( var(H)
9821 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9822 I),
9823 I=[_|J],
9824 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9825 J),
9826 ( J=[K|_]
9827 -> setarg(4, K, _)
9828 ; true
9829 )
9830 ; H=[_, _|J],
9831 setarg(2, H, J),
9832 ( J=[K|_]
9833 -> setarg(4, K, H)
9834 ; true
9835 )
9836 )
9837 ),
9838 'detach_known/1_1_$special_;/2___2'(L, A)
9839 ),
9840 ( arg(2, M, P),
9841 setarg(2, M, active),
9842 ( arg(4, M, N),
9843 O is N+1,
9844 setarg(4, M, O)
9845 ),
9846 ( P==not_stored_yet
9847 -> M=suspension(_, _, _, _, _, Q),
9848 term_variables(Q, R),
9849 'chr none_locked'(R),
9850 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9851 S),
9852 T=[M|S],
9853 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9854 T),
9855 ( S=[U|_]
9856 -> setarg(5, U, T)
9857 ; true
9858 )
9859 ),
9860 'attach_known/1_1_$special_atomic/1___1'(R, M)
9861 ; true
9862 )
9863 ),
9864 known(V),
9865 ( M=suspension(_, active, _, O, _, _)
9866 -> setarg(2, M, inactive),
9867 'known/1_1_$special_atomic/1___1__1__0__7'(W,
9868 E,
9869 M)
9870 ; true
9871 )
9872 ; 'known/1_1_$special_atomic/1___1__1__0__7'(W, E, M)
9873 ).
9874'known/1_1_$special_atomic/1___1__1'(A, B) :-
9875 'known/1_1_$special_atomic/1___1__2'(A, B).
9876'known/1_1_$special_atomic/1___1__2'(A, E) :-
9877 ( 'chr newvia_1'(A, B)
9878 -> get_attr(B, guard_entailment, C),
9879 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
9880 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9881 D)
9882 ),
9883 !,
9884 'known/1_1_$special_atomic/1___1__2__0__8'(D, A, E).
9885'known/1_1_$special_atomic/1___1__2__0__8'([], A, B) :-
9886 'known/1_1_$special_atomic/1___1__3'(A, B).
9887'known/1_1_$special_atomic/1___1__2__0__8'([A|X], F, N) :-
9888 ( A=suspension(_, active, _, _, B, W),
9889 nonvar(B),
9890 B=(C, _),
9891 nonvar(C),
9892 C=(\+D),
9893 nonvar(D),
9894 D=atomic(E),
9895 E==F
9896 -> ( A=suspension(_, _, _, _, G, H),
9897 setarg(2, A, removed),
9898 term_variables(term(G, H), M),
9899 ( arg(4, A, I),
9900 ( var(I)
9901 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9902 J),
9903 J=[_|K],
9904 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
9905 K),
9906 ( K=[L|_]
9907 -> setarg(4, L, _)
9908 ; true
9909 )
9910 ; I=[_, _|K],
9911 setarg(2, I, K),
9912 ( K=[L|_]
9913 -> setarg(4, L, I)
9914 ; true
9915 )
9916 )
9917 ),
9918 'detach_known/1_1_$special_;/2___2'(M, A)
9919 ),
9920 ( arg(2, N, Q),
9921 setarg(2, N, active),
9922 ( arg(4, N, O),
9923 P is O+1,
9924 setarg(4, N, P)
9925 ),
9926 ( Q==not_stored_yet
9927 -> N=suspension(_, _, _, _, _, R),
9928 term_variables(R, S),
9929 'chr none_locked'(S),
9930 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9931 T),
9932 U=[N|T],
9933 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9934 U),
9935 ( T=[V|_]
9936 -> setarg(5, V, U)
9937 ; true
9938 )
9939 ),
9940 'attach_known/1_1_$special_atomic/1___1'(S, N)
9941 ; true
9942 )
9943 ),
9944 known(W),
9945 ( N=suspension(_, active, _, P, _, _)
9946 -> setarg(2, N, inactive),
9947 'known/1_1_$special_atomic/1___1__2__0__8'(X,
9948 F,
9949 N)
9950 ; true
9951 )
9952 ; 'known/1_1_$special_atomic/1___1__2__0__8'(X, F, N)
9953 ).
9954'known/1_1_$special_atomic/1___1__2'(A, B) :-
9955 'known/1_1_$special_atomic/1___1__3'(A, B).
9956'known/1_1_$special_atomic/1___1__3'(_, A) :-
9957 arg(2, A, D),
9958 setarg(2, A, active),
9959 arg(4, A, B),
9960 C is B+1,
9961 setarg(4, A, C),
9962 ( D==not_stored_yet
9963 -> A=suspension(_, _, _, _, _, E),
9964 term_variables(E, F),
9965 'chr none_locked'(F),
9966 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9967 G),
9968 H=[A|G],
9969 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
9970 H),
9971 ( G=[I|_]
9972 -> setarg(5, I, H)
9973 ; true
9974 )
9975 ),
9976 'attach_known/1_1_$special_atomic/1___1'(F, A)
9977 ; true
9978 ).
9979'known/1_1_$special_compound/1'(A) :-
9980 'known/1_1_$special_compound/1___1__0'(A, _).
9981'known/1_1_$special_compound/1___1__0'(A, G) :-
9982 ( 'chr newvia_1'(A, B)
9983 -> get_attr(B, guard_entailment, C),
9984 C=v(_, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _)
9985 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
9986 D)
9987 ),
9988 member(E, D),
9989 E=suspension(_, active, _, _, _, F),
9990 F==A,
9991 !,
9992 ( var(G)
9993 -> true
9994 ; G=suspension(_, H, _, _, _, I),
9995 setarg(2, G, removed),
9996 ( H==not_stored_yet
9997 -> J=[]
9998 ; term_variables(I, J),
9999 ( arg(5, G, K),
10000 ( var(K)
10001 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10002 L),
10003 L=[_|M],
10004 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10005 M),
10006 ( M=[N|_]
10007 -> setarg(5, N, _)
10008 ; true
10009 )
10010 ; K=[_, _|M],
10011 setarg(2, K, M),
10012 ( M=[N|_]
10013 -> setarg(5, N, K)
10014 ; true
10015 )
10016 )
10017 ),
10018 'detach_known/1_1_$special_compound/1___1'(J, G)
10019 )
10020 ).
10021'known/1_1_$special_compound/1___1__0'(_, C) :-
10022 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
10023 A),
10024 member(B, A),
10025 B=suspension(_, active, _),
10026 !,
10027 ( var(C)
10028 -> true
10029 ; C=suspension(_, D, _, _, _, E),
10030 setarg(2, C, removed),
10031 ( D==not_stored_yet
10032 -> F=[]
10033 ; term_variables(E, F),
10034 ( arg(5, C, G),
10035 ( var(G)
10036 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10037 H),
10038 H=[_|I],
10039 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10040 I),
10041 ( I=[J|_]
10042 -> setarg(5, J, _)
10043 ; true
10044 )
10045 ; G=[_, _|I],
10046 setarg(2, G, I),
10047 ( I=[J|_]
10048 -> setarg(5, J, G)
10049 ; true
10050 )
10051 )
10052 ),
10053 'detach_known/1_1_$special_compound/1___1'(F, C)
10054 )
10055 ).
10056'known/1_1_$special_compound/1___1__0'(A, N) :-
10057 ( 'chr newvia_1'(A, B)
10058 -> get_attr(B, guard_entailment, C),
10059 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
10060 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10061 D)
10062 ),
10063 member(E, D),
10064 E=suspension(_, active, _, _, F),
10065 nonvar(F),
10066 F=compound(G),
10067 G==A,
10068 !,
10069 E=suspension(_, _, _, _, H),
10070 setarg(2, E, removed),
10071 term_variables(H, M),
10072 arg(4, E, I),
10073 ( var(I)
10074 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10075 J),
10076 J=[_|K],
10077 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10078 K),
10079 ( K=[L|_]
10080 -> setarg(4, L, _)
10081 ; true
10082 )
10083 ; I=[_, _|K],
10084 setarg(2, I, K),
10085 ( K=[L|_]
10086 -> setarg(4, L, I)
10087 ; true
10088 )
10089 ),
10090 'detach_known/1_1_$special_\\+/1___1'(M, E),
10091 ( var(N)
10092 -> true
10093 ; N=suspension(_, O, _, _, _, P),
10094 setarg(2, N, removed),
10095 ( O==not_stored_yet
10096 -> Q=[]
10097 ; term_variables(P, Q),
10098 ( arg(5, N, R),
10099 ( var(R)
10100 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10101 S),
10102 S=[_|T],
10103 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10104 T),
10105 ( T=[U|_]
10106 -> setarg(5, U, _)
10107 ; true
10108 )
10109 ; R=[_, _|T],
10110 setarg(2, R, T),
10111 ( T=[U|_]
10112 -> setarg(5, U, R)
10113 ; true
10114 )
10115 )
10116 ),
10117 'detach_known/1_1_$special_compound/1___1'(Q, N)
10118 )
10119 ),
10120 'known/1_1_$special_fail/0'.
10121'known/1_1_$special_compound/1___1__0'(B, A) :-
10122 ( var(A)
10123 -> A=suspension(C, not_stored_yet, t, 0, _, B),
10124 'chr gen_id'(C)
10125 ; true
10126 ),
10127 ( '$novel_production'(A, 236),
10128 !,
10129 '$extend_history'(A, 236),
10130 arg(2, A, F),
10131 setarg(2, A, active),
10132 arg(4, A, D),
10133 E is D+1,
10134 setarg(4, A, E),
10135 ( F==not_stored_yet
10136 -> A=suspension(_, _, _, _, _, G),
10137 term_variables(G, H),
10138 'chr none_locked'(H),
10139 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10140 I),
10141 J=[A|I],
10142 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10143 J),
10144 ( I=[K|_]
10145 -> setarg(5, K, J)
10146 ; true
10147 )
10148 ),
10149 'attach_known/1_1_$special_compound/1___1'(H, A)
10150 ; true
10151 ),
10152 'known/1_1_$special_nonvar/1'(B),
10153 ( A=suspension(_, active, _, E, _, _)
10154 -> setarg(2, A, inactive),
10155 'known/1_1_$special_compound/1___1__1'(B, A)
10156 ; true
10157 )
10158 ; 'known/1_1_$special_compound/1___1__1'(B, A)
10159 ).
10160'known/1_1_$special_compound/1___1__1'(A, E) :-
10161 ( 'chr newvia_1'(A, B)
10162 -> get_attr(B, guard_entailment, C),
10163 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
10164 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10165 D)
10166 ),
10167 !,
10168 'known/1_1_$special_compound/1___1__1__0__7'(D, A, E).
10169'known/1_1_$special_compound/1___1__1__0__7'([], A, B) :-
10170 'known/1_1_$special_compound/1___1__2'(A, B).
10171'known/1_1_$special_compound/1___1__1__0__7'([A|W], E, M) :-
10172 ( A=suspension(_, active, _, _, B, V),
10173 nonvar(B),
10174 B=(\+C),
10175 nonvar(C),
10176 C=compound(D),
10177 D==E
10178 -> ( A=suspension(_, _, _, _, F, G),
10179 setarg(2, A, removed),
10180 term_variables(term(F, G), L),
10181 ( arg(4, A, H),
10182 ( var(H)
10183 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10184 I),
10185 I=[_|J],
10186 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10187 J),
10188 ( J=[K|_]
10189 -> setarg(4, K, _)
10190 ; true
10191 )
10192 ; H=[_, _|J],
10193 setarg(2, H, J),
10194 ( J=[K|_]
10195 -> setarg(4, K, H)
10196 ; true
10197 )
10198 )
10199 ),
10200 'detach_known/1_1_$special_;/2___2'(L, A)
10201 ),
10202 ( arg(2, M, P),
10203 setarg(2, M, active),
10204 ( arg(4, M, N),
10205 O is N+1,
10206 setarg(4, M, O)
10207 ),
10208 ( P==not_stored_yet
10209 -> M=suspension(_, _, _, _, _, Q),
10210 term_variables(Q, R),
10211 'chr none_locked'(R),
10212 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10213 S),
10214 T=[M|S],
10215 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10216 T),
10217 ( S=[U|_]
10218 -> setarg(5, U, T)
10219 ; true
10220 )
10221 ),
10222 'attach_known/1_1_$special_compound/1___1'(R, M)
10223 ; true
10224 )
10225 ),
10226 known(V),
10227 ( M=suspension(_, active, _, O, _, _)
10228 -> setarg(2, M, inactive),
10229 'known/1_1_$special_compound/1___1__1__0__7'(W,
10230 E,
10231 M)
10232 ; true
10233 )
10234 ; 'known/1_1_$special_compound/1___1__1__0__7'(W, E, M)
10235 ).
10236'known/1_1_$special_compound/1___1__1'(A, B) :-
10237 'known/1_1_$special_compound/1___1__2'(A, B).
10238'known/1_1_$special_compound/1___1__2'(A, E) :-
10239 ( 'chr newvia_1'(A, B)
10240 -> get_attr(B, guard_entailment, C),
10241 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
10242 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10243 D)
10244 ),
10245 !,
10246 'known/1_1_$special_compound/1___1__2__0__8'(D, A, E).
10247'known/1_1_$special_compound/1___1__2__0__8'([], A, B) :-
10248 'known/1_1_$special_compound/1___1__3'(A, B).
10249'known/1_1_$special_compound/1___1__2__0__8'([A|X], F, N) :-
10250 ( A=suspension(_, active, _, _, B, W),
10251 nonvar(B),
10252 B=(C, _),
10253 nonvar(C),
10254 C=(\+D),
10255 nonvar(D),
10256 D=compound(E),
10257 E==F
10258 -> ( A=suspension(_, _, _, _, G, H),
10259 setarg(2, A, removed),
10260 term_variables(term(G, H), M),
10261 ( arg(4, A, I),
10262 ( var(I)
10263 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10264 J),
10265 J=[_|K],
10266 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10267 K),
10268 ( K=[L|_]
10269 -> setarg(4, L, _)
10270 ; true
10271 )
10272 ; I=[_, _|K],
10273 setarg(2, I, K),
10274 ( K=[L|_]
10275 -> setarg(4, L, I)
10276 ; true
10277 )
10278 )
10279 ),
10280 'detach_known/1_1_$special_;/2___2'(M, A)
10281 ),
10282 ( arg(2, N, Q),
10283 setarg(2, N, active),
10284 ( arg(4, N, O),
10285 P is O+1,
10286 setarg(4, N, P)
10287 ),
10288 ( Q==not_stored_yet
10289 -> N=suspension(_, _, _, _, _, R),
10290 term_variables(R, S),
10291 'chr none_locked'(S),
10292 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10293 T),
10294 U=[N|T],
10295 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10296 U),
10297 ( T=[V|_]
10298 -> setarg(5, V, U)
10299 ; true
10300 )
10301 ),
10302 'attach_known/1_1_$special_compound/1___1'(S, N)
10303 ; true
10304 )
10305 ),
10306 known(W),
10307 ( N=suspension(_, active, _, P, _, _)
10308 -> setarg(2, N, inactive),
10309 'known/1_1_$special_compound/1___1__2__0__8'(X,
10310 F,
10311 N)
10312 ; true
10313 )
10314 ; 'known/1_1_$special_compound/1___1__2__0__8'(X, F, N)
10315 ).
10316'known/1_1_$special_compound/1___1__2'(A, B) :-
10317 'known/1_1_$special_compound/1___1__3'(A, B).
10318'known/1_1_$special_compound/1___1__3'(_, A) :-
10319 arg(2, A, D),
10320 setarg(2, A, active),
10321 arg(4, A, B),
10322 C is B+1,
10323 setarg(4, A, C),
10324 ( D==not_stored_yet
10325 -> A=suspension(_, _, _, _, _, E),
10326 term_variables(E, F),
10327 'chr none_locked'(F),
10328 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10329 G),
10330 H=[A|G],
10331 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
10332 H),
10333 ( G=[I|_]
10334 -> setarg(5, I, H)
10335 ; true
10336 )
10337 ),
10338 'attach_known/1_1_$special_compound/1___1'(F, A)
10339 ; true
10340 ).
10341'known/1_1_$special_ground/1'(A) :-
10342 'known/1_1_$special_ground/1___1__0'(A, _).
10343'known/1_1_$special_ground/1___1__0'(A, G) :-
10344 ( 'chr newvia_1'(A, B)
10345 -> get_attr(B, guard_entailment, C),
10346 C=v(_, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _)
10347 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10348 D)
10349 ),
10350 member(E, D),
10351 E=suspension(_, active, _, _, _, F),
10352 F==A,
10353 !,
10354 ( var(G)
10355 -> true
10356 ; G=suspension(_, H, _, _, _, I),
10357 setarg(2, G, removed),
10358 ( H==not_stored_yet
10359 -> J=[]
10360 ; term_variables(I, J),
10361 ( arg(5, G, K),
10362 ( var(K)
10363 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10364 L),
10365 L=[_|M],
10366 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10367 M),
10368 ( M=[N|_]
10369 -> setarg(5, N, _)
10370 ; true
10371 )
10372 ; K=[_, _|M],
10373 setarg(2, K, M),
10374 ( M=[N|_]
10375 -> setarg(5, N, K)
10376 ; true
10377 )
10378 )
10379 ),
10380 'detach_known/1_1_$special_ground/1___1'(J, G)
10381 )
10382 ).
10383'known/1_1_$special_ground/1___1__0'(_, C) :-
10384 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
10385 A),
10386 member(B, A),
10387 B=suspension(_, active, _),
10388 !,
10389 ( var(C)
10390 -> true
10391 ; C=suspension(_, D, _, _, _, E),
10392 setarg(2, C, removed),
10393 ( D==not_stored_yet
10394 -> F=[]
10395 ; term_variables(E, F),
10396 ( arg(5, C, G),
10397 ( var(G)
10398 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10399 H),
10400 H=[_|I],
10401 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10402 I),
10403 ( I=[J|_]
10404 -> setarg(5, J, _)
10405 ; true
10406 )
10407 ; G=[_, _|I],
10408 setarg(2, G, I),
10409 ( I=[J|_]
10410 -> setarg(5, J, G)
10411 ; true
10412 )
10413 )
10414 ),
10415 'detach_known/1_1_$special_ground/1___1'(F, C)
10416 )
10417 ).
10418'known/1_1_$special_ground/1___1__0'(A, N) :-
10419 ( 'chr newvia_1'(A, B)
10420 -> get_attr(B, guard_entailment, C),
10421 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
10422 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10423 D)
10424 ),
10425 member(E, D),
10426 E=suspension(_, active, _, _, F),
10427 nonvar(F),
10428 F=ground(G),
10429 G==A,
10430 !,
10431 E=suspension(_, _, _, _, H),
10432 setarg(2, E, removed),
10433 term_variables(H, M),
10434 arg(4, E, I),
10435 ( var(I)
10436 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10437 J),
10438 J=[_|K],
10439 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10440 K),
10441 ( K=[L|_]
10442 -> setarg(4, L, _)
10443 ; true
10444 )
10445 ; I=[_, _|K],
10446 setarg(2, I, K),
10447 ( K=[L|_]
10448 -> setarg(4, L, I)
10449 ; true
10450 )
10451 ),
10452 'detach_known/1_1_$special_\\+/1___1'(M, E),
10453 ( var(N)
10454 -> true
10455 ; N=suspension(_, O, _, _, _, P),
10456 setarg(2, N, removed),
10457 ( O==not_stored_yet
10458 -> Q=[]
10459 ; term_variables(P, Q),
10460 ( arg(5, N, R),
10461 ( var(R)
10462 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10463 S),
10464 S=[_|T],
10465 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10466 T),
10467 ( T=[U|_]
10468 -> setarg(5, U, _)
10469 ; true
10470 )
10471 ; R=[_, _|T],
10472 setarg(2, R, T),
10473 ( T=[U|_]
10474 -> setarg(5, U, R)
10475 ; true
10476 )
10477 )
10478 ),
10479 'detach_known/1_1_$special_ground/1___1'(Q, N)
10480 )
10481 ),
10482 'known/1_1_$special_fail/0'.
10483'known/1_1_$special_ground/1___1__0'(B, A) :-
10484 ( var(A)
10485 -> A=suspension(C, not_stored_yet, t, 0, _, B),
10486 'chr gen_id'(C)
10487 ; true
10488 ),
10489 ( '$novel_production'(A, 235),
10490 !,
10491 '$extend_history'(A, 235),
10492 arg(2, A, F),
10493 setarg(2, A, active),
10494 arg(4, A, D),
10495 E is D+1,
10496 setarg(4, A, E),
10497 ( F==not_stored_yet
10498 -> A=suspension(_, _, _, _, _, G),
10499 term_variables(G, H),
10500 'chr none_locked'(H),
10501 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10502 I),
10503 J=[A|I],
10504 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10505 J),
10506 ( I=[K|_]
10507 -> setarg(5, K, J)
10508 ; true
10509 )
10510 ),
10511 'attach_known/1_1_$special_ground/1___1'(H, A)
10512 ; true
10513 ),
10514 'known/1_1_$special_nonvar/1'(B),
10515 ( A=suspension(_, active, _, E, _, _)
10516 -> setarg(2, A, inactive),
10517 'known/1_1_$special_ground/1___1__1'(B, A)
10518 ; true
10519 )
10520 ; 'known/1_1_$special_ground/1___1__1'(B, A)
10521 ).
10522'known/1_1_$special_ground/1___1__1'(A, E) :-
10523 ( 'chr newvia_1'(A, B)
10524 -> get_attr(B, guard_entailment, C),
10525 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
10526 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10527 D)
10528 ),
10529 !,
10530 'known/1_1_$special_ground/1___1__1__0__7'(D, A, E).
10531'known/1_1_$special_ground/1___1__1__0__7'([], A, B) :-
10532 'known/1_1_$special_ground/1___1__2'(A, B).
10533'known/1_1_$special_ground/1___1__1__0__7'([A|W], E, M) :-
10534 ( A=suspension(_, active, _, _, B, V),
10535 nonvar(B),
10536 B=(\+C),
10537 nonvar(C),
10538 C=ground(D),
10539 D==E
10540 -> ( A=suspension(_, _, _, _, F, G),
10541 setarg(2, A, removed),
10542 term_variables(term(F, G), L),
10543 ( arg(4, A, H),
10544 ( var(H)
10545 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10546 I),
10547 I=[_|J],
10548 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10549 J),
10550 ( J=[K|_]
10551 -> setarg(4, K, _)
10552 ; true
10553 )
10554 ; H=[_, _|J],
10555 setarg(2, H, J),
10556 ( J=[K|_]
10557 -> setarg(4, K, H)
10558 ; true
10559 )
10560 )
10561 ),
10562 'detach_known/1_1_$special_;/2___2'(L, A)
10563 ),
10564 ( arg(2, M, P),
10565 setarg(2, M, active),
10566 ( arg(4, M, N),
10567 O is N+1,
10568 setarg(4, M, O)
10569 ),
10570 ( P==not_stored_yet
10571 -> M=suspension(_, _, _, _, _, Q),
10572 term_variables(Q, R),
10573 'chr none_locked'(R),
10574 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10575 S),
10576 T=[M|S],
10577 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10578 T),
10579 ( S=[U|_]
10580 -> setarg(5, U, T)
10581 ; true
10582 )
10583 ),
10584 'attach_known/1_1_$special_ground/1___1'(R, M)
10585 ; true
10586 )
10587 ),
10588 known(V),
10589 ( M=suspension(_, active, _, O, _, _)
10590 -> setarg(2, M, inactive),
10591 'known/1_1_$special_ground/1___1__1__0__7'(W,
10592 E,
10593 M)
10594 ; true
10595 )
10596 ; 'known/1_1_$special_ground/1___1__1__0__7'(W, E, M)
10597 ).
10598'known/1_1_$special_ground/1___1__1'(A, B) :-
10599 'known/1_1_$special_ground/1___1__2'(A, B).
10600'known/1_1_$special_ground/1___1__2'(A, E) :-
10601 ( 'chr newvia_1'(A, B)
10602 -> get_attr(B, guard_entailment, C),
10603 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
10604 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10605 D)
10606 ),
10607 !,
10608 'known/1_1_$special_ground/1___1__2__0__8'(D, A, E).
10609'known/1_1_$special_ground/1___1__2__0__8'([], A, B) :-
10610 'known/1_1_$special_ground/1___1__3'(A, B).
10611'known/1_1_$special_ground/1___1__2__0__8'([A|X], F, N) :-
10612 ( A=suspension(_, active, _, _, B, W),
10613 nonvar(B),
10614 B=(C, _),
10615 nonvar(C),
10616 C=(\+D),
10617 nonvar(D),
10618 D=ground(E),
10619 E==F
10620 -> ( A=suspension(_, _, _, _, G, H),
10621 setarg(2, A, removed),
10622 term_variables(term(G, H), M),
10623 ( arg(4, A, I),
10624 ( var(I)
10625 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10626 J),
10627 J=[_|K],
10628 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10629 K),
10630 ( K=[L|_]
10631 -> setarg(4, L, _)
10632 ; true
10633 )
10634 ; I=[_, _|K],
10635 setarg(2, I, K),
10636 ( K=[L|_]
10637 -> setarg(4, L, I)
10638 ; true
10639 )
10640 )
10641 ),
10642 'detach_known/1_1_$special_;/2___2'(M, A)
10643 ),
10644 ( arg(2, N, Q),
10645 setarg(2, N, active),
10646 ( arg(4, N, O),
10647 P is O+1,
10648 setarg(4, N, P)
10649 ),
10650 ( Q==not_stored_yet
10651 -> N=suspension(_, _, _, _, _, R),
10652 term_variables(R, S),
10653 'chr none_locked'(S),
10654 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10655 T),
10656 U=[N|T],
10657 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10658 U),
10659 ( T=[V|_]
10660 -> setarg(5, V, U)
10661 ; true
10662 )
10663 ),
10664 'attach_known/1_1_$special_ground/1___1'(S, N)
10665 ; true
10666 )
10667 ),
10668 known(W),
10669 ( N=suspension(_, active, _, P, _, _)
10670 -> setarg(2, N, inactive),
10671 'known/1_1_$special_ground/1___1__2__0__8'(X,
10672 F,
10673 N)
10674 ; true
10675 )
10676 ; 'known/1_1_$special_ground/1___1__2__0__8'(X, F, N)
10677 ).
10678'known/1_1_$special_ground/1___1__2'(A, B) :-
10679 'known/1_1_$special_ground/1___1__3'(A, B).
10680'known/1_1_$special_ground/1___1__3'(_, A) :-
10681 arg(2, A, D),
10682 setarg(2, A, active),
10683 arg(4, A, B),
10684 C is B+1,
10685 setarg(4, A, C),
10686 ( D==not_stored_yet
10687 -> A=suspension(_, _, _, _, _, E),
10688 term_variables(E, F),
10689 'chr none_locked'(F),
10690 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10691 G),
10692 H=[A|G],
10693 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
10694 H),
10695 ( G=[I|_]
10696 -> setarg(5, I, H)
10697 ; true
10698 )
10699 ),
10700 'attach_known/1_1_$special_ground/1___1'(F, A)
10701 ; true
10702 ).
10703'known/1_1_$special_integer/1'(A) :-
10704 'known/1_1_$special_integer/1___1__0'(A, _).
10705'known/1_1_$special_integer/1___1__0'(A, G) :-
10706 ( 'chr newvia_1'(A, B)
10707 -> get_attr(B, guard_entailment, C),
10708 C=v(_, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _)
10709 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10710 D)
10711 ),
10712 member(E, D),
10713 E=suspension(_, active, _, _, _, F),
10714 F==A,
10715 !,
10716 ( var(G)
10717 -> true
10718 ; G=suspension(_, H, _, _, _, I),
10719 setarg(2, G, removed),
10720 ( H==not_stored_yet
10721 -> J=[]
10722 ; term_variables(I, J),
10723 ( arg(5, G, K),
10724 ( var(K)
10725 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10726 L),
10727 L=[_|M],
10728 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10729 M),
10730 ( M=[N|_]
10731 -> setarg(5, N, _)
10732 ; true
10733 )
10734 ; K=[_, _|M],
10735 setarg(2, K, M),
10736 ( M=[N|_]
10737 -> setarg(5, N, K)
10738 ; true
10739 )
10740 )
10741 ),
10742 'detach_known/1_1_$special_integer/1___1'(J, G)
10743 )
10744 ).
10745'known/1_1_$special_integer/1___1__0'(_, C) :-
10746 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
10747 A),
10748 member(B, A),
10749 B=suspension(_, active, _),
10750 !,
10751 ( var(C)
10752 -> true
10753 ; C=suspension(_, D, _, _, _, E),
10754 setarg(2, C, removed),
10755 ( D==not_stored_yet
10756 -> F=[]
10757 ; term_variables(E, F),
10758 ( arg(5, C, G),
10759 ( var(G)
10760 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10761 H),
10762 H=[_|I],
10763 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10764 I),
10765 ( I=[J|_]
10766 -> setarg(5, J, _)
10767 ; true
10768 )
10769 ; G=[_, _|I],
10770 setarg(2, G, I),
10771 ( I=[J|_]
10772 -> setarg(5, J, G)
10773 ; true
10774 )
10775 )
10776 ),
10777 'detach_known/1_1_$special_integer/1___1'(F, C)
10778 )
10779 ).
10780'known/1_1_$special_integer/1___1__0'(A, B) :-
10781 nonvar(A),
10782 \+ integer(A),
10783 !,
10784 ( var(B)
10785 -> true
10786 ; B=suspension(_, C, _, _, _, D),
10787 setarg(2, B, removed),
10788 ( C==not_stored_yet
10789 -> E=[]
10790 ; term_variables(D, E),
10791 ( arg(5, B, F),
10792 ( var(F)
10793 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10794 G),
10795 G=[_|H],
10796 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10797 H),
10798 ( H=[I|_]
10799 -> setarg(5, I, _)
10800 ; true
10801 )
10802 ; F=[_, _|H],
10803 setarg(2, F, H),
10804 ( H=[I|_]
10805 -> setarg(5, I, F)
10806 ; true
10807 )
10808 )
10809 ),
10810 'detach_known/1_1_$special_integer/1___1'(E, B)
10811 )
10812 ),
10813 'known/1_1_$special_fail/0'.
10814'known/1_1_$special_integer/1___1__0'(B, A) :-
10815 ( var(A)
10816 -> A=suspension(C, not_stored_yet, t, 0, _, B),
10817 'chr gen_id'(C)
10818 ; true
10819 ),
10820 ( '$novel_production'(A, 199),
10821 !,
10822 '$extend_history'(A, 199),
10823 arg(2, A, F),
10824 setarg(2, A, active),
10825 arg(4, A, D),
10826 E is D+1,
10827 setarg(4, A, E),
10828 ( F==not_stored_yet
10829 -> A=suspension(_, _, _, _, _, G),
10830 term_variables(G, H),
10831 'chr none_locked'(H),
10832 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10833 I),
10834 J=[A|I],
10835 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10836 J),
10837 ( I=[K|_]
10838 -> setarg(5, K, J)
10839 ; true
10840 )
10841 ),
10842 'attach_known/1_1_$special_integer/1___1'(H, A)
10843 ; true
10844 ),
10845 'known/1_1_$special_number/1'(B),
10846 ( A=suspension(_, active, _, E, _, _)
10847 -> setarg(2, A, inactive),
10848 'known/1_1_$special_integer/1___1__1'(B, A)
10849 ; true
10850 )
10851 ; 'known/1_1_$special_integer/1___1__1'(B, A)
10852 ).
10853'known/1_1_$special_integer/1___1__1'(A, N) :-
10854 ( 'chr newvia_1'(A, B)
10855 -> get_attr(B, guard_entailment, C),
10856 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
10857 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10858 D)
10859 ),
10860 member(E, D),
10861 E=suspension(_, active, _, _, F),
10862 nonvar(F),
10863 F=integer(G),
10864 G==A,
10865 !,
10866 E=suspension(_, _, _, _, H),
10867 setarg(2, E, removed),
10868 term_variables(H, M),
10869 arg(4, E, I),
10870 ( var(I)
10871 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10872 J),
10873 J=[_|K],
10874 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
10875 K),
10876 ( K=[L|_]
10877 -> setarg(4, L, _)
10878 ; true
10879 )
10880 ; I=[_, _|K],
10881 setarg(2, I, K),
10882 ( K=[L|_]
10883 -> setarg(4, L, I)
10884 ; true
10885 )
10886 ),
10887 'detach_known/1_1_$special_\\+/1___1'(M, E),
10888 ( var(N)
10889 -> true
10890 ; N=suspension(_, O, _, _, _, P),
10891 setarg(2, N, removed),
10892 ( O==not_stored_yet
10893 -> Q=[]
10894 ; term_variables(P, Q),
10895 ( arg(5, N, R),
10896 ( var(R)
10897 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10898 S),
10899 S=[_|T],
10900 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10901 T),
10902 ( T=[U|_]
10903 -> setarg(5, U, _)
10904 ; true
10905 )
10906 ; R=[_, _|T],
10907 setarg(2, R, T),
10908 ( T=[U|_]
10909 -> setarg(5, U, R)
10910 ; true
10911 )
10912 )
10913 ),
10914 'detach_known/1_1_$special_integer/1___1'(Q, N)
10915 )
10916 ),
10917 'known/1_1_$special_fail/0'.
10918'known/1_1_$special_integer/1___1__1'(A, E) :-
10919 ( 'chr newvia_1'(A, B)
10920 -> get_attr(B, guard_entailment, C),
10921 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
10922 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10923 D)
10924 ),
10925 !,
10926 'known/1_1_$special_integer/1___1__1__0__8'(D, A, E).
10927'known/1_1_$special_integer/1___1__1__0__8'([], A, B) :-
10928 'known/1_1_$special_integer/1___1__2'(A, B).
10929'known/1_1_$special_integer/1___1__1__0__8'([A|W], E, M) :-
10930 ( A=suspension(_, active, _, _, B, V),
10931 nonvar(B),
10932 B=(\+C),
10933 nonvar(C),
10934 C=integer(D),
10935 D==E
10936 -> ( A=suspension(_, _, _, _, F, G),
10937 setarg(2, A, removed),
10938 term_variables(term(F, G), L),
10939 ( arg(4, A, H),
10940 ( var(H)
10941 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10942 I),
10943 I=[_|J],
10944 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
10945 J),
10946 ( J=[K|_]
10947 -> setarg(4, K, _)
10948 ; true
10949 )
10950 ; H=[_, _|J],
10951 setarg(2, H, J),
10952 ( J=[K|_]
10953 -> setarg(4, K, H)
10954 ; true
10955 )
10956 )
10957 ),
10958 'detach_known/1_1_$special_;/2___2'(L, A)
10959 ),
10960 ( arg(2, M, P),
10961 setarg(2, M, active),
10962 ( arg(4, M, N),
10963 O is N+1,
10964 setarg(4, M, O)
10965 ),
10966 ( P==not_stored_yet
10967 -> M=suspension(_, _, _, _, _, Q),
10968 term_variables(Q, R),
10969 'chr none_locked'(R),
10970 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10971 S),
10972 T=[M|S],
10973 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
10974 T),
10975 ( S=[U|_]
10976 -> setarg(5, U, T)
10977 ; true
10978 )
10979 ),
10980 'attach_known/1_1_$special_integer/1___1'(R, M)
10981 ; true
10982 )
10983 ),
10984 known(V),
10985 ( M=suspension(_, active, _, O, _, _)
10986 -> setarg(2, M, inactive),
10987 'known/1_1_$special_integer/1___1__1__0__8'(W,
10988 E,
10989 M)
10990 ; true
10991 )
10992 ; 'known/1_1_$special_integer/1___1__1__0__8'(W, E, M)
10993 ).
10994'known/1_1_$special_integer/1___1__1'(A, B) :-
10995 'known/1_1_$special_integer/1___1__2'(A, B).
10996'known/1_1_$special_integer/1___1__2'(A, E) :-
10997 ( 'chr newvia_1'(A, B)
10998 -> get_attr(B, guard_entailment, C),
10999 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
11000 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11001 D)
11002 ),
11003 !,
11004 'known/1_1_$special_integer/1___1__2__0__9'(D, A, E).
11005'known/1_1_$special_integer/1___1__2__0__9'([], A, B) :-
11006 'known/1_1_$special_integer/1___1__3'(A, B).
11007'known/1_1_$special_integer/1___1__2__0__9'([A|X], F, N) :-
11008 ( A=suspension(_, active, _, _, B, W),
11009 nonvar(B),
11010 B=(C, _),
11011 nonvar(C),
11012 C=(\+D),
11013 nonvar(D),
11014 D=integer(E),
11015 E==F
11016 -> ( A=suspension(_, _, _, _, G, H),
11017 setarg(2, A, removed),
11018 term_variables(term(G, H), M),
11019 ( arg(4, A, I),
11020 ( var(I)
11021 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11022 J),
11023 J=[_|K],
11024 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11025 K),
11026 ( K=[L|_]
11027 -> setarg(4, L, _)
11028 ; true
11029 )
11030 ; I=[_, _|K],
11031 setarg(2, I, K),
11032 ( K=[L|_]
11033 -> setarg(4, L, I)
11034 ; true
11035 )
11036 )
11037 ),
11038 'detach_known/1_1_$special_;/2___2'(M, A)
11039 ),
11040 ( arg(2, N, Q),
11041 setarg(2, N, active),
11042 ( arg(4, N, O),
11043 P is O+1,
11044 setarg(4, N, P)
11045 ),
11046 ( Q==not_stored_yet
11047 -> N=suspension(_, _, _, _, _, R),
11048 term_variables(R, S),
11049 'chr none_locked'(S),
11050 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
11051 T),
11052 U=[N|T],
11053 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
11054 U),
11055 ( T=[V|_]
11056 -> setarg(5, V, U)
11057 ; true
11058 )
11059 ),
11060 'attach_known/1_1_$special_integer/1___1'(S, N)
11061 ; true
11062 )
11063 ),
11064 known(W),
11065 ( N=suspension(_, active, _, P, _, _)
11066 -> setarg(2, N, inactive),
11067 'known/1_1_$special_integer/1___1__2__0__9'(X,
11068 F,
11069 N)
11070 ; true
11071 )
11072 ; 'known/1_1_$special_integer/1___1__2__0__9'(X, F, N)
11073 ).
11074'known/1_1_$special_integer/1___1__2'(A, B) :-
11075 'known/1_1_$special_integer/1___1__3'(A, B).
11076'known/1_1_$special_integer/1___1__3'(_, A) :-
11077 arg(2, A, D),
11078 setarg(2, A, active),
11079 arg(4, A, B),
11080 C is B+1,
11081 setarg(4, A, C),
11082 ( D==not_stored_yet
11083 -> A=suspension(_, _, _, _, _, E),
11084 term_variables(E, F),
11085 'chr none_locked'(F),
11086 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
11087 G),
11088 H=[A|G],
11089 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
11090 H),
11091 ( G=[I|_]
11092 -> setarg(5, I, H)
11093 ; true
11094 )
11095 ),
11096 'attach_known/1_1_$special_integer/1___1'(F, A)
11097 ; true
11098 ).
11099'known/1_1_$special_float/1'(A) :-
11100 'known/1_1_$special_float/1___1__0'(A, _).
11101'known/1_1_$special_float/1___1__0'(A, G) :-
11102 ( 'chr newvia_1'(A, B)
11103 -> get_attr(B, guard_entailment, C),
11104 C=v(_, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _)
11105 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11106 D)
11107 ),
11108 member(E, D),
11109 E=suspension(_, active, _, _, _, F),
11110 F==A,
11111 !,
11112 ( var(G)
11113 -> true
11114 ; G=suspension(_, H, _, _, _, I),
11115 setarg(2, G, removed),
11116 ( H==not_stored_yet
11117 -> J=[]
11118 ; term_variables(I, J),
11119 ( arg(5, G, K),
11120 ( var(K)
11121 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11122 L),
11123 L=[_|M],
11124 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11125 M),
11126 ( M=[N|_]
11127 -> setarg(5, N, _)
11128 ; true
11129 )
11130 ; K=[_, _|M],
11131 setarg(2, K, M),
11132 ( M=[N|_]
11133 -> setarg(5, N, K)
11134 ; true
11135 )
11136 )
11137 ),
11138 'detach_known/1_1_$special_float/1___1'(J, G)
11139 )
11140 ).
11141'known/1_1_$special_float/1___1__0'(_, C) :-
11142 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
11143 A),
11144 member(B, A),
11145 B=suspension(_, active, _),
11146 !,
11147 ( var(C)
11148 -> true
11149 ; C=suspension(_, D, _, _, _, E),
11150 setarg(2, C, removed),
11151 ( D==not_stored_yet
11152 -> F=[]
11153 ; term_variables(E, F),
11154 ( arg(5, C, G),
11155 ( var(G)
11156 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11157 H),
11158 H=[_|I],
11159 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11160 I),
11161 ( I=[J|_]
11162 -> setarg(5, J, _)
11163 ; true
11164 )
11165 ; G=[_, _|I],
11166 setarg(2, G, I),
11167 ( I=[J|_]
11168 -> setarg(5, J, G)
11169 ; true
11170 )
11171 )
11172 ),
11173 'detach_known/1_1_$special_float/1___1'(F, C)
11174 )
11175 ).
11176'known/1_1_$special_float/1___1__0'(A, B) :-
11177 nonvar(A),
11178 \+ float(A),
11179 !,
11180 ( var(B)
11181 -> true
11182 ; B=suspension(_, C, _, _, _, D),
11183 setarg(2, B, removed),
11184 ( C==not_stored_yet
11185 -> E=[]
11186 ; term_variables(D, E),
11187 ( arg(5, B, F),
11188 ( var(F)
11189 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11190 G),
11191 G=[_|H],
11192 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11193 H),
11194 ( H=[I|_]
11195 -> setarg(5, I, _)
11196 ; true
11197 )
11198 ; F=[_, _|H],
11199 setarg(2, F, H),
11200 ( H=[I|_]
11201 -> setarg(5, I, F)
11202 ; true
11203 )
11204 )
11205 ),
11206 'detach_known/1_1_$special_float/1___1'(E, B)
11207 )
11208 ),
11209 'known/1_1_$special_fail/0'.
11210'known/1_1_$special_float/1___1__0'(B, A) :-
11211 ( var(A)
11212 -> A=suspension(C, not_stored_yet, t, 0, _, B),
11213 'chr gen_id'(C)
11214 ; true
11215 ),
11216 ( '$novel_production'(A, 200),
11217 !,
11218 '$extend_history'(A, 200),
11219 arg(2, A, F),
11220 setarg(2, A, active),
11221 arg(4, A, D),
11222 E is D+1,
11223 setarg(4, A, E),
11224 ( F==not_stored_yet
11225 -> A=suspension(_, _, _, _, _, G),
11226 term_variables(G, H),
11227 'chr none_locked'(H),
11228 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11229 I),
11230 J=[A|I],
11231 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11232 J),
11233 ( I=[K|_]
11234 -> setarg(5, K, J)
11235 ; true
11236 )
11237 ),
11238 'attach_known/1_1_$special_float/1___1'(H, A)
11239 ; true
11240 ),
11241 'known/1_1_$special_number/1'(B),
11242 ( A=suspension(_, active, _, E, _, _)
11243 -> setarg(2, A, inactive),
11244 'known/1_1_$special_float/1___1__1'(B, A)
11245 ; true
11246 )
11247 ; 'known/1_1_$special_float/1___1__1'(B, A)
11248 ).
11249'known/1_1_$special_float/1___1__1'(A, N) :-
11250 ( 'chr newvia_1'(A, B)
11251 -> get_attr(B, guard_entailment, C),
11252 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
11253 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
11254 D)
11255 ),
11256 member(E, D),
11257 E=suspension(_, active, _, _, F),
11258 nonvar(F),
11259 F=float(G),
11260 G==A,
11261 !,
11262 E=suspension(_, _, _, _, H),
11263 setarg(2, E, removed),
11264 term_variables(H, M),
11265 arg(4, E, I),
11266 ( var(I)
11267 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
11268 J),
11269 J=[_|K],
11270 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
11271 K),
11272 ( K=[L|_]
11273 -> setarg(4, L, _)
11274 ; true
11275 )
11276 ; I=[_, _|K],
11277 setarg(2, I, K),
11278 ( K=[L|_]
11279 -> setarg(4, L, I)
11280 ; true
11281 )
11282 ),
11283 'detach_known/1_1_$special_\\+/1___1'(M, E),
11284 ( var(N)
11285 -> true
11286 ; N=suspension(_, O, _, _, _, P),
11287 setarg(2, N, removed),
11288 ( O==not_stored_yet
11289 -> Q=[]
11290 ; term_variables(P, Q),
11291 ( arg(5, N, R),
11292 ( var(R)
11293 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11294 S),
11295 S=[_|T],
11296 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11297 T),
11298 ( T=[U|_]
11299 -> setarg(5, U, _)
11300 ; true
11301 )
11302 ; R=[_, _|T],
11303 setarg(2, R, T),
11304 ( T=[U|_]
11305 -> setarg(5, U, R)
11306 ; true
11307 )
11308 )
11309 ),
11310 'detach_known/1_1_$special_float/1___1'(Q, N)
11311 )
11312 ),
11313 'known/1_1_$special_fail/0'.
11314'known/1_1_$special_float/1___1__1'(A, E) :-
11315 ( 'chr newvia_1'(A, B)
11316 -> get_attr(B, guard_entailment, C),
11317 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
11318 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11319 D)
11320 ),
11321 !,
11322 'known/1_1_$special_float/1___1__1__0__8'(D, A, E).
11323'known/1_1_$special_float/1___1__1__0__8'([], A, B) :-
11324 'known/1_1_$special_float/1___1__2'(A, B).
11325'known/1_1_$special_float/1___1__1__0__8'([A|W], E, M) :-
11326 ( A=suspension(_, active, _, _, B, V),
11327 nonvar(B),
11328 B=(\+C),
11329 nonvar(C),
11330 C=float(D),
11331 D==E
11332 -> ( A=suspension(_, _, _, _, F, G),
11333 setarg(2, A, removed),
11334 term_variables(term(F, G), L),
11335 ( arg(4, A, H),
11336 ( var(H)
11337 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11338 I),
11339 I=[_|J],
11340 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11341 J),
11342 ( J=[K|_]
11343 -> setarg(4, K, _)
11344 ; true
11345 )
11346 ; H=[_, _|J],
11347 setarg(2, H, J),
11348 ( J=[K|_]
11349 -> setarg(4, K, H)
11350 ; true
11351 )
11352 )
11353 ),
11354 'detach_known/1_1_$special_;/2___2'(L, A)
11355 ),
11356 ( arg(2, M, P),
11357 setarg(2, M, active),
11358 ( arg(4, M, N),
11359 O is N+1,
11360 setarg(4, M, O)
11361 ),
11362 ( P==not_stored_yet
11363 -> M=suspension(_, _, _, _, _, Q),
11364 term_variables(Q, R),
11365 'chr none_locked'(R),
11366 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11367 S),
11368 T=[M|S],
11369 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11370 T),
11371 ( S=[U|_]
11372 -> setarg(5, U, T)
11373 ; true
11374 )
11375 ),
11376 'attach_known/1_1_$special_float/1___1'(R, M)
11377 ; true
11378 )
11379 ),
11380 known(V),
11381 ( M=suspension(_, active, _, O, _, _)
11382 -> setarg(2, M, inactive),
11383 'known/1_1_$special_float/1___1__1__0__8'(W, E, M)
11384 ; true
11385 )
11386 ; 'known/1_1_$special_float/1___1__1__0__8'(W, E, M)
11387 ).
11388'known/1_1_$special_float/1___1__1'(A, B) :-
11389 'known/1_1_$special_float/1___1__2'(A, B).
11390'known/1_1_$special_float/1___1__2'(A, E) :-
11391 ( 'chr newvia_1'(A, B)
11392 -> get_attr(B, guard_entailment, C),
11393 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
11394 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11395 D)
11396 ),
11397 !,
11398 'known/1_1_$special_float/1___1__2__0__9'(D, A, E).
11399'known/1_1_$special_float/1___1__2__0__9'([], A, B) :-
11400 'known/1_1_$special_float/1___1__3'(A, B).
11401'known/1_1_$special_float/1___1__2__0__9'([A|X], F, N) :-
11402 ( A=suspension(_, active, _, _, B, W),
11403 nonvar(B),
11404 B=(C, _),
11405 nonvar(C),
11406 C=(\+D),
11407 nonvar(D),
11408 D=float(E),
11409 E==F
11410 -> ( A=suspension(_, _, _, _, G, H),
11411 setarg(2, A, removed),
11412 term_variables(term(G, H), M),
11413 ( arg(4, A, I),
11414 ( var(I)
11415 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11416 J),
11417 J=[_|K],
11418 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11419 K),
11420 ( K=[L|_]
11421 -> setarg(4, L, _)
11422 ; true
11423 )
11424 ; I=[_, _|K],
11425 setarg(2, I, K),
11426 ( K=[L|_]
11427 -> setarg(4, L, I)
11428 ; true
11429 )
11430 )
11431 ),
11432 'detach_known/1_1_$special_;/2___2'(M, A)
11433 ),
11434 ( arg(2, N, Q),
11435 setarg(2, N, active),
11436 ( arg(4, N, O),
11437 P is O+1,
11438 setarg(4, N, P)
11439 ),
11440 ( Q==not_stored_yet
11441 -> N=suspension(_, _, _, _, _, R),
11442 term_variables(R, S),
11443 'chr none_locked'(S),
11444 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11445 T),
11446 U=[N|T],
11447 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11448 U),
11449 ( T=[V|_]
11450 -> setarg(5, V, U)
11451 ; true
11452 )
11453 ),
11454 'attach_known/1_1_$special_float/1___1'(S, N)
11455 ; true
11456 )
11457 ),
11458 known(W),
11459 ( N=suspension(_, active, _, P, _, _)
11460 -> setarg(2, N, inactive),
11461 'known/1_1_$special_float/1___1__2__0__9'(X, F, N)
11462 ; true
11463 )
11464 ; 'known/1_1_$special_float/1___1__2__0__9'(X, F, N)
11465 ).
11466'known/1_1_$special_float/1___1__2'(A, B) :-
11467 'known/1_1_$special_float/1___1__3'(A, B).
11468'known/1_1_$special_float/1___1__3'(_, A) :-
11469 arg(2, A, D),
11470 setarg(2, A, active),
11471 arg(4, A, B),
11472 C is B+1,
11473 setarg(4, A, C),
11474 ( D==not_stored_yet
11475 -> A=suspension(_, _, _, _, _, E),
11476 term_variables(E, F),
11477 'chr none_locked'(F),
11478 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11479 G),
11480 H=[A|G],
11481 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
11482 H),
11483 ( G=[I|_]
11484 -> setarg(5, I, H)
11485 ; true
11486 )
11487 ),
11488 'attach_known/1_1_$special_float/1___1'(F, A)
11489 ; true
11490 ).
11491'known/1_1_$special_number/1'(A) :-
11492 'known/1_1_$special_number/1___1__0'(A, _).
11493'known/1_1_$special_number/1___1__0'(A, G) :-
11494 ( 'chr newvia_1'(A, B)
11495 -> get_attr(B, guard_entailment, C),
11496 C=v(_, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _)
11497 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11498 D)
11499 ),
11500 member(E, D),
11501 E=suspension(_, active, _, _, _, F),
11502 F==A,
11503 !,
11504 ( var(G)
11505 -> true
11506 ; G=suspension(_, H, _, _, _, I),
11507 setarg(2, G, removed),
11508 ( H==not_stored_yet
11509 -> J=[]
11510 ; term_variables(I, J),
11511 ( arg(5, G, K),
11512 ( var(K)
11513 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11514 L),
11515 L=[_|M],
11516 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11517 M),
11518 ( M=[N|_]
11519 -> setarg(5, N, _)
11520 ; true
11521 )
11522 ; K=[_, _|M],
11523 setarg(2, K, M),
11524 ( M=[N|_]
11525 -> setarg(5, N, K)
11526 ; true
11527 )
11528 )
11529 ),
11530 'detach_known/1_1_$special_number/1___1'(J, G)
11531 )
11532 ).
11533'known/1_1_$special_number/1___1__0'(_, C) :-
11534 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
11535 A),
11536 member(B, A),
11537 B=suspension(_, active, _),
11538 !,
11539 ( var(C)
11540 -> true
11541 ; C=suspension(_, D, _, _, _, E),
11542 setarg(2, C, removed),
11543 ( D==not_stored_yet
11544 -> F=[]
11545 ; term_variables(E, F),
11546 ( arg(5, C, G),
11547 ( var(G)
11548 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11549 H),
11550 H=[_|I],
11551 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11552 I),
11553 ( I=[J|_]
11554 -> setarg(5, J, _)
11555 ; true
11556 )
11557 ; G=[_, _|I],
11558 setarg(2, G, I),
11559 ( I=[J|_]
11560 -> setarg(5, J, G)
11561 ; true
11562 )
11563 )
11564 ),
11565 'detach_known/1_1_$special_number/1___1'(F, C)
11566 )
11567 ).
11568'known/1_1_$special_number/1___1__0'(A, B) :-
11569 nonvar(A),
11570 \+ number(A),
11571 !,
11572 ( var(B)
11573 -> true
11574 ; B=suspension(_, C, _, _, _, D),
11575 setarg(2, B, removed),
11576 ( C==not_stored_yet
11577 -> E=[]
11578 ; term_variables(D, E),
11579 ( arg(5, B, F),
11580 ( var(F)
11581 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11582 G),
11583 G=[_|H],
11584 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11585 H),
11586 ( H=[I|_]
11587 -> setarg(5, I, _)
11588 ; true
11589 )
11590 ; F=[_, _|H],
11591 setarg(2, F, H),
11592 ( H=[I|_]
11593 -> setarg(5, I, F)
11594 ; true
11595 )
11596 )
11597 ),
11598 'detach_known/1_1_$special_number/1___1'(E, B)
11599 )
11600 ),
11601 'known/1_1_$special_fail/0'.
11602'known/1_1_$special_number/1___1__0'(A, N) :-
11603 ( 'chr newvia_1'(A, B)
11604 -> get_attr(B, guard_entailment, C),
11605 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
11606 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
11607 D)
11608 ),
11609 member(E, D),
11610 E=suspension(_, active, _, _, F),
11611 nonvar(F),
11612 F=number(G),
11613 G==A,
11614 !,
11615 E=suspension(_, _, _, _, H),
11616 setarg(2, E, removed),
11617 term_variables(H, M),
11618 arg(4, E, I),
11619 ( var(I)
11620 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
11621 J),
11622 J=[_|K],
11623 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
11624 K),
11625 ( K=[L|_]
11626 -> setarg(4, L, _)
11627 ; true
11628 )
11629 ; I=[_, _|K],
11630 setarg(2, I, K),
11631 ( K=[L|_]
11632 -> setarg(4, L, I)
11633 ; true
11634 )
11635 ),
11636 'detach_known/1_1_$special_\\+/1___1'(M, E),
11637 ( var(N)
11638 -> true
11639 ; N=suspension(_, O, _, _, _, P),
11640 setarg(2, N, removed),
11641 ( O==not_stored_yet
11642 -> Q=[]
11643 ; term_variables(P, Q),
11644 ( arg(5, N, R),
11645 ( var(R)
11646 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11647 S),
11648 S=[_|T],
11649 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11650 T),
11651 ( T=[U|_]
11652 -> setarg(5, U, _)
11653 ; true
11654 )
11655 ; R=[_, _|T],
11656 setarg(2, R, T),
11657 ( T=[U|_]
11658 -> setarg(5, U, R)
11659 ; true
11660 )
11661 )
11662 ),
11663 'detach_known/1_1_$special_number/1___1'(Q, N)
11664 )
11665 ),
11666 'known/1_1_$special_fail/0'.
11667'known/1_1_$special_number/1___1__0'(B, A) :-
11668 ( var(A)
11669 -> A=suspension(C, not_stored_yet, t, 0, _, B),
11670 'chr gen_id'(C)
11671 ; true
11672 ),
11673 ( '$novel_production'(A, 238),
11674 !,
11675 '$extend_history'(A, 238),
11676 arg(2, A, F),
11677 setarg(2, A, active),
11678 arg(4, A, D),
11679 E is D+1,
11680 setarg(4, A, E),
11681 ( F==not_stored_yet
11682 -> A=suspension(_, _, _, _, _, G),
11683 term_variables(G, H),
11684 'chr none_locked'(H),
11685 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11686 I),
11687 J=[A|I],
11688 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11689 J),
11690 ( I=[K|_]
11691 -> setarg(5, K, J)
11692 ; true
11693 )
11694 ),
11695 'attach_known/1_1_$special_number/1___1'(H, A)
11696 ; true
11697 ),
11698 'known/1_1_$special_nonvar/1'(B),
11699 ( A=suspension(_, active, _, E, _, _)
11700 -> setarg(2, A, inactive),
11701 'known/1_1_$special_number/1___1__1'(B, A)
11702 ; true
11703 )
11704 ; 'known/1_1_$special_number/1___1__1'(B, A)
11705 ).
11706'known/1_1_$special_number/1___1__1'(A, E) :-
11707 ( 'chr newvia_1'(A, B)
11708 -> get_attr(B, guard_entailment, C),
11709 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
11710 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11711 D)
11712 ),
11713 !,
11714 'known/1_1_$special_number/1___1__1__0__8'(D, A, E).
11715'known/1_1_$special_number/1___1__1__0__8'([], A, B) :-
11716 'known/1_1_$special_number/1___1__2'(A, B).
11717'known/1_1_$special_number/1___1__1__0__8'([A|W], E, M) :-
11718 ( A=suspension(_, active, _, _, B, V),
11719 nonvar(B),
11720 B=(\+C),
11721 nonvar(C),
11722 C=number(D),
11723 D==E
11724 -> ( A=suspension(_, _, _, _, F, G),
11725 setarg(2, A, removed),
11726 term_variables(term(F, G), L),
11727 ( arg(4, A, H),
11728 ( var(H)
11729 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11730 I),
11731 I=[_|J],
11732 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11733 J),
11734 ( J=[K|_]
11735 -> setarg(4, K, _)
11736 ; true
11737 )
11738 ; H=[_, _|J],
11739 setarg(2, H, J),
11740 ( J=[K|_]
11741 -> setarg(4, K, H)
11742 ; true
11743 )
11744 )
11745 ),
11746 'detach_known/1_1_$special_;/2___2'(L, A)
11747 ),
11748 ( arg(2, M, P),
11749 setarg(2, M, active),
11750 ( arg(4, M, N),
11751 O is N+1,
11752 setarg(4, M, O)
11753 ),
11754 ( P==not_stored_yet
11755 -> M=suspension(_, _, _, _, _, Q),
11756 term_variables(Q, R),
11757 'chr none_locked'(R),
11758 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11759 S),
11760 T=[M|S],
11761 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11762 T),
11763 ( S=[U|_]
11764 -> setarg(5, U, T)
11765 ; true
11766 )
11767 ),
11768 'attach_known/1_1_$special_number/1___1'(R, M)
11769 ; true
11770 )
11771 ),
11772 known(V),
11773 ( M=suspension(_, active, _, O, _, _)
11774 -> setarg(2, M, inactive),
11775 'known/1_1_$special_number/1___1__1__0__8'(W,
11776 E,
11777 M)
11778 ; true
11779 )
11780 ; 'known/1_1_$special_number/1___1__1__0__8'(W, E, M)
11781 ).
11782'known/1_1_$special_number/1___1__1'(A, B) :-
11783 'known/1_1_$special_number/1___1__2'(A, B).
11784'known/1_1_$special_number/1___1__2'(A, E) :-
11785 ( 'chr newvia_1'(A, B)
11786 -> get_attr(B, guard_entailment, C),
11787 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
11788 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11789 D)
11790 ),
11791 !,
11792 'known/1_1_$special_number/1___1__2__0__9'(D, A, E).
11793'known/1_1_$special_number/1___1__2__0__9'([], A, B) :-
11794 'known/1_1_$special_number/1___1__3'(A, B).
11795'known/1_1_$special_number/1___1__2__0__9'([A|X], F, N) :-
11796 ( A=suspension(_, active, _, _, B, W),
11797 nonvar(B),
11798 B=(C, _),
11799 nonvar(C),
11800 C=(\+D),
11801 nonvar(D),
11802 D=number(E),
11803 E==F
11804 -> ( A=suspension(_, _, _, _, G, H),
11805 setarg(2, A, removed),
11806 term_variables(term(G, H), M),
11807 ( arg(4, A, I),
11808 ( var(I)
11809 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11810 J),
11811 J=[_|K],
11812 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
11813 K),
11814 ( K=[L|_]
11815 -> setarg(4, L, _)
11816 ; true
11817 )
11818 ; I=[_, _|K],
11819 setarg(2, I, K),
11820 ( K=[L|_]
11821 -> setarg(4, L, I)
11822 ; true
11823 )
11824 )
11825 ),
11826 'detach_known/1_1_$special_;/2___2'(M, A)
11827 ),
11828 ( arg(2, N, Q),
11829 setarg(2, N, active),
11830 ( arg(4, N, O),
11831 P is O+1,
11832 setarg(4, N, P)
11833 ),
11834 ( Q==not_stored_yet
11835 -> N=suspension(_, _, _, _, _, R),
11836 term_variables(R, S),
11837 'chr none_locked'(S),
11838 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11839 T),
11840 U=[N|T],
11841 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11842 U),
11843 ( T=[V|_]
11844 -> setarg(5, V, U)
11845 ; true
11846 )
11847 ),
11848 'attach_known/1_1_$special_number/1___1'(S, N)
11849 ; true
11850 )
11851 ),
11852 known(W),
11853 ( N=suspension(_, active, _, P, _, _)
11854 -> setarg(2, N, inactive),
11855 'known/1_1_$special_number/1___1__2__0__9'(X,
11856 F,
11857 N)
11858 ; true
11859 )
11860 ; 'known/1_1_$special_number/1___1__2__0__9'(X, F, N)
11861 ).
11862'known/1_1_$special_number/1___1__2'(A, B) :-
11863 'known/1_1_$special_number/1___1__3'(A, B).
11864'known/1_1_$special_number/1___1__3'(_, A) :-
11865 arg(2, A, D),
11866 setarg(2, A, active),
11867 arg(4, A, B),
11868 C is B+1,
11869 setarg(4, A, C),
11870 ( D==not_stored_yet
11871 -> A=suspension(_, _, _, _, _, E),
11872 term_variables(E, F),
11873 'chr none_locked'(F),
11874 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11875 G),
11876 H=[A|G],
11877 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
11878 H),
11879 ( G=[I|_]
11880 -> setarg(5, I, H)
11881 ; true
11882 )
11883 ),
11884 'attach_known/1_1_$special_number/1___1'(F, A)
11885 ; true
11886 ).
11887'known/1_1_$special_=\\=/2'(A, B) :-
11888 'known/1_1_$special_=\\=/2___2__0'(A, B, _).
11889'known/1_1_$special_=\\=/2___2__0'(A, B, I) :-
11890 ( 'chr newvia_2'(A, B, C)
11891 -> get_attr(C, guard_entailment, D),
11892 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _, _)
11893 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11894 E)
11895 ),
11896 member(F, E),
11897 F=suspension(_, active, _, _, _, G, H),
11898 G==A,
11899 H==B,
11900 !,
11901 ( var(I)
11902 -> true
11903 ; I=suspension(_, J, _, _, _, K, L),
11904 setarg(2, I, removed),
11905 ( J==not_stored_yet
11906 -> M=[]
11907 ; term_variables(term(K, L), M),
11908 ( arg(5, I, N),
11909 ( var(N)
11910 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11911 O),
11912 O=[_|P],
11913 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11914 P),
11915 ( P=[Q|_]
11916 -> setarg(5, Q, _)
11917 ; true
11918 )
11919 ; N=[_, _|P],
11920 setarg(2, N, P),
11921 ( P=[Q|_]
11922 -> setarg(5, Q, N)
11923 ; true
11924 )
11925 )
11926 ),
11927 'detach_known/1_1_$special_=\\=/2___2'(M, I)
11928 )
11929 ).
11930'known/1_1_$special_=\\=/2___2__0'(_, _, C) :-
11931 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
11932 A),
11933 member(B, A),
11934 B=suspension(_, active, _),
11935 !,
11936 ( var(C)
11937 -> true
11938 ; C=suspension(_, D, _, _, _, E, F),
11939 setarg(2, C, removed),
11940 ( D==not_stored_yet
11941 -> G=[]
11942 ; term_variables(term(E, F), G),
11943 ( arg(5, C, H),
11944 ( var(H)
11945 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11946 I),
11947 I=[_|J],
11948 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11949 J),
11950 ( J=[K|_]
11951 -> setarg(5, K, _)
11952 ; true
11953 )
11954 ; H=[_, _|J],
11955 setarg(2, H, J),
11956 ( J=[K|_]
11957 -> setarg(5, K, H)
11958 ; true
11959 )
11960 )
11961 ),
11962 'detach_known/1_1_$special_=\\=/2___2'(G, C)
11963 )
11964 ).
11965'known/1_1_$special_=\\=/2___2__0'(F, A, E) :-
11966 ( 'chr newvia_1'(A, B)
11967 -> get_attr(B, guard_entailment, C),
11968 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _)
11969 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
11970 D)
11971 ),
11972 !,
11973 ( var(E)
11974 -> E=suspension(G, not_stored_yet, t, 0, _, F, A),
11975 'chr gen_id'(G)
11976 ; true
11977 ),
11978 'known/1_1_$special_=\\=/2___2__0__0__5'(D, F, A, E).
11979'known/1_1_$special_=\\=/2___2__0__0__5'([], A, B, C) :-
11980 'known/1_1_$special_=\\=/2___2__1'(A, B, C).
11981'known/1_1_$special_=\\=/2___2__0__0__5'([A|H], I, C, J) :-
11982 ( ( A=suspension(_, active, _, _, _, B, D),
11983 B==C
11984 ),
11985 ( 'chr newvia_2'(C, D, E)
11986 -> get_attr(E, guard_entailment, F),
11987 F=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, G, _)
11988 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
11989 G)
11990 )
11991 -> 'known/1_1_$special_=\\=/2___2__0__1__5'(G,
11992 D,
11993 A,
11994 H,
11995 I,
11996 C,
11997 J)
11998 ; 'known/1_1_$special_=\\=/2___2__0__0__5'(H, I, C, J)
11999 ).
12000'known/1_1_$special_=\\=/2___2__0__1__5'([], _, _, A, B, C, D) :-
12001 'known/1_1_$special_=\\=/2___2__0__0__5'(A, B, C, D).
12002'known/1_1_$special_=\\=/2___2__0__1__5'([A|J], E, K, L, F, C, M) :-
12003 ( ( A=suspension(_, active, _, _, _, B, D),
12004 B==C,
12005 D==E
12006 ),
12007 ( 'chr newvia_2'(F, C, G)
12008 -> get_attr(G, guard_entailment, H),
12009 H=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, I, _)
12010 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
12011 I)
12012 )
12013 -> 'known/1_1_$special_=\\=/2___2__0__2__5'(I,
12014 A,
12015 J,
12016 E,
12017 K,
12018 L,
12019 F,
12020 C,
12021 M)
12022 ; 'known/1_1_$special_=\\=/2___2__0__1__5'(J,
12023 E,
12024 K,
12025 L,
12026 F,
12027 C,
12028 M)
12029 ).
12030'known/1_1_$special_=\\=/2___2__0__2__5'([], _, A, B, C, D, E, F, G) :-
12031 'known/1_1_$special_=\\=/2___2__0__1__5'(A,
12032 B,
12033 C,
12034 D,
12035 E,
12036 F,
12037 G).
12038'known/1_1_$special_=\\=/2___2__0__2__5'([A|T], B, U, S, H, V, D, F, G) :-
12039 ( A=suspension(_, active, _, _, _, C, E),
12040 A\==B,
12041 ( C==D,
12042 E==F
12043 ),
12044 I=t(188, A, G, B, H),
12045 '$novel_production'(A, I),
12046 '$novel_production'(G, I),
12047 '$novel_production'(B, I),
12048 '$novel_production'(H, I)
12049 -> '$extend_history'(G, I),
12050 ( arg(2, G, L),
12051 setarg(2, G, active),
12052 ( arg(4, G, J),
12053 K is J+1,
12054 setarg(4, G, K)
12055 ),
12056 ( L==not_stored_yet
12057 -> G=suspension(_, _, _, _, _, M, N),
12058 term_variables(term(M, N), O),
12059 'chr none_locked'(O),
12060 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12061 P),
12062 Q=[G|P],
12063 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12064 Q),
12065 ( P=[R|_]
12066 -> setarg(5, R, Q)
12067 ; true
12068 )
12069 ),
12070 'attach_known/1_1_$special_=\\=/2___2'(O, G)
12071 ; true
12072 )
12073 ),
12074 'known/1_1_$special_=\\=/2'(D, S),
12075 ( G=suspension(_, active, _, K, _, _, _)
12076 -> setarg(2, G, inactive),
12077 'known/1_1_$special_=\\=/2___2__0__2__5'(T,
12078 B,
12079 U,
12080 S,
12081 H,
12082 V,
12083 D,
12084 F,
12085 G)
12086 ; true
12087 )
12088 ; 'known/1_1_$special_=\\=/2___2__0__2__5'(T,
12089 B,
12090 U,
12091 S,
12092 H,
12093 V,
12094 D,
12095 F,
12096 G)
12097 ).
12098'known/1_1_$special_=\\=/2___2__0'(B, C, A) :-
12099 ( var(A)
12100 -> A=suspension(D, not_stored_yet, t, 0, _, B, C),
12101 'chr gen_id'(D)
12102 ; true
12103 ),
12104 'known/1_1_$special_=\\=/2___2__1'(B, C, A).
12105'known/1_1_$special_=\\=/2___2__1'(A, E, F) :-
12106 ( 'chr newvia_1'(A, B)
12107 -> get_attr(B, guard_entailment, C),
12108 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _)
12109 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
12110 D)
12111 ),
12112 !,
12113 'known/1_1_$special_=\\=/2___2__1__0__6'(D, A, E, F).
12114'known/1_1_$special_=\\=/2___2__1__0__6'([], A, B, C) :-
12115 'known/1_1_$special_=\\=/2___2__2'(A, B, C).
12116'known/1_1_$special_=\\=/2___2__1__0__6'([A|I], C, D, J) :-
12117 ( ( A=suspension(_, active, _, _, _, H, B),
12118 B==C
12119 ),
12120 ( 'chr newvia_2'(C, D, E)
12121 -> get_attr(E, guard_entailment, F),
12122 F=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, G, _)
12123 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
12124 G)
12125 )
12126 -> 'known/1_1_$special_=\\=/2___2__1__1__6'(G,
12127 H,
12128 A,
12129 I,
12130 C,
12131 D,
12132 J)
12133 ; 'known/1_1_$special_=\\=/2___2__1__0__6'(I, C, D, J)
12134 ).
12135'known/1_1_$special_=\\=/2___2__1__1__6'([], _, _, A, B, C, D) :-
12136 'known/1_1_$special_=\\=/2___2__1__0__6'(A, B, C, D).
12137'known/1_1_$special_=\\=/2___2__1__1__6'([A|K], G, B, L, D, F, M) :-
12138 ( ( A=suspension(_, active, _, _, _, C, E),
12139 A\==B,
12140 C==D,
12141 E==F
12142 ),
12143 ( 'chr newvia_2'(G, D, H)
12144 -> get_attr(H, guard_entailment, I),
12145 I=v(_, _, _, _, _, _, _, _, _, _, _, _, _, J, _, _, _, _, _, _, _, _)
12146 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12147 J)
12148 )
12149 -> 'known/1_1_$special_=\\=/2___2__1__2__6'(J,
12150 A,
12151 K,
12152 G,
12153 B,
12154 L,
12155 D,
12156 F,
12157 M)
12158 ; 'known/1_1_$special_=\\=/2___2__1__1__6'(K,
12159 G,
12160 B,
12161 L,
12162 D,
12163 F,
12164 M)
12165 ).
12166'known/1_1_$special_=\\=/2___2__1__2__6'([], _, A, B, C, D, E, F, G) :-
12167 'known/1_1_$special_=\\=/2___2__1__1__6'(A,
12168 B,
12169 C,
12170 D,
12171 E,
12172 F,
12173 G).
12174'known/1_1_$special_=\\=/2___2__1__2__6'([A|T], G, U, C, F, V, E, S, H) :-
12175 ( A=suspension(_, active, _, _, _, B, D),
12176 ( B==C,
12177 D==E
12178 ),
12179 I=t(188, F, A, G, H),
12180 '$novel_production'(F, I),
12181 '$novel_production'(A, I),
12182 '$novel_production'(G, I),
12183 '$novel_production'(H, I)
12184 -> '$extend_history'(H, I),
12185 ( arg(2, H, L),
12186 setarg(2, H, active),
12187 ( arg(4, H, J),
12188 K is J+1,
12189 setarg(4, H, K)
12190 ),
12191 ( L==not_stored_yet
12192 -> H=suspension(_, _, _, _, _, M, N),
12193 term_variables(term(M, N), O),
12194 'chr none_locked'(O),
12195 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12196 P),
12197 Q=[H|P],
12198 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12199 Q),
12200 ( P=[R|_]
12201 -> setarg(5, R, Q)
12202 ; true
12203 )
12204 ),
12205 'attach_known/1_1_$special_=\\=/2___2'(O, H)
12206 ; true
12207 )
12208 ),
12209 'known/1_1_$special_=\\=/2'(C, S),
12210 ( H=suspension(_, active, _, K, _, _, _)
12211 -> setarg(2, H, inactive),
12212 'known/1_1_$special_=\\=/2___2__1__2__6'(T,
12213 G,
12214 U,
12215 C,
12216 F,
12217 V,
12218 E,
12219 S,
12220 H)
12221 ; true
12222 )
12223 ; 'known/1_1_$special_=\\=/2___2__1__2__6'(T,
12224 G,
12225 U,
12226 C,
12227 F,
12228 V,
12229 E,
12230 S,
12231 H)
12232 ).
12233'known/1_1_$special_=\\=/2___2__1'(A, B, C) :-
12234 'known/1_1_$special_=\\=/2___2__2'(A, B, C).
12235'known/1_1_$special_=\\=/2___2__2'(B, A, C) :-
12236 number(A),
12237 number(B),
12238 B=:=A,
12239 !,
12240 ( var(C)
12241 -> true
12242 ; C=suspension(_, D, _, _, _, E, F),
12243 setarg(2, C, removed),
12244 ( D==not_stored_yet
12245 -> G=[]
12246 ; term_variables(term(E, F), G),
12247 ( arg(5, C, H),
12248 ( var(H)
12249 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12250 I),
12251 I=[_|J],
12252 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12253 J),
12254 ( J=[K|_]
12255 -> setarg(5, K, _)
12256 ; true
12257 )
12258 ; H=[_, _|J],
12259 setarg(2, H, J),
12260 ( J=[K|_]
12261 -> setarg(5, K, H)
12262 ; true
12263 )
12264 )
12265 ),
12266 'detach_known/1_1_$special_=\\=/2___2'(G, C)
12267 )
12268 ),
12269 'known/1_1_$special_fail/0'.
12270'known/1_1_$special_=\\=/2___2__2'(B, A, C) :-
12271 A==B,
12272 !,
12273 ( var(C)
12274 -> true
12275 ; C=suspension(_, D, _, _, _, E, F),
12276 setarg(2, C, removed),
12277 ( D==not_stored_yet
12278 -> G=[]
12279 ; term_variables(term(E, F), G),
12280 ( arg(5, C, H),
12281 ( var(H)
12282 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12283 I),
12284 I=[_|J],
12285 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12286 J),
12287 ( J=[K|_]
12288 -> setarg(5, K, _)
12289 ; true
12290 )
12291 ; H=[_, _|J],
12292 setarg(2, H, J),
12293 ( J=[K|_]
12294 -> setarg(5, K, H)
12295 ; true
12296 )
12297 )
12298 ),
12299 'detach_known/1_1_$special_=\\=/2___2'(G, C)
12300 )
12301 ),
12302 'known/1_1_$special_fail/0'.
12303'known/1_1_$special_=\\=/2___2__2'(A, B, P) :-
12304 ( 'chr newvia_2'(A, B, C)
12305 -> get_attr(C, guard_entailment, D),
12306 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E)
12307 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
12308 E)
12309 ),
12310 member(F, E),
12311 F=suspension(_, active, _, _, _, G, H),
12312 G==A,
12313 H==B,
12314 !,
12315 F=suspension(_, _, _, _, _, I, J),
12316 setarg(2, F, removed),
12317 term_variables(term(I, J), O),
12318 arg(5, F, K),
12319 ( var(K)
12320 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
12321 L),
12322 L=[_|M],
12323 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
12324 M),
12325 ( M=[N|_]
12326 -> setarg(5, N, _)
12327 ; true
12328 )
12329 ; K=[_, _|M],
12330 setarg(2, K, M),
12331 ( M=[N|_]
12332 -> setarg(5, N, K)
12333 ; true
12334 )
12335 ),
12336 'detach_known/1_1_$special_=:=/2___2'(O, F),
12337 ( var(P)
12338 -> true
12339 ; P=suspension(_, Q, _, _, _, R, S),
12340 setarg(2, P, removed),
12341 ( Q==not_stored_yet
12342 -> T=[]
12343 ; term_variables(term(R, S), T),
12344 ( arg(5, P, U),
12345 ( var(U)
12346 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12347 V),
12348 V=[_|W],
12349 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12350 W),
12351 ( W=[X|_]
12352 -> setarg(5, X, _)
12353 ; true
12354 )
12355 ; U=[_, _|W],
12356 setarg(2, U, W),
12357 ( W=[X|_]
12358 -> setarg(5, X, U)
12359 ; true
12360 )
12361 )
12362 ),
12363 'detach_known/1_1_$special_=\\=/2___2'(T, P)
12364 )
12365 ),
12366 'known/1_1_$special_fail/0'.
12367'known/1_1_$special_=\\=/2___2__2'(L, K, A) :-
12368 '$novel_production'(A, 195),
12369 !,
12370 '$extend_history'(A, 195),
12371 arg(2, A, D),
12372 setarg(2, A, active),
12373 arg(4, A, B),
12374 C is B+1,
12375 setarg(4, A, C),
12376 ( D==not_stored_yet
12377 -> A=suspension(_, _, _, _, _, E, F),
12378 term_variables(term(E, F), G),
12379 'chr none_locked'(G),
12380 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12381 H),
12382 I=[A|H],
12383 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12384 I),
12385 ( H=[J|_]
12386 -> setarg(5, J, I)
12387 ; true
12388 )
12389 ),
12390 'attach_known/1_1_$special_=\\=/2___2'(G, A)
12391 ; true
12392 ),
12393 'known/1_1_$special_=\\=/2'(K, L),
12394 ( A=suspension(_, active, _, C, _, _, _)
12395 -> setarg(2, A, inactive),
12396 'known/1_1_$special_=\\=/2___2__3'(L, K, A)
12397 ; true
12398 ).
12399'known/1_1_$special_=\\=/2___2__2'(A, B, C) :-
12400 'known/1_1_$special_=\\=/2___2__3'(A, B, C).
12401'known/1_1_$special_=\\=/2___2__3'(A, B, P) :-
12402 ( 'chr newvia_2'(A, B, C)
12403 -> get_attr(C, guard_entailment, D),
12404 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
12405 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12406 E)
12407 ),
12408 member(F, E),
12409 F=suspension(_, active, _, _, G),
12410 nonvar(G),
12411 G=(H=\=I),
12412 H==A,
12413 I==B,
12414 !,
12415 F=suspension(_, _, _, _, J),
12416 setarg(2, F, removed),
12417 term_variables(J, O),
12418 arg(4, F, K),
12419 ( var(K)
12420 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12421 L),
12422 L=[_|M],
12423 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12424 M),
12425 ( M=[N|_]
12426 -> setarg(4, N, _)
12427 ; true
12428 )
12429 ; K=[_, _|M],
12430 setarg(2, K, M),
12431 ( M=[N|_]
12432 -> setarg(4, N, K)
12433 ; true
12434 )
12435 ),
12436 'detach_known/1_1_$special_\\+/1___1'(O, F),
12437 ( var(P)
12438 -> true
12439 ; P=suspension(_, Q, _, _, _, R, S),
12440 setarg(2, P, removed),
12441 ( Q==not_stored_yet
12442 -> T=[]
12443 ; term_variables(term(R, S), T),
12444 ( arg(5, P, U),
12445 ( var(U)
12446 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12447 V),
12448 V=[_|W],
12449 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12450 W),
12451 ( W=[X|_]
12452 -> setarg(5, X, _)
12453 ; true
12454 )
12455 ; U=[_, _|W],
12456 setarg(2, U, W),
12457 ( W=[X|_]
12458 -> setarg(5, X, U)
12459 ; true
12460 )
12461 )
12462 ),
12463 'detach_known/1_1_$special_=\\=/2___2'(T, P)
12464 )
12465 ),
12466 'known/1_1_$special_fail/0'.
12467'known/1_1_$special_=\\=/2___2__3'(A, B, F) :-
12468 ( 'chr newvia_2'(A, B, C)
12469 -> get_attr(C, guard_entailment, D),
12470 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
12471 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12472 E)
12473 ),
12474 !,
12475 'known/1_1_$special_=\\=/2___2__3__0__12'(E, A, B, F).
12476'known/1_1_$special_=\\=/2___2__3__0__12'([], A, B, C) :-
12477 'known/1_1_$special_=\\=/2___2__4'(A, B, C).
12478'known/1_1_$special_=\\=/2___2__3__0__12'([A|Z], E, G, O) :-
12479 ( A=suspension(_, active, _, _, B, Y),
12480 nonvar(B),
12481 B=(\+C),
12482 nonvar(C),
12483 C=(D=\=F),
12484 D==E,
12485 F==G
12486 -> ( A=suspension(_, _, _, _, H, I),
12487 setarg(2, A, removed),
12488 term_variables(term(H, I), N),
12489 ( arg(4, A, J),
12490 ( var(J)
12491 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12492 K),
12493 K=[_|L],
12494 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12495 L),
12496 ( L=[M|_]
12497 -> setarg(4, M, _)
12498 ; true
12499 )
12500 ; J=[_, _|L],
12501 setarg(2, J, L),
12502 ( L=[M|_]
12503 -> setarg(4, M, J)
12504 ; true
12505 )
12506 )
12507 ),
12508 'detach_known/1_1_$special_;/2___2'(N, A)
12509 ),
12510 ( arg(2, O, R),
12511 setarg(2, O, active),
12512 ( arg(4, O, P),
12513 Q is P+1,
12514 setarg(4, O, Q)
12515 ),
12516 ( R==not_stored_yet
12517 -> O=suspension(_, _, _, _, _, S, T),
12518 term_variables(term(S, T), U),
12519 'chr none_locked'(U),
12520 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12521 V),
12522 W=[O|V],
12523 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12524 W),
12525 ( V=[X|_]
12526 -> setarg(5, X, W)
12527 ; true
12528 )
12529 ),
12530 'attach_known/1_1_$special_=\\=/2___2'(U, O)
12531 ; true
12532 )
12533 ),
12534 known(Y),
12535 ( O=suspension(_, active, _, Q, _, _, _)
12536 -> setarg(2, O, inactive),
12537 'known/1_1_$special_=\\=/2___2__3__0__12'(Z,
12538 E,
12539 G,
12540 O)
12541 ; true
12542 )
12543 ; 'known/1_1_$special_=\\=/2___2__3__0__12'(Z,
12544 E,
12545 G,
12546 O)
12547 ).
12548'known/1_1_$special_=\\=/2___2__3'(A, B, C) :-
12549 'known/1_1_$special_=\\=/2___2__4'(A, B, C).
12550'known/1_1_$special_=\\=/2___2__4'(A, B, F) :-
12551 ( 'chr newvia_2'(A, B, C)
12552 -> get_attr(C, guard_entailment, D),
12553 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
12554 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12555 E)
12556 ),
12557 !,
12558 'known/1_1_$special_=\\=/2___2__4__0__13'(E, A, B, F).
12559'known/1_1_$special_=\\=/2___2__4__0__13'([], A, B, C) :-
12560 'known/1_1_$special_=\\=/2___2__5'(A, B, C).
12561'known/1_1_$special_=\\=/2___2__4__0__13'([A|A1], F, H, P) :-
12562 ( A=suspension(_, active, _, _, B, Z),
12563 nonvar(B),
12564 B=(C, _),
12565 nonvar(C),
12566 C=(\+D),
12567 nonvar(D),
12568 D=(E=\=G),
12569 E==F,
12570 G==H
12571 -> ( A=suspension(_, _, _, _, I, J),
12572 setarg(2, A, removed),
12573 term_variables(term(I, J), O),
12574 ( arg(4, A, K),
12575 ( var(K)
12576 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12577 L),
12578 L=[_|M],
12579 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12580 M),
12581 ( M=[N|_]
12582 -> setarg(4, N, _)
12583 ; true
12584 )
12585 ; K=[_, _|M],
12586 setarg(2, K, M),
12587 ( M=[N|_]
12588 -> setarg(4, N, K)
12589 ; true
12590 )
12591 )
12592 ),
12593 'detach_known/1_1_$special_;/2___2'(O, A)
12594 ),
12595 ( arg(2, P, S),
12596 setarg(2, P, active),
12597 ( arg(4, P, Q),
12598 R is Q+1,
12599 setarg(4, P, R)
12600 ),
12601 ( S==not_stored_yet
12602 -> P=suspension(_, _, _, _, _, T, U),
12603 term_variables(term(T, U), V),
12604 'chr none_locked'(V),
12605 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12606 W),
12607 X=[P|W],
12608 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12609 X),
12610 ( W=[Y|_]
12611 -> setarg(5, Y, X)
12612 ; true
12613 )
12614 ),
12615 'attach_known/1_1_$special_=\\=/2___2'(V, P)
12616 ; true
12617 )
12618 ),
12619 known(Z),
12620 ( P=suspension(_, active, _, R, _, _, _)
12621 -> setarg(2, P, inactive),
12622 'known/1_1_$special_=\\=/2___2__4__0__13'(A1,
12623 F,
12624 H,
12625 P)
12626 ; true
12627 )
12628 ; 'known/1_1_$special_=\\=/2___2__4__0__13'(A1,
12629 F,
12630 H,
12631 P)
12632 ).
12633'known/1_1_$special_=\\=/2___2__4'(A, B, C) :-
12634 'known/1_1_$special_=\\=/2___2__5'(A, B, C).
12635'known/1_1_$special_=\\=/2___2__5'(_, _, A) :-
12636 arg(2, A, D),
12637 setarg(2, A, active),
12638 arg(4, A, B),
12639 C is B+1,
12640 setarg(4, A, C),
12641 ( D==not_stored_yet
12642 -> A=suspension(_, _, _, _, _, E, F),
12643 term_variables(term(E, F), G),
12644 'chr none_locked'(G),
12645 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12646 H),
12647 I=[A|H],
12648 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
12649 I),
12650 ( H=[J|_]
12651 -> setarg(5, J, I)
12652 ; true
12653 )
12654 ),
12655 'attach_known/1_1_$special_=\\=/2___2'(G, A)
12656 ; true
12657 ).
12658'known/1_1_$special_\\+/1'(A) :-
12659 'known/1_1_$special_\\+/1___1__0'(A, _).
12660'known/1_1_$special_\\+/1___1__0'(A, G) :-
12661 ( 'chr newvia_1'(A, B)
12662 -> get_attr(B, guard_entailment, C),
12663 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
12664 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12665 D)
12666 ),
12667 member(E, D),
12668 E=suspension(_, active, _, _, F),
12669 F==A,
12670 !,
12671 ( var(G)
12672 -> true
12673 ; G=suspension(_, H, _, _, I),
12674 setarg(2, G, removed),
12675 ( H==not_stored_yet
12676 -> J=[]
12677 ; term_variables(I, J),
12678 ( arg(4, G, K),
12679 ( var(K)
12680 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12681 L),
12682 L=[_|M],
12683 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12684 M),
12685 ( M=[N|_]
12686 -> setarg(4, N, _)
12687 ; true
12688 )
12689 ; K=[_, _|M],
12690 setarg(2, K, M),
12691 ( M=[N|_]
12692 -> setarg(4, N, K)
12693 ; true
12694 )
12695 )
12696 ),
12697 'detach_known/1_1_$special_\\+/1___1'(J, G)
12698 )
12699 ).
12700'known/1_1_$special_\\+/1___1__0'(_, C) :-
12701 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
12702 A),
12703 member(B, A),
12704 B=suspension(_, active, _),
12705 !,
12706 ( var(C)
12707 -> true
12708 ; C=suspension(_, D, _, _, E),
12709 setarg(2, C, removed),
12710 ( D==not_stored_yet
12711 -> F=[]
12712 ; term_variables(E, F),
12713 ( arg(4, C, G),
12714 ( var(G)
12715 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12716 H),
12717 H=[_|I],
12718 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12719 I),
12720 ( I=[J|_]
12721 -> setarg(4, J, _)
12722 ; true
12723 )
12724 ; G=[_, _|I],
12725 setarg(2, G, I),
12726 ( I=[J|_]
12727 -> setarg(4, J, G)
12728 ; true
12729 )
12730 )
12731 ),
12732 'detach_known/1_1_$special_\\+/1___1'(F, C)
12733 )
12734 ).
12735'known/1_1_$special_\\+/1___1__0'(A, E) :-
12736 nonvar(A),
12737 ( ( ( ( ( ( ( ( ( ( ( A=functor(B, C, D),
12738 nonvar(B),
12739 'chr lock'(B),
12740 'chr lock'(C),
12741 'chr lock'(D),
12742 functor(B,
12743 C,
12744 D),
12745 'chr unlock'(B),
12746 'chr unlock'(C),
12747 'chr unlock'(D),
12748 !,
12749 ( var(E)
12750 -> true
12751 ; E=suspension(_, F, _, _, G),
12752 setarg(2, E, removed),
12753 ( F==not_stored_yet
12754 -> H=[]
12755 ; term_variables(G,
12756 H),
12757 ( arg(4,
12758 E,
12759 I),
12760 ( var(I)
12761 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12762 J),
12763 J=[_|K],
12764 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12765 K),
12766 ( K=[L|_]
12767 -> setarg(4,
12768 L,
12769 _)
12770 ; true
12771 )
12772 ; I=[_, _|K],
12773 setarg(2,
12774 I,
12775 K),
12776 ( K=[L|_]
12777 -> setarg(4,
12778 L,
12779 I)
12780 ; true
12781 )
12782 )
12783 ),
12784 'detach_known/1_1_$special_\\+/1___1'(H,
12785 E)
12786 )
12787 ),
12788 'known/1_1_$special_fail/0'
12789 ; A=(M;N),
12790 ( 'chr newvia_2'(M,
12791 N,
12792 O)
12793 -> get_attr(O,
12794 guard_entailment,
12795 P),
12796 P=v(_, _, _, Q, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
12797 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12798 Q)
12799 ),
12800 member(R, Q),
12801 R=suspension(_, active, _, _, S, T),
12802 S==M,
12803 T==N,
12804 !,
12805 R=suspension(_, _, _, _, U, V),
12806 setarg(2, R, removed),
12807 term_variables(term(U,
12808 V),
12809 A1),
12810 arg(4, R, W),
12811 ( var(W)
12812 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12813 X),
12814 X=[_|Y],
12815 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
12816 Y),
12817 ( Y=[Z|_]
12818 -> setarg(4,
12819 Z,
12820 _)
12821 ; true
12822 )
12823 ; W=[_, _|Y],
12824 setarg(2,
12825 W,
12826 Y),
12827 ( Y=[Z|_]
12828 -> setarg(4,
12829 Z,
12830 W)
12831 ; true
12832 )
12833 ),
12834 'detach_known/1_1_$special_;/2___2'(A1,
12835 R),
12836 ( var(E)
12837 -> true
12838 ; E=suspension(_, B1, _, _, C1),
12839 setarg(2, E, removed),
12840 ( B1==not_stored_yet
12841 -> D1=[]
12842 ; term_variables(C1,
12843 D1),
12844 ( arg(4,
12845 E,
12846 E1),
12847 ( var(E1)
12848 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12849 F1),
12850 F1=[_|G1],
12851 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12852 G1),
12853 ( G1=[H1|_]
12854 -> setarg(4,
12855 H1,
12856 _)
12857 ; true
12858 )
12859 ; E1=[_, _|G1],
12860 setarg(2,
12861 E1,
12862 G1),
12863 ( G1=[H1|_]
12864 -> setarg(4,
12865 H1,
12866 E1)
12867 ; true
12868 )
12869 )
12870 ),
12871 'detach_known/1_1_$special_\\+/1___1'(D1,
12872 E)
12873 )
12874 ),
12875 'known/1_1_$special_fail/0'
12876 )
12877 ; A=nonvar(I1),
12878 ( 'chr newvia_1'(I1,
12879 J1)
12880 -> get_attr(J1,
12881 guard_entailment,
12882 K1),
12883 K1=v(_, _, _, _, L1, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
12884 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
12885 L1)
12886 ),
12887 member(M1, L1),
12888 M1=suspension(_, active, _, _, N1),
12889 N1==I1,
12890 !,
12891 M1=suspension(_, _, _, _, O1),
12892 setarg(2, M1, removed),
12893 term_variables(O1, T1),
12894 arg(4, M1, P1),
12895 ( var(P1)
12896 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
12897 Q1),
12898 Q1=[_|R1],
12899 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
12900 R1),
12901 ( R1=[S1|_]
12902 -> setarg(4, S1, _)
12903 ; true
12904 )
12905 ; P1=[_, _|R1],
12906 setarg(2, P1, R1),
12907 ( R1=[S1|_]
12908 -> setarg(4,
12909 S1,
12910 P1)
12911 ; true
12912 )
12913 ),
12914 'detach_known/1_1_$special_nonvar/1___1'(T1,
12915 M1),
12916 ( var(E)
12917 -> true
12918 ; E=suspension(_, U1, _, _, V1),
12919 setarg(2, E, removed),
12920 ( U1==not_stored_yet
12921 -> W1=[]
12922 ; term_variables(V1,
12923 W1),
12924 ( arg(4, E, X1),
12925 ( var(X1)
12926 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12927 Y1),
12928 Y1=[_|Z1],
12929 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
12930 Z1),
12931 ( Z1=[A2|_]
12932 -> setarg(4,
12933 A2,
12934 _)
12935 ; true
12936 )
12937 ; X1=[_, _|Z1],
12938 setarg(2,
12939 X1,
12940 Z1),
12941 ( Z1=[A2|_]
12942 -> setarg(4,
12943 A2,
12944 X1)
12945 ; true
12946 )
12947 )
12948 ),
12949 'detach_known/1_1_$special_\\+/1___1'(W1,
12950 E)
12951 )
12952 ),
12953 'known/1_1_$special_fail/0'
12954 )
12955 ; A=var(B2),
12956 ( 'chr newvia_1'(B2, C2)
12957 -> get_attr(C2,
12958 guard_entailment,
12959 D2),
12960 D2=v(_, _, _, _, _, E2, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
12961 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
12962 E2)
12963 ),
12964 member(F2, E2),
12965 F2=suspension(_, active, _, _, G2),
12966 G2==B2,
12967 !,
12968 F2=suspension(_, _, _, _, H2),
12969 setarg(2, F2, removed),
12970 term_variables(H2, M2),
12971 arg(4, F2, I2),
12972 ( var(I2)
12973 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
12974 J2),
12975 J2=[_|K2],
12976 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
12977 K2),
12978 ( K2=[L2|_]
12979 -> setarg(4, L2, _)
12980 ; true
12981 )
12982 ; I2=[_, _|K2],
12983 setarg(2, I2, K2),
12984 ( K2=[L2|_]
12985 -> setarg(4, L2, I2)
12986 ; true
12987 )
12988 ),
12989 'detach_known/1_1_$special_var/1___1'(M2,
12990 F2),
12991 ( var(E)
12992 -> true
12993 ; E=suspension(_, N2, _, _, O2),
12994 setarg(2, E, removed),
12995 ( N2==not_stored_yet
12996 -> P2=[]
12997 ; term_variables(O2,
12998 P2),
12999 ( arg(4, E, Q2),
13000 ( var(Q2)
13001 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13002 R2),
13003 R2=[_|S2],
13004 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13005 S2),
13006 ( S2=[T2|_]
13007 -> setarg(4,
13008 T2,
13009 _)
13010 ; true
13011 )
13012 ; Q2=[_, _|S2],
13013 setarg(2,
13014 Q2,
13015 S2),
13016 ( S2=[T2|_]
13017 -> setarg(4,
13018 T2,
13019 Q2)
13020 ; true
13021 )
13022 )
13023 ),
13024 'detach_known/1_1_$special_\\+/1___1'(P2,
13025 E)
13026 )
13027 ),
13028 'known/1_1_$special_fail/0'
13029 )
13030 ; A=atom(U2),
13031 ( 'chr newvia_1'(U2, V2)
13032 -> get_attr(V2,
13033 guard_entailment,
13034 W2),
13035 W2=v(_, _, _, _, _, _, X2, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
13036 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
13037 X2)
13038 ),
13039 member(Y2, X2),
13040 Y2=suspension(_, active, _, _, _, Z2),
13041 Z2==U2,
13042 !,
13043 Y2=suspension(_, _, _, _, _, A3),
13044 setarg(2, Y2, removed),
13045 term_variables(A3, F3),
13046 arg(5, Y2, B3),
13047 ( var(B3)
13048 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
13049 C3),
13050 C3=[_|D3],
13051 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
13052 D3),
13053 ( D3=[E3|_]
13054 -> setarg(5, E3, _)
13055 ; true
13056 )
13057 ; B3=[_, _|D3],
13058 setarg(2, B3, D3),
13059 ( D3=[E3|_]
13060 -> setarg(5, E3, B3)
13061 ; true
13062 )
13063 ),
13064 'detach_known/1_1_$special_atom/1___1'(F3,
13065 Y2),
13066 ( var(E)
13067 -> true
13068 ; E=suspension(_, G3, _, _, H3),
13069 setarg(2, E, removed),
13070 ( G3==not_stored_yet
13071 -> I3=[]
13072 ; term_variables(H3, I3),
13073 ( arg(4, E, J3),
13074 ( var(J3)
13075 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13076 K3),
13077 K3=[_|L3],
13078 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13079 L3),
13080 ( L3=[M3|_]
13081 -> setarg(4,
13082 M3,
13083 _)
13084 ; true
13085 )
13086 ; J3=[_, _|L3],
13087 setarg(2, J3, L3),
13088 ( L3=[M3|_]
13089 -> setarg(4,
13090 M3,
13091 J3)
13092 ; true
13093 )
13094 )
13095 ),
13096 'detach_known/1_1_$special_\\+/1___1'(I3,
13097 E)
13098 )
13099 ),
13100 'known/1_1_$special_fail/0'
13101 )
13102 ; A=atomic(N3),
13103 ( 'chr newvia_1'(N3, O3)
13104 -> get_attr(O3,
13105 guard_entailment,
13106 P3),
13107 P3=v(_, _, _, _, _, _, _, Q3, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
13108 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
13109 Q3)
13110 ),
13111 member(R3, Q3),
13112 R3=suspension(_, active, _, _, _, S3),
13113 S3==N3,
13114 !,
13115 R3=suspension(_, _, _, _, _, T3),
13116 setarg(2, R3, removed),
13117 term_variables(T3, Y3),
13118 arg(5, R3, U3),
13119 ( var(U3)
13120 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
13121 V3),
13122 V3=[_|W3],
13123 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
13124 W3),
13125 ( W3=[X3|_]
13126 -> setarg(5, X3, _)
13127 ; true
13128 )
13129 ; U3=[_, _|W3],
13130 setarg(2, U3, W3),
13131 ( W3=[X3|_]
13132 -> setarg(5, X3, U3)
13133 ; true
13134 )
13135 ),
13136 'detach_known/1_1_$special_atomic/1___1'(Y3,
13137 R3),
13138 ( var(E)
13139 -> true
13140 ; E=suspension(_, Z3, _, _, A4),
13141 setarg(2, E, removed),
13142 ( Z3==not_stored_yet
13143 -> B4=[]
13144 ; term_variables(A4, B4),
13145 ( arg(4, E, C4),
13146 ( var(C4)
13147 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13148 D4),
13149 D4=[_|E4],
13150 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13151 E4),
13152 ( E4=[F4|_]
13153 -> setarg(4, F4, _)
13154 ; true
13155 )
13156 ; C4=[_, _|E4],
13157 setarg(2, C4, E4),
13158 ( E4=[F4|_]
13159 -> setarg(4,
13160 F4,
13161 C4)
13162 ; true
13163 )
13164 )
13165 ),
13166 'detach_known/1_1_$special_\\+/1___1'(B4,
13167 E)
13168 )
13169 ),
13170 'known/1_1_$special_fail/0'
13171 )
13172 ; A=compound(G4),
13173 ( 'chr newvia_1'(G4, H4)
13174 -> get_attr(H4, guard_entailment, I4),
13175 I4=v(_, _, _, _, _, _, _, _, J4, _, _, _, _, _, _, _, _, _, _, _, _, _)
13176 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
13177 J4)
13178 ),
13179 member(K4, J4),
13180 K4=suspension(_, active, _, _, _, L4),
13181 L4==G4,
13182 !,
13183 K4=suspension(_, _, _, _, _, M4),
13184 setarg(2, K4, removed),
13185 term_variables(M4, R4),
13186 arg(5, K4, N4),
13187 ( var(N4)
13188 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
13189 O4),
13190 O4=[_|P4],
13191 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
13192 P4),
13193 ( P4=[Q4|_]
13194 -> setarg(5, Q4, _)
13195 ; true
13196 )
13197 ; N4=[_, _|P4],
13198 setarg(2, N4, P4),
13199 ( P4=[Q4|_]
13200 -> setarg(5, Q4, N4)
13201 ; true
13202 )
13203 ),
13204 'detach_known/1_1_$special_compound/1___1'(R4,
13205 K4),
13206 ( var(E)
13207 -> true
13208 ; E=suspension(_, S4, _, _, T4),
13209 setarg(2, E, removed),
13210 ( S4==not_stored_yet
13211 -> U4=[]
13212 ; term_variables(T4, U4),
13213 ( arg(4, E, V4),
13214 ( var(V4)
13215 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13216 W4),
13217 W4=[_|X4],
13218 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13219 X4),
13220 ( X4=[Y4|_]
13221 -> setarg(4, Y4, _)
13222 ; true
13223 )
13224 ; V4=[_, _|X4],
13225 setarg(2, V4, X4),
13226 ( X4=[Y4|_]
13227 -> setarg(4, Y4, V4)
13228 ; true
13229 )
13230 )
13231 ),
13232 'detach_known/1_1_$special_\\+/1___1'(U4,
13233 E)
13234 )
13235 ),
13236 'known/1_1_$special_fail/0'
13237 )
13238 ; A=ground(Z4),
13239 ( 'chr newvia_1'(Z4, A5)
13240 -> get_attr(A5, guard_entailment, B5),
13241 B5=v(_, _, _, _, _, _, _, _, _, C5, _, _, _, _, _, _, _, _, _, _, _, _)
13242 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
13243 C5)
13244 ),
13245 member(D5, C5),
13246 D5=suspension(_, active, _, _, _, E5),
13247 E5==Z4,
13248 !,
13249 D5=suspension(_, _, _, _, _, F5),
13250 setarg(2, D5, removed),
13251 term_variables(F5, K5),
13252 arg(5, D5, G5),
13253 ( var(G5)
13254 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
13255 H5),
13256 H5=[_|I5],
13257 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
13258 I5),
13259 ( I5=[J5|_]
13260 -> setarg(5, J5, _)
13261 ; true
13262 )
13263 ; G5=[_, _|I5],
13264 setarg(2, G5, I5),
13265 ( I5=[J5|_]
13266 -> setarg(5, J5, G5)
13267 ; true
13268 )
13269 ),
13270 'detach_known/1_1_$special_ground/1___1'(K5,
13271 D5),
13272 ( var(E)
13273 -> true
13274 ; E=suspension(_, L5, _, _, M5),
13275 setarg(2, E, removed),
13276 ( L5==not_stored_yet
13277 -> N5=[]
13278 ; term_variables(M5, N5),
13279 ( arg(4, E, O5),
13280 ( var(O5)
13281 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13282 P5),
13283 P5=[_|Q5],
13284 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13285 Q5),
13286 ( Q5=[R5|_]
13287 -> setarg(4, R5, _)
13288 ; true
13289 )
13290 ; O5=[_, _|Q5],
13291 setarg(2, O5, Q5),
13292 ( Q5=[R5|_]
13293 -> setarg(4, R5, O5)
13294 ; true
13295 )
13296 )
13297 ),
13298 'detach_known/1_1_$special_\\+/1___1'(N5,
13299 E)
13300 )
13301 ),
13302 'known/1_1_$special_fail/0'
13303 )
13304 ; A=integer(S5),
13305 ( 'chr newvia_1'(S5, T5)
13306 -> get_attr(T5, guard_entailment, U5),
13307 U5=v(_, _, _, _, _, _, _, _, _, _, V5, _, _, _, _, _, _, _, _, _, _, _)
13308 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
13309 V5)
13310 ),
13311 member(W5, V5),
13312 W5=suspension(_, active, _, _, _, X5),
13313 X5==S5,
13314 !,
13315 W5=suspension(_, _, _, _, _, Y5),
13316 setarg(2, W5, removed),
13317 term_variables(Y5, D6),
13318 arg(5, W5, Z5),
13319 ( var(Z5)
13320 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
13321 A6),
13322 A6=[_|B6],
13323 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
13324 B6),
13325 ( B6=[C6|_]
13326 -> setarg(5, C6, _)
13327 ; true
13328 )
13329 ; Z5=[_, _|B6],
13330 setarg(2, Z5, B6),
13331 ( B6=[C6|_]
13332 -> setarg(5, C6, Z5)
13333 ; true
13334 )
13335 ),
13336 'detach_known/1_1_$special_integer/1___1'(D6,
13337 W5),
13338 ( var(E)
13339 -> true
13340 ; E=suspension(_, E6, _, _, F6),
13341 setarg(2, E, removed),
13342 ( E6==not_stored_yet
13343 -> G6=[]
13344 ; term_variables(F6, G6),
13345 ( arg(4, E, H6),
13346 ( var(H6)
13347 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13348 I6),
13349 I6=[_|J6],
13350 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13351 J6),
13352 ( J6=[K6|_]
13353 -> setarg(4, K6, _)
13354 ; true
13355 )
13356 ; H6=[_, _|J6],
13357 setarg(2, H6, J6),
13358 ( J6=[K6|_]
13359 -> setarg(4, K6, H6)
13360 ; true
13361 )
13362 )
13363 ),
13364 'detach_known/1_1_$special_\\+/1___1'(G6,
13365 E)
13366 )
13367 ),
13368 'known/1_1_$special_fail/0'
13369 )
13370 ; A=float(L6),
13371 ( 'chr newvia_1'(L6, M6)
13372 -> get_attr(M6, guard_entailment, N6),
13373 N6=v(_, _, _, _, _, _, _, _, _, _, _, O6, _, _, _, _, _, _, _, _, _, _)
13374 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
13375 O6)
13376 ),
13377 member(P6, O6),
13378 P6=suspension(_, active, _, _, _, Q6),
13379 Q6==L6,
13380 !,
13381 P6=suspension(_, _, _, _, _, R6),
13382 setarg(2, P6, removed),
13383 term_variables(R6, W6),
13384 arg(5, P6, S6),
13385 ( var(S6)
13386 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
13387 T6),
13388 T6=[_|U6],
13389 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
13390 U6),
13391 ( U6=[V6|_]
13392 -> setarg(5, V6, _)
13393 ; true
13394 )
13395 ; S6=[_, _|U6],
13396 setarg(2, S6, U6),
13397 ( U6=[V6|_]
13398 -> setarg(5, V6, S6)
13399 ; true
13400 )
13401 ),
13402 'detach_known/1_1_$special_float/1___1'(W6, P6),
13403 ( var(E)
13404 -> true
13405 ; E=suspension(_, X6, _, _, Y6),
13406 setarg(2, E, removed),
13407 ( X6==not_stored_yet
13408 -> Z6=[]
13409 ; term_variables(Y6, Z6),
13410 ( arg(4, E, A7),
13411 ( var(A7)
13412 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13413 B7),
13414 B7=[_|C7],
13415 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13416 C7),
13417 ( C7=[D7|_]
13418 -> setarg(4, D7, _)
13419 ; true
13420 )
13421 ; A7=[_, _|C7],
13422 setarg(2, A7, C7),
13423 ( C7=[D7|_]
13424 -> setarg(4, D7, A7)
13425 ; true
13426 )
13427 )
13428 ),
13429 'detach_known/1_1_$special_\\+/1___1'(Z6, E)
13430 )
13431 ),
13432 'known/1_1_$special_fail/0'
13433 )
13434 ; A=number(E7),
13435 ( 'chr newvia_1'(E7, F7)
13436 -> get_attr(F7, guard_entailment, G7),
13437 G7=v(_, _, _, _, _, _, _, _, _, _, _, _, H7, _, _, _, _, _, _, _, _, _)
13438 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
13439 H7)
13440 ),
13441 member(I7, H7),
13442 I7=suspension(_, active, _, _, _, J7),
13443 J7==E7,
13444 !,
13445 I7=suspension(_, _, _, _, _, K7),
13446 setarg(2, I7, removed),
13447 term_variables(K7, P7),
13448 arg(5, I7, L7),
13449 ( var(L7)
13450 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
13451 M7),
13452 M7=[_|N7],
13453 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
13454 N7),
13455 ( N7=[O7|_]
13456 -> setarg(5, O7, _)
13457 ; true
13458 )
13459 ; L7=[_, _|N7],
13460 setarg(2, L7, N7),
13461 ( N7=[O7|_]
13462 -> setarg(5, O7, L7)
13463 ; true
13464 )
13465 ),
13466 'detach_known/1_1_$special_number/1___1'(P7, I7),
13467 ( var(E)
13468 -> true
13469 ; E=suspension(_, Q7, _, _, R7),
13470 setarg(2, E, removed),
13471 ( Q7==not_stored_yet
13472 -> S7=[]
13473 ; term_variables(R7, S7),
13474 ( arg(4, E, T7),
13475 ( var(T7)
13476 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13477 U7),
13478 U7=[_|V7],
13479 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13480 V7),
13481 ( V7=[W7|_]
13482 -> setarg(4, W7, _)
13483 ; true
13484 )
13485 ; T7=[_, _|V7],
13486 setarg(2, T7, V7),
13487 ( V7=[W7|_]
13488 -> setarg(4, W7, T7)
13489 ; true
13490 )
13491 )
13492 ),
13493 'detach_known/1_1_$special_\\+/1___1'(S7, E)
13494 )
13495 ),
13496 'known/1_1_$special_fail/0'
13497 )
13498 ; A=(X7=\=Y7),
13499 ( 'chr newvia_2'(X7, Y7, Z7)
13500 -> get_attr(Z7, guard_entailment, A8),
13501 A8=v(_, _, _, _, _, _, _, _, _, _, _, _, _, B8, _, _, _, _, _, _, _, _)
13502 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
13503 B8)
13504 ),
13505 member(C8, B8),
13506 C8=suspension(_, active, _, _, _, D8, E8),
13507 D8==X7,
13508 E8==Y7,
13509 !,
13510 C8=suspension(_, _, _, _, _, F8, G8),
13511 setarg(2, C8, removed),
13512 term_variables(term(F8, G8), L8),
13513 arg(5, C8, H8),
13514 ( var(H8)
13515 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
13516 I8),
13517 I8=[_|J8],
13518 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
13519 J8),
13520 ( J8=[K8|_]
13521 -> setarg(5, K8, _)
13522 ; true
13523 )
13524 ; H8=[_, _|J8],
13525 setarg(2, H8, J8),
13526 ( J8=[K8|_]
13527 -> setarg(5, K8, H8)
13528 ; true
13529 )
13530 ),
13531 'detach_known/1_1_$special_=\\=/2___2'(L8, C8),
13532 ( var(E)
13533 -> true
13534 ; E=suspension(_, M8, _, _, N8),
13535 setarg(2, E, removed),
13536 ( M8==not_stored_yet
13537 -> O8=[]
13538 ; term_variables(N8, O8),
13539 ( arg(4, E, P8),
13540 ( var(P8)
13541 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13542 Q8),
13543 Q8=[_|R8],
13544 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13545 R8),
13546 ( R8=[S8|_]
13547 -> setarg(4, S8, _)
13548 ; true
13549 )
13550 ; P8=[_, _|R8],
13551 setarg(2, P8, R8),
13552 ( R8=[S8|_]
13553 -> setarg(4, S8, P8)
13554 ; true
13555 )
13556 )
13557 ),
13558 'detach_known/1_1_$special_\\+/1___1'(O8, E)
13559 )
13560 ),
13561 'known/1_1_$special_fail/0'
13562 ).
13563'known/1_1_$special_\\+/1___1__0'(A, N) :-
13564 ( 'chr newvia_1'(A, B)
13565 -> get_attr(B, guard_entailment, C),
13566 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _)
13567 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13568 D)
13569 ),
13570 member(E, D),
13571 E=suspension(_, active, _, _, F),
13572 nonvar(F),
13573 F=(\+G),
13574 G==A,
13575 !,
13576 E=suspension(_, _, _, _, H),
13577 setarg(2, E, removed),
13578 term_variables(H, M),
13579 arg(4, E, I),
13580 ( var(I)
13581 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13582 J),
13583 J=[_|K],
13584 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13585 K),
13586 ( K=[L|_]
13587 -> setarg(4, L, _)
13588 ; true
13589 )
13590 ; I=[_, _|K],
13591 setarg(2, I, K),
13592 ( K=[L|_]
13593 -> setarg(4, L, I)
13594 ; true
13595 )
13596 ),
13597 'detach_known/1_1_$special_\\+/1___1'(M, E),
13598 ( var(N)
13599 -> true
13600 ; N=suspension(_, O, _, _, P),
13601 setarg(2, N, removed),
13602 ( O==not_stored_yet
13603 -> Q=[]
13604 ; term_variables(P, Q),
13605 ( arg(4, N, R),
13606 ( var(R)
13607 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13608 S),
13609 S=[_|T],
13610 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13611 T),
13612 ( T=[U|_]
13613 -> setarg(4, U, _)
13614 ; true
13615 )
13616 ; R=[_, _|T],
13617 setarg(2, R, T),
13618 ( T=[U|_]
13619 -> setarg(4, U, R)
13620 ; true
13621 )
13622 )
13623 ),
13624 'detach_known/1_1_$special_\\+/1___1'(Q, N)
13625 )
13626 ),
13627 'known/1_1_$special_fail/0'.
13628'known/1_1_$special_\\+/1___1__0'(A, N) :-
13629 nonvar(A),
13630 ( ( ( ( ( ( ( A=(\+B),
13631 ( 'chr newvia_1'(B, C)
13632 -> get_attr(C, guard_entailment, D),
13633 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
13634 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13635 E)
13636 ),
13637 member(F, E),
13638 F=suspension(_, active, _, _, G),
13639 G==B,
13640 !,
13641 F=suspension(_, _, _, _, H),
13642 setarg(2, F, removed),
13643 term_variables(H, M),
13644 arg(4, F, I),
13645 ( var(I)
13646 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13647 J),
13648 J=[_|K],
13649 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13650 K),
13651 ( K=[L|_]
13652 -> setarg(4, L, _)
13653 ; true
13654 )
13655 ; I=[_, _|K],
13656 setarg(2, I, K),
13657 ( K=[L|_]
13658 -> setarg(4, L, I)
13659 ; true
13660 )
13661 ),
13662 'detach_known/1_1_$special_\\+/1___1'(M,
13663 F),
13664 ( var(N)
13665 -> true
13666 ; N=suspension(_, O, _, _, P),
13667 setarg(2, N, removed),
13668 ( O==not_stored_yet
13669 -> Q=[]
13670 ; term_variables(P, Q),
13671 ( arg(4, N, R),
13672 ( var(R)
13673 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13674 S),
13675 S=[_|T],
13676 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13677 T),
13678 ( T=[U|_]
13679 -> setarg(4, U, _)
13680 ; true
13681 )
13682 ; R=[_, _|T],
13683 setarg(2, R, T),
13684 ( T=[U|_]
13685 -> setarg(4, U, R)
13686 ; true
13687 )
13688 )
13689 ),
13690 'detach_known/1_1_$special_\\+/1___1'(Q,
13691 N)
13692 )
13693 ),
13694 'known/1_1_$special_fail/0'
13695 ; A=functor(V, W, X),
13696 ( 'chr newvia'([V, W, X],
13697 Y)
13698 -> get_attr(Y,
13699 guard_entailment,
13700 Z),
13701 Z=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, A1, _, _, _, _, _, _)
13702 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
13703 A1)
13704 ),
13705 member(B1, A1),
13706 B1=suspension(_, active, _, _, C1, D1, E1),
13707 C1==V,
13708 D1==W,
13709 E1==X,
13710 !,
13711 B1=suspension(_, _, _, _, F1, G1, H1),
13712 setarg(2, B1, removed),
13713 term_variables(term(F1,
13714 G1,
13715 H1),
13716 M1),
13717 arg(4, B1, I1),
13718 ( var(I1)
13719 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
13720 J1),
13721 J1=[_|K1],
13722 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
13723 K1),
13724 ( K1=[L1|_]
13725 -> setarg(4, L1, _)
13726 ; true
13727 )
13728 ; I1=[_, _|K1],
13729 setarg(2, I1, K1),
13730 ( K1=[L1|_]
13731 -> setarg(4, L1, I1)
13732 ; true
13733 )
13734 ),
13735 'detach_known/1_1_$special_functor/3___3'(M1,
13736 B1),
13737 ( var(N)
13738 -> true
13739 ; N=suspension(_, N1, _, _, O1),
13740 setarg(2, N, removed),
13741 ( N1==not_stored_yet
13742 -> P1=[]
13743 ; term_variables(O1, P1),
13744 ( arg(4, N, Q1),
13745 ( var(Q1)
13746 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13747 R1),
13748 R1=[_|S1],
13749 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13750 S1),
13751 ( S1=[T1|_]
13752 -> setarg(4, T1, _)
13753 ; true
13754 )
13755 ; Q1=[_, _|S1],
13756 setarg(2, Q1, S1),
13757 ( S1=[T1|_]
13758 -> setarg(4, T1, Q1)
13759 ; true
13760 )
13761 )
13762 ),
13763 'detach_known/1_1_$special_\\+/1___1'(P1,
13764 N)
13765 )
13766 ),
13767 'known/1_1_$special_fail/0'
13768 )
13769 ; A=(U1\=V1),
13770 ( 'chr newvia_2'(U1, V1, W1)
13771 -> get_attr(W1, guard_entailment, X1),
13772 X1=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, Y1, _, _, _, _, _)
13773 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
13774 Y1)
13775 ),
13776 member(Z1, Y1),
13777 Z1=suspension(_, active, _, _, _, A2, B2),
13778 A2==U1,
13779 B2==V1,
13780 !,
13781 Z1=suspension(_, _, _, _, _, C2, D2),
13782 setarg(2, Z1, removed),
13783 term_variables(term(C2, D2), I2),
13784 arg(5, Z1, E2),
13785 ( var(E2)
13786 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
13787 F2),
13788 F2=[_|G2],
13789 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
13790 G2),
13791 ( G2=[H2|_]
13792 -> setarg(5, H2, _)
13793 ; true
13794 )
13795 ; E2=[_, _|G2],
13796 setarg(2, E2, G2),
13797 ( G2=[H2|_]
13798 -> setarg(5, H2, E2)
13799 ; true
13800 )
13801 ),
13802 'detach_known/1_1_$special_\\=/2___2'(I2,
13803 Z1),
13804 ( var(N)
13805 -> true
13806 ; N=suspension(_, J2, _, _, K2),
13807 setarg(2, N, removed),
13808 ( J2==not_stored_yet
13809 -> L2=[]
13810 ; term_variables(K2, L2),
13811 ( arg(4, N, M2),
13812 ( var(M2)
13813 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13814 N2),
13815 N2=[_|O2],
13816 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13817 O2),
13818 ( O2=[P2|_]
13819 -> setarg(4, P2, _)
13820 ; true
13821 )
13822 ; M2=[_, _|O2],
13823 setarg(2, M2, O2),
13824 ( O2=[P2|_]
13825 -> setarg(4, P2, M2)
13826 ; true
13827 )
13828 )
13829 ),
13830 'detach_known/1_1_$special_\\+/1___1'(L2,
13831 N)
13832 )
13833 ),
13834 'known/1_1_$special_fail/0'
13835 )
13836 ; A=(Q2=R2),
13837 ( 'chr newvia_2'(Q2, R2, S2)
13838 -> get_attr(S2, guard_entailment, T2),
13839 T2=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, U2, _, _, _, _)
13840 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
13841 U2)
13842 ),
13843 member(V2, U2),
13844 V2=suspension(_, active, _, _, W2, X2),
13845 W2==Q2,
13846 X2==R2,
13847 !,
13848 V2=suspension(_, _, _, _, Y2, Z2),
13849 setarg(2, V2, removed),
13850 term_variables(term(Y2, Z2), E3),
13851 arg(4, V2, A3),
13852 ( var(A3)
13853 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
13854 B3),
13855 B3=[_|C3],
13856 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
13857 C3),
13858 ( C3=[D3|_]
13859 -> setarg(4, D3, _)
13860 ; true
13861 )
13862 ; A3=[_, _|C3],
13863 setarg(2, A3, C3),
13864 ( C3=[D3|_]
13865 -> setarg(4, D3, A3)
13866 ; true
13867 )
13868 ),
13869 'detach_known/1_1_$special_=/2___2'(E3, V2),
13870 ( var(N)
13871 -> true
13872 ; N=suspension(_, F3, _, _, G3),
13873 setarg(2, N, removed),
13874 ( F3==not_stored_yet
13875 -> H3=[]
13876 ; term_variables(G3, H3),
13877 ( arg(4, N, I3),
13878 ( var(I3)
13879 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13880 J3),
13881 J3=[_|K3],
13882 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13883 K3),
13884 ( K3=[L3|_]
13885 -> setarg(4, L3, _)
13886 ; true
13887 )
13888 ; I3=[_, _|K3],
13889 setarg(2, I3, K3),
13890 ( K3=[L3|_]
13891 -> setarg(4, L3, I3)
13892 ; true
13893 )
13894 )
13895 ),
13896 'detach_known/1_1_$special_\\+/1___1'(H3,
13897 N)
13898 )
13899 ),
13900 'known/1_1_$special_fail/0'
13901 )
13902 ; A=(M3\==N3),
13903 ( 'chr newvia_2'(M3, N3, O3)
13904 -> get_attr(O3, guard_entailment, P3),
13905 P3=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, Q3, _, _, _)
13906 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
13907 Q3)
13908 ),
13909 member(R3, Q3),
13910 R3=suspension(_, active, _, _, _, S3, T3),
13911 S3==M3,
13912 T3==N3,
13913 !,
13914 R3=suspension(_, _, _, _, _, U3, V3),
13915 setarg(2, R3, removed),
13916 term_variables(term(U3, V3), A4),
13917 arg(5, R3, W3),
13918 ( var(W3)
13919 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
13920 X3),
13921 X3=[_|Y3],
13922 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
13923 Y3),
13924 ( Y3=[Z3|_]
13925 -> setarg(5, Z3, _)
13926 ; true
13927 )
13928 ; W3=[_, _|Y3],
13929 setarg(2, W3, Y3),
13930 ( Y3=[Z3|_]
13931 -> setarg(5, Z3, W3)
13932 ; true
13933 )
13934 ),
13935 'detach_known/1_1_$special_\\==/2___2'(A4, R3),
13936 ( var(N)
13937 -> true
13938 ; N=suspension(_, B4, _, _, C4),
13939 setarg(2, N, removed),
13940 ( B4==not_stored_yet
13941 -> D4=[]
13942 ; term_variables(C4, D4),
13943 ( arg(4, N, E4),
13944 ( var(E4)
13945 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13946 F4),
13947 F4=[_|G4],
13948 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
13949 G4),
13950 ( G4=[H4|_]
13951 -> setarg(4, H4, _)
13952 ; true
13953 )
13954 ; E4=[_, _|G4],
13955 setarg(2, E4, G4),
13956 ( G4=[H4|_]
13957 -> setarg(4, H4, E4)
13958 ; true
13959 )
13960 )
13961 ),
13962 'detach_known/1_1_$special_\\+/1___1'(D4,
13963 N)
13964 )
13965 ),
13966 'known/1_1_$special_fail/0'
13967 )
13968 ; A=(I4==J4),
13969 ( 'chr newvia_2'(I4, J4, K4)
13970 -> get_attr(K4, guard_entailment, L4),
13971 L4=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, M4, _, _)
13972 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
13973 M4)
13974 ),
13975 member(N4, M4),
13976 N4=suspension(_, active, _, _, _, O4, P4),
13977 O4==I4,
13978 P4==J4,
13979 !,
13980 N4=suspension(_, _, _, _, _, Q4, R4),
13981 setarg(2, N4, removed),
13982 term_variables(term(Q4, R4), W4),
13983 arg(5, N4, S4),
13984 ( var(S4)
13985 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
13986 T4),
13987 T4=[_|U4],
13988 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
13989 U4),
13990 ( U4=[V4|_]
13991 -> setarg(5, V4, _)
13992 ; true
13993 )
13994 ; S4=[_, _|U4],
13995 setarg(2, S4, U4),
13996 ( U4=[V4|_]
13997 -> setarg(5, V4, S4)
13998 ; true
13999 )
14000 ),
14001 'detach_known/1_1_$special_==/2___2'(W4, N4),
14002 ( var(N)
14003 -> true
14004 ; N=suspension(_, X4, _, _, Y4),
14005 setarg(2, N, removed),
14006 ( X4==not_stored_yet
14007 -> Z4=[]
14008 ; term_variables(Y4, Z4),
14009 ( arg(4, N, A5),
14010 ( var(A5)
14011 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14012 B5),
14013 B5=[_|C5],
14014 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14015 C5),
14016 ( C5=[D5|_]
14017 -> setarg(4, D5, _)
14018 ; true
14019 )
14020 ; A5=[_, _|C5],
14021 setarg(2, A5, C5),
14022 ( C5=[D5|_]
14023 -> setarg(4, D5, A5)
14024 ; true
14025 )
14026 )
14027 ),
14028 'detach_known/1_1_$special_\\+/1___1'(Z4, N)
14029 )
14030 ),
14031 'known/1_1_$special_fail/0'
14032 )
14033 ; A=(E5=<F5),
14034 ( 'chr newvia_2'(E5, F5, G5)
14035 -> get_attr(G5, guard_entailment, H5),
14036 H5=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, I5, _)
14037 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
14038 I5)
14039 ),
14040 member(J5, I5),
14041 J5=suspension(_, active, _, _, _, K5, L5),
14042 K5==E5,
14043 L5==F5,
14044 !,
14045 J5=suspension(_, _, _, _, _, M5, N5),
14046 setarg(2, J5, removed),
14047 term_variables(term(M5, N5), S5),
14048 arg(5, J5, O5),
14049 ( var(O5)
14050 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
14051 P5),
14052 P5=[_|Q5],
14053 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
14054 Q5),
14055 ( Q5=[R5|_]
14056 -> setarg(5, R5, _)
14057 ; true
14058 )
14059 ; O5=[_, _|Q5],
14060 setarg(2, O5, Q5),
14061 ( Q5=[R5|_]
14062 -> setarg(5, R5, O5)
14063 ; true
14064 )
14065 ),
14066 'detach_known/1_1_$special_=</2___2'(S5, J5),
14067 ( var(N)
14068 -> true
14069 ; N=suspension(_, T5, _, _, U5),
14070 setarg(2, N, removed),
14071 ( T5==not_stored_yet
14072 -> V5=[]
14073 ; term_variables(U5, V5),
14074 ( arg(4, N, W5),
14075 ( var(W5)
14076 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14077 X5),
14078 X5=[_|Y5],
14079 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14080 Y5),
14081 ( Y5=[Z5|_]
14082 -> setarg(4, Z5, _)
14083 ; true
14084 )
14085 ; W5=[_, _|Y5],
14086 setarg(2, W5, Y5),
14087 ( Y5=[Z5|_]
14088 -> setarg(4, Z5, W5)
14089 ; true
14090 )
14091 )
14092 ),
14093 'detach_known/1_1_$special_\\+/1___1'(V5, N)
14094 )
14095 ),
14096 'known/1_1_$special_fail/0'
14097 )
14098 ; A=(A6=:=B6),
14099 ( 'chr newvia_2'(A6, B6, C6)
14100 -> get_attr(C6, guard_entailment, D6),
14101 D6=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E6)
14102 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
14103 E6)
14104 ),
14105 member(F6, E6),
14106 F6=suspension(_, active, _, _, _, G6, H6),
14107 G6==A6,
14108 H6==B6,
14109 !,
14110 F6=suspension(_, _, _, _, _, I6, J6),
14111 setarg(2, F6, removed),
14112 term_variables(term(I6, J6), O6),
14113 arg(5, F6, K6),
14114 ( var(K6)
14115 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
14116 L6),
14117 L6=[_|M6],
14118 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
14119 M6),
14120 ( M6=[N6|_]
14121 -> setarg(5, N6, _)
14122 ; true
14123 )
14124 ; K6=[_, _|M6],
14125 setarg(2, K6, M6),
14126 ( M6=[N6|_]
14127 -> setarg(5, N6, K6)
14128 ; true
14129 )
14130 ),
14131 'detach_known/1_1_$special_=:=/2___2'(O6, F6),
14132 ( var(N)
14133 -> true
14134 ; N=suspension(_, P6, _, _, Q6),
14135 setarg(2, N, removed),
14136 ( P6==not_stored_yet
14137 -> R6=[]
14138 ; term_variables(Q6, R6),
14139 ( arg(4, N, S6),
14140 ( var(S6)
14141 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14142 T6),
14143 T6=[_|U6],
14144 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14145 U6),
14146 ( U6=[V6|_]
14147 -> setarg(4, V6, _)
14148 ; true
14149 )
14150 ; S6=[_, _|U6],
14151 setarg(2, S6, U6),
14152 ( U6=[V6|_]
14153 -> setarg(4, V6, S6)
14154 ; true
14155 )
14156 )
14157 ),
14158 'detach_known/1_1_$special_\\+/1___1'(R6, N)
14159 )
14160 ),
14161 'known/1_1_$special_fail/0'
14162 ).
14163'known/1_1_$special_\\+/1___1__0'(A, M) :-
14164 ( 'chr newvia_1'(A, B)
14165 -> get_attr(B, guard_entailment, C),
14166 C=v(_, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
14167 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
14168 D)
14169 ),
14170 member(E, D),
14171 E=suspension(_, active, _, _, F),
14172 F==A,
14173 !,
14174 E=suspension(_, _, _, _, G),
14175 setarg(2, E, removed),
14176 term_variables(G, L),
14177 arg(4, E, H),
14178 ( var(H)
14179 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
14180 I),
14181 I=[_|J],
14182 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
14183 J),
14184 ( J=[K|_]
14185 -> setarg(4, K, _)
14186 ; true
14187 )
14188 ; H=[_, _|J],
14189 setarg(2, H, J),
14190 ( J=[K|_]
14191 -> setarg(4, K, H)
14192 ; true
14193 )
14194 ),
14195 'detach_known/1_1_$default___1'(L, E),
14196 ( var(M)
14197 -> true
14198 ; M=suspension(_, N, _, _, O),
14199 setarg(2, M, removed),
14200 ( N==not_stored_yet
14201 -> P=[]
14202 ; term_variables(O, P),
14203 ( arg(4, M, Q),
14204 ( var(Q)
14205 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14206 R),
14207 R=[_|S],
14208 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14209 S),
14210 ( S=[T|_]
14211 -> setarg(4, T, _)
14212 ; true
14213 )
14214 ; Q=[_, _|S],
14215 setarg(2, Q, S),
14216 ( S=[T|_]
14217 -> setarg(4, T, Q)
14218 ; true
14219 )
14220 )
14221 ),
14222 'detach_known/1_1_$special_\\+/1___1'(P, M)
14223 )
14224 ),
14225 'known/1_1_$special_fail/0'.
14226'known/1_1_$special_\\+/1___1__0'(A, E) :-
14227 ( 'chr newvia_1'(A, B)
14228 -> get_attr(B, guard_entailment, C),
14229 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
14230 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14231 D)
14232 ),
14233 !,
14234 ( var(E)
14235 -> E=suspension(F, not_stored_yet, 0, _, A),
14236 'chr gen_id'(F)
14237 ; true
14238 ),
14239 'known/1_1_$special_\\+/1___1__0__0__33'(D, A, E).
14240'known/1_1_$special_\\+/1___1__0__0__33'([], A, B) :-
14241 'known/1_1_$special_\\+/1___1__1'(A, B).
14242'known/1_1_$special_\\+/1___1__0__0__33'([A|W], E, M) :-
14243 ( A=suspension(_, active, _, _, B, V),
14244 nonvar(B),
14245 B=(\+C),
14246 nonvar(C),
14247 C=(\+D),
14248 D==E
14249 -> ( A=suspension(_, _, _, _, F, G),
14250 setarg(2, A, removed),
14251 term_variables(term(F, G), L),
14252 ( arg(4, A, H),
14253 ( var(H)
14254 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14255 I),
14256 I=[_|J],
14257 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14258 J),
14259 ( J=[K|_]
14260 -> setarg(4, K, _)
14261 ; true
14262 )
14263 ; H=[_, _|J],
14264 setarg(2, H, J),
14265 ( J=[K|_]
14266 -> setarg(4, K, H)
14267 ; true
14268 )
14269 )
14270 ),
14271 'detach_known/1_1_$special_;/2___2'(L, A)
14272 ),
14273 ( arg(2, M, P),
14274 setarg(2, M, active),
14275 ( arg(3, M, N),
14276 O is N+1,
14277 setarg(3, M, O)
14278 ),
14279 ( P==not_stored_yet
14280 -> M=suspension(_, _, _, _, Q),
14281 term_variables(Q, R),
14282 'chr none_locked'(R),
14283 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14284 S),
14285 T=[M|S],
14286 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14287 T),
14288 ( S=[U|_]
14289 -> setarg(4, U, T)
14290 ; true
14291 )
14292 ),
14293 'attach_known/1_1_$special_\\+/1___1'(R, M)
14294 ; true
14295 )
14296 ),
14297 known(V),
14298 ( M=suspension(_, active, O, _, _)
14299 -> setarg(2, M, inactive),
14300 'known/1_1_$special_\\+/1___1__0__0__33'(W, E, M)
14301 ; true
14302 )
14303 ; 'known/1_1_$special_\\+/1___1__0__0__33'(W, E, M)
14304 ).
14305'known/1_1_$special_\\+/1___1__0'(B, A) :-
14306 ( var(A)
14307 -> A=suspension(C, not_stored_yet, 0, _, B),
14308 'chr gen_id'(C)
14309 ; true
14310 ),
14311 'known/1_1_$special_\\+/1___1__1'(B, A).
14312'known/1_1_$special_\\+/1___1__1'(A, E) :-
14313 ( 'chr newvia_1'(A, B)
14314 -> get_attr(B, guard_entailment, C),
14315 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
14316 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14317 D)
14318 ),
14319 !,
14320 'known/1_1_$special_\\+/1___1__1__0__34'(D, A, E).
14321'known/1_1_$special_\\+/1___1__1__0__34'([], A, B) :-
14322 'known/1_1_$special_\\+/1___1__2'(A, B).
14323'known/1_1_$special_\\+/1___1__1__0__34'([A|X], F, N) :-
14324 ( A=suspension(_, active, _, _, B, W),
14325 nonvar(B),
14326 B=(C, _),
14327 nonvar(C),
14328 C=(\+D),
14329 nonvar(D),
14330 D=(\+E),
14331 E==F
14332 -> ( A=suspension(_, _, _, _, G, H),
14333 setarg(2, A, removed),
14334 term_variables(term(G, H), M),
14335 ( arg(4, A, I),
14336 ( var(I)
14337 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14338 J),
14339 J=[_|K],
14340 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14341 K),
14342 ( K=[L|_]
14343 -> setarg(4, L, _)
14344 ; true
14345 )
14346 ; I=[_, _|K],
14347 setarg(2, I, K),
14348 ( K=[L|_]
14349 -> setarg(4, L, I)
14350 ; true
14351 )
14352 )
14353 ),
14354 'detach_known/1_1_$special_;/2___2'(M, A)
14355 ),
14356 ( arg(2, N, Q),
14357 setarg(2, N, active),
14358 ( arg(3, N, O),
14359 P is O+1,
14360 setarg(3, N, P)
14361 ),
14362 ( Q==not_stored_yet
14363 -> N=suspension(_, _, _, _, R),
14364 term_variables(R, S),
14365 'chr none_locked'(S),
14366 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14367 T),
14368 U=[N|T],
14369 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14370 U),
14371 ( T=[V|_]
14372 -> setarg(4, V, U)
14373 ; true
14374 )
14375 ),
14376 'attach_known/1_1_$special_\\+/1___1'(S, N)
14377 ; true
14378 )
14379 ),
14380 known(W),
14381 ( N=suspension(_, active, P, _, _)
14382 -> setarg(2, N, inactive),
14383 'known/1_1_$special_\\+/1___1__1__0__34'(X, F, N)
14384 ; true
14385 )
14386 ; 'known/1_1_$special_\\+/1___1__1__0__34'(X, F, N)
14387 ).
14388'known/1_1_$special_\\+/1___1__1'(A, B) :-
14389 'known/1_1_$special_\\+/1___1__2'(A, B).
14390'known/1_1_$special_\\+/1___1__2'(A, E) :-
14391 ( 'chr newvia_1'(A, B)
14392 -> get_attr(B, guard_entailment, C),
14393 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
14394 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14395 D)
14396 ),
14397 !,
14398 'known/1_1_$special_\\+/1___1__2__0__35'(D, A, E).
14399'known/1_1_$special_\\+/1___1__2__0__35'([], A, B) :-
14400 'known/1_1_$special_\\+/1___1__3'(A, B).
14401'known/1_1_$special_\\+/1___1__2__0__35'([A|U], C, K) :-
14402 ( A=suspension(_, active, _, _, B, T),
14403 B==C
14404 -> ( A=suspension(_, _, _, _, D, E),
14405 setarg(2, A, removed),
14406 term_variables(term(D, E), J),
14407 ( arg(4, A, F),
14408 ( var(F)
14409 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14410 G),
14411 G=[_|H],
14412 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14413 H),
14414 ( H=[I|_]
14415 -> setarg(4, I, _)
14416 ; true
14417 )
14418 ; F=[_, _|H],
14419 setarg(2, F, H),
14420 ( H=[I|_]
14421 -> setarg(4, I, F)
14422 ; true
14423 )
14424 )
14425 ),
14426 'detach_known/1_1_$special_;/2___2'(J, A)
14427 ),
14428 ( arg(2, K, N),
14429 setarg(2, K, active),
14430 ( arg(3, K, L),
14431 M is L+1,
14432 setarg(3, K, M)
14433 ),
14434 ( N==not_stored_yet
14435 -> K=suspension(_, _, _, _, O),
14436 term_variables(O, P),
14437 'chr none_locked'(P),
14438 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14439 Q),
14440 R=[K|Q],
14441 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14442 R),
14443 ( Q=[S|_]
14444 -> setarg(4, S, R)
14445 ; true
14446 )
14447 ),
14448 'attach_known/1_1_$special_\\+/1___1'(P, K)
14449 ; true
14450 )
14451 ),
14452 known(T),
14453 ( K=suspension(_, active, M, _, _)
14454 -> setarg(2, K, inactive),
14455 'known/1_1_$special_\\+/1___1__2__0__35'(U, C, K)
14456 ; true
14457 )
14458 ; 'known/1_1_$special_\\+/1___1__2__0__35'(U, C, K)
14459 ).
14460'known/1_1_$special_\\+/1___1__2'(A, B) :-
14461 'known/1_1_$special_\\+/1___1__3'(A, B).
14462'known/1_1_$special_\\+/1___1__3'(A, E) :-
14463 ( 'chr newvia_1'(A, B)
14464 -> get_attr(B, guard_entailment, C),
14465 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
14466 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14467 D)
14468 ),
14469 !,
14470 'known/1_1_$special_\\+/1___1__3__0__36'(D, A, E).
14471'known/1_1_$special_\\+/1___1__3__0__36'([], A, B) :-
14472 'known/1_1_$special_\\+/1___1__4'(A, B).
14473'known/1_1_$special_\\+/1___1__3__0__36'([A|V], D, L) :-
14474 ( A=suspension(_, active, _, _, B, U),
14475 nonvar(B),
14476 B=(C, _),
14477 C==D
14478 -> ( A=suspension(_, _, _, _, E, F),
14479 setarg(2, A, removed),
14480 term_variables(term(E, F), K),
14481 ( arg(4, A, G),
14482 ( var(G)
14483 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14484 H),
14485 H=[_|I],
14486 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14487 I),
14488 ( I=[J|_]
14489 -> setarg(4, J, _)
14490 ; true
14491 )
14492 ; G=[_, _|I],
14493 setarg(2, G, I),
14494 ( I=[J|_]
14495 -> setarg(4, J, G)
14496 ; true
14497 )
14498 )
14499 ),
14500 'detach_known/1_1_$special_;/2___2'(K, A)
14501 ),
14502 ( arg(2, L, O),
14503 setarg(2, L, active),
14504 ( arg(3, L, M),
14505 N is M+1,
14506 setarg(3, L, N)
14507 ),
14508 ( O==not_stored_yet
14509 -> L=suspension(_, _, _, _, P),
14510 term_variables(P, Q),
14511 'chr none_locked'(Q),
14512 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14513 R),
14514 S=[L|R],
14515 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14516 S),
14517 ( R=[T|_]
14518 -> setarg(4, T, S)
14519 ; true
14520 )
14521 ),
14522 'attach_known/1_1_$special_\\+/1___1'(Q, L)
14523 ; true
14524 )
14525 ),
14526 known(U),
14527 ( L=suspension(_, active, N, _, _)
14528 -> setarg(2, L, inactive),
14529 'known/1_1_$special_\\+/1___1__3__0__36'(V, D, L)
14530 ; true
14531 )
14532 ; 'known/1_1_$special_\\+/1___1__3__0__36'(V, D, L)
14533 ).
14534'known/1_1_$special_\\+/1___1__3'(A, B) :-
14535 'known/1_1_$special_\\+/1___1__4'(A, B).
14536'known/1_1_$special_\\+/1___1__4'(_, A) :-
14537 arg(2, A, D),
14538 setarg(2, A, active),
14539 arg(3, A, B),
14540 C is B+1,
14541 setarg(3, A, C),
14542 ( D==not_stored_yet
14543 -> A=suspension(_, _, _, _, E),
14544 term_variables(E, F),
14545 'chr none_locked'(F),
14546 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14547 G),
14548 H=[A|G],
14549 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14550 H),
14551 ( G=[I|_]
14552 -> setarg(4, I, H)
14553 ; true
14554 )
14555 ),
14556 'attach_known/1_1_$special_\\+/1___1'(F, A)
14557 ; true
14558 ).
14559'known/1_1_$special_functor/3'(A, B, C) :-
14560 'known/1_1_$special_functor/3___3__0'(A, B, C, _).
14561'known/1_1_$special_functor/3___3__0'(A, B, C, K) :-
14562 ( 'chr newvia'([A, B, C], D)
14563 -> get_attr(D, guard_entailment, E),
14564 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _)
14565 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14566 F)
14567 ),
14568 member(G, F),
14569 G=suspension(_, active, _, _, H, I, J),
14570 H==A,
14571 I==B,
14572 J==C,
14573 !,
14574 ( var(K)
14575 -> true
14576 ; K=suspension(_, L, _, _, M, N, O),
14577 setarg(2, K, removed),
14578 ( L==not_stored_yet
14579 -> P=[]
14580 ; term_variables(term(M, N, O), P),
14581 ( arg(4, K, Q),
14582 ( var(Q)
14583 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14584 R),
14585 R=[_|S],
14586 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14587 S),
14588 ( S=[T|_]
14589 -> setarg(4, T, _)
14590 ; true
14591 )
14592 ; Q=[_, _|S],
14593 setarg(2, Q, S),
14594 ( S=[T|_]
14595 -> setarg(4, T, Q)
14596 ; true
14597 )
14598 )
14599 ),
14600 'detach_known/1_1_$special_functor/3___3'(P, K)
14601 )
14602 ).
14603'known/1_1_$special_functor/3___3__0'(_, _, _, C) :-
14604 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
14605 A),
14606 member(B, A),
14607 B=suspension(_, active, _),
14608 !,
14609 ( var(C)
14610 -> true
14611 ; C=suspension(_, D, _, _, E, F, G),
14612 setarg(2, C, removed),
14613 ( D==not_stored_yet
14614 -> H=[]
14615 ; term_variables(term(E, F, G), H),
14616 ( arg(4, C, I),
14617 ( var(I)
14618 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14619 J),
14620 J=[_|K],
14621 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14622 K),
14623 ( K=[L|_]
14624 -> setarg(4, L, _)
14625 ; true
14626 )
14627 ; I=[_, _|K],
14628 setarg(2, I, K),
14629 ( K=[L|_]
14630 -> setarg(4, L, I)
14631 ; true
14632 )
14633 )
14634 ),
14635 'detach_known/1_1_$special_functor/3___3'(H, C)
14636 )
14637 ).
14638'known/1_1_$special_functor/3___3__0'(C, B, A, L) :-
14639 ground(A),
14640 ground(B),
14641 var(C),
14642 nb_getval('$chr_store_global_list_guard_entailment____variables___1',
14643 D),
14644 member(E, D),
14645 E=suspension(_, active, _, W),
14646 !,
14647 E=suspension(_, _, _, F),
14648 setarg(2, E, removed),
14649 term_variables(F, K),
14650 arg(3, E, G),
14651 ( var(G)
14652 -> nb_getval('$chr_store_global_list_guard_entailment____variables___1',
14653 H),
14654 H=[_|I],
14655 b_setval('$chr_store_global_list_guard_entailment____variables___1',
14656 I),
14657 ( I=[J|_]
14658 -> setarg(3, J, _)
14659 ; true
14660 )
14661 ; G=[_, _|I],
14662 setarg(2, G, I),
14663 ( I=[J|_]
14664 -> setarg(3, J, G)
14665 ; true
14666 )
14667 ),
14668 detach_variables___1(K, E),
14669 ( var(L)
14670 -> true
14671 ; L=suspension(_, M, _, _, N, O, P),
14672 setarg(2, L, removed),
14673 ( M==not_stored_yet
14674 -> Q=[]
14675 ; term_variables(term(N, O, P), Q),
14676 ( arg(4, L, R),
14677 ( var(R)
14678 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14679 S),
14680 S=[_|T],
14681 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14682 T),
14683 ( T=[U|_]
14684 -> setarg(4, U, _)
14685 ; true
14686 )
14687 ; R=[_, _|T],
14688 setarg(2, R, T),
14689 ( T=[U|_]
14690 -> setarg(4, U, R)
14691 ; true
14692 )
14693 )
14694 ),
14695 'detach_known/1_1_$special_functor/3___3'(Q, L)
14696 )
14697 ),
14698 functor(C, B, A),
14699 C=..[_|V],
14700 append(V, W, X),
14701 variables(X).
14702'known/1_1_$special_functor/3___3__0'(A, B, C, D) :-
14703 nonvar(A),
14704 'chr lock'(A),
14705 'chr lock'(B),
14706 'chr lock'(C),
14707 \+ functor(A, B, C),
14708 'chr unlock'(A),
14709 'chr unlock'(B),
14710 'chr unlock'(C),
14711 !,
14712 ( var(D)
14713 -> true
14714 ; D=suspension(_, E, _, _, F, G, H),
14715 setarg(2, D, removed),
14716 ( E==not_stored_yet
14717 -> I=[]
14718 ; term_variables(term(F, G, H), I),
14719 ( arg(4, D, J),
14720 ( var(J)
14721 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14722 K),
14723 K=[_|L],
14724 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14725 L),
14726 ( L=[M|_]
14727 -> setarg(4, M, _)
14728 ; true
14729 )
14730 ; J=[_, _|L],
14731 setarg(2, J, L),
14732 ( L=[M|_]
14733 -> setarg(4, M, J)
14734 ; true
14735 )
14736 )
14737 ),
14738 'detach_known/1_1_$special_functor/3___3'(I, D)
14739 )
14740 ),
14741 'known/1_1_$special_fail/0'.
14742'known/1_1_$special_functor/3___3__0'(C, B, A, S) :-
14743 nonvar(A),
14744 nonvar(B),
14745 ( 'chr newvia_1'(C, D)
14746 -> get_attr(D, guard_entailment, E),
14747 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _)
14748 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14749 F)
14750 ),
14751 member(G, F),
14752 G=suspension(_, active, _, _, H, J, I),
14753 H==C,
14754 nonvar(I),
14755 nonvar(J),
14756 !,
14757 G=suspension(_, _, _, _, K, L, M),
14758 setarg(2, G, removed),
14759 term_variables(term(K, L, M), R),
14760 arg(4, G, N),
14761 ( var(N)
14762 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14763 O),
14764 O=[_|P],
14765 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14766 P),
14767 ( P=[Q|_]
14768 -> setarg(4, Q, _)
14769 ; true
14770 )
14771 ; N=[_, _|P],
14772 setarg(2, N, P),
14773 ( P=[Q|_]
14774 -> setarg(4, Q, N)
14775 ; true
14776 )
14777 ),
14778 'detach_known/1_1_$special_functor/3___3'(R, G),
14779 ( var(S)
14780 -> true
14781 ; S=suspension(_, T, _, _, U, V, W),
14782 setarg(2, S, removed),
14783 ( T==not_stored_yet
14784 -> X=[]
14785 ; term_variables(term(U, V, W), X),
14786 ( arg(4, S, Y),
14787 ( var(Y)
14788 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14789 Z),
14790 Z=[_|A1],
14791 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14792 A1),
14793 ( A1=[B1|_]
14794 -> setarg(4, B1, _)
14795 ; true
14796 )
14797 ; Y=[_, _|A1],
14798 setarg(2, Y, A1),
14799 ( A1=[B1|_]
14800 -> setarg(4, B1, Y)
14801 ; true
14802 )
14803 )
14804 ),
14805 'detach_known/1_1_$special_functor/3___3'(X, S)
14806 )
14807 ),
14808 'known/1_1_$special_fail/0'.
14809'known/1_1_$special_functor/3___3__0'(A, B, C, R) :-
14810 ( 'chr newvia'([A, B, C], D)
14811 -> get_attr(D, guard_entailment, E),
14812 E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _, _)
14813 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14814 F)
14815 ),
14816 member(G, F),
14817 G=suspension(_, active, _, _, H),
14818 nonvar(H),
14819 H=functor(I, J, K),
14820 I==A,
14821 J==B,
14822 K==C,
14823 !,
14824 G=suspension(_, _, _, _, L),
14825 setarg(2, G, removed),
14826 term_variables(L, Q),
14827 arg(4, G, M),
14828 ( var(M)
14829 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14830 N),
14831 N=[_|O],
14832 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
14833 O),
14834 ( O=[P|_]
14835 -> setarg(4, P, _)
14836 ; true
14837 )
14838 ; M=[_, _|O],
14839 setarg(2, M, O),
14840 ( O=[P|_]
14841 -> setarg(4, P, M)
14842 ; true
14843 )
14844 ),
14845 'detach_known/1_1_$special_\\+/1___1'(Q, G),
14846 ( var(R)
14847 -> true
14848 ; R=suspension(_, S, _, _, T, U, V),
14849 setarg(2, R, removed),
14850 ( S==not_stored_yet
14851 -> W=[]
14852 ; term_variables(term(T, U, V), W),
14853 ( arg(4, R, X),
14854 ( var(X)
14855 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14856 Y),
14857 Y=[_|Z],
14858 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14859 Z),
14860 ( Z=[A1|_]
14861 -> setarg(4, A1, _)
14862 ; true
14863 )
14864 ; X=[_, _|Z],
14865 setarg(2, X, Z),
14866 ( Z=[A1|_]
14867 -> setarg(4, A1, X)
14868 ; true
14869 )
14870 )
14871 ),
14872 'detach_known/1_1_$special_functor/3___3'(W, R)
14873 )
14874 ),
14875 'known/1_1_$special_fail/0'.
14876'known/1_1_$special_functor/3___3__0'(A, B, C, G) :-
14877 ( 'chr newvia'([A, B, C], D)
14878 -> get_attr(D, guard_entailment, E),
14879 E=v(_, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
14880 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14881 F)
14882 ),
14883 !,
14884 ( var(G)
14885 -> G=suspension(H, not_stored_yet, 0, _, A, B, C),
14886 'chr gen_id'(H)
14887 ; true
14888 ),
14889 'known/1_1_$special_functor/3___3__0__0__10'(F,
14890 A,
14891 B,
14892 C,
14893 G).
14894'known/1_1_$special_functor/3___3__0__0__10'([], A, B, C, D) :-
14895 'known/1_1_$special_functor/3___3__1'(A, B, C, D).
14896'known/1_1_$special_functor/3___3__0__0__10'([A|C1], E, G, I, Q) :-
14897 ( A=suspension(_, active, _, _, B, B1),
14898 nonvar(B),
14899 B=(\+C),
14900 nonvar(C),
14901 C=functor(D, F, H),
14902 D==E,
14903 F==G,
14904 H==I
14905 -> ( A=suspension(_, _, _, _, J, K),
14906 setarg(2, A, removed),
14907 term_variables(term(J, K), P),
14908 ( arg(4, A, L),
14909 ( var(L)
14910 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14911 M),
14912 M=[_|N],
14913 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14914 N),
14915 ( N=[O|_]
14916 -> setarg(4, O, _)
14917 ; true
14918 )
14919 ; L=[_, _|N],
14920 setarg(2, L, N),
14921 ( N=[O|_]
14922 -> setarg(4, O, L)
14923 ; true
14924 )
14925 )
14926 ),
14927 'detach_known/1_1_$special_;/2___2'(P, A)
14928 ),
14929 ( arg(2, Q, T),
14930 setarg(2, Q, active),
14931 ( arg(3, Q, R),
14932 S is R+1,
14933 setarg(3, Q, S)
14934 ),
14935 ( T==not_stored_yet
14936 -> Q=suspension(_, _, _, _, U, V, W),
14937 term_variables(term(U, V, W), X),
14938 'chr none_locked'(X),
14939 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14940 Y),
14941 Z=[Q|Y],
14942 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
14943 Z),
14944 ( Y=[A1|_]
14945 -> setarg(4, A1, Z)
14946 ; true
14947 )
14948 ),
14949 'attach_known/1_1_$special_functor/3___3'(X, Q)
14950 ; true
14951 )
14952 ),
14953 known(B1),
14954 ( Q=suspension(_, active, S, _, _, _, _)
14955 -> setarg(2, Q, inactive),
14956 'known/1_1_$special_functor/3___3__0__0__10'(C1,
14957 E,
14958 G,
14959 I,
14960 Q)
14961 ; true
14962 )
14963 ; 'known/1_1_$special_functor/3___3__0__0__10'(C1,
14964 E,
14965 G,
14966 I,
14967 Q)
14968 ).
14969'known/1_1_$special_functor/3___3__0'(B, C, D, A) :-
14970 ( var(A)
14971 -> A=suspension(E, not_stored_yet, 0, _, B, C, D),
14972 'chr gen_id'(E)
14973 ; true
14974 ),
14975 'known/1_1_$special_functor/3___3__1'(B, C, D, A).
14976'known/1_1_$special_functor/3___3__1'(A, B, C, G) :-
14977 ( 'chr newvia'([A, B, C], D)
14978 -> get_attr(D, guard_entailment, E),
14979 E=v(_, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
14980 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
14981 F)
14982 ),
14983 !,
14984 'known/1_1_$special_functor/3___3__1__0__11'(F,
14985 A,
14986 B,
14987 C,
14988 G).
14989'known/1_1_$special_functor/3___3__1__0__11'([], A, B, C, D) :-
14990 'known/1_1_$special_functor/3___3__2'(A, B, C, D).
14991'known/1_1_$special_functor/3___3__1__0__11'([A|D1], F, H, J, R) :-
14992 ( A=suspension(_, active, _, _, B, C1),
14993 nonvar(B),
14994 B=(C, _),
14995 nonvar(C),
14996 C=(\+D),
14997 nonvar(D),
14998 D=functor(E, G, I),
14999 E==F,
15000 G==H,
15001 I==J
15002 -> ( A=suspension(_, _, _, _, K, L),
15003 setarg(2, A, removed),
15004 term_variables(term(K, L), Q),
15005 ( arg(4, A, M),
15006 ( var(M)
15007 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15008 N),
15009 N=[_|O],
15010 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15011 O),
15012 ( O=[P|_]
15013 -> setarg(4, P, _)
15014 ; true
15015 )
15016 ; M=[_, _|O],
15017 setarg(2, M, O),
15018 ( O=[P|_]
15019 -> setarg(4, P, M)
15020 ; true
15021 )
15022 )
15023 ),
15024 'detach_known/1_1_$special_;/2___2'(Q, A)
15025 ),
15026 ( arg(2, R, U),
15027 setarg(2, R, active),
15028 ( arg(3, R, S),
15029 T is S+1,
15030 setarg(3, R, T)
15031 ),
15032 ( U==not_stored_yet
15033 -> R=suspension(_, _, _, _, V, W, X),
15034 term_variables(term(V, W, X), Y),
15035 'chr none_locked'(Y),
15036 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
15037 Z),
15038 A1=[R|Z],
15039 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
15040 A1),
15041 ( Z=[B1|_]
15042 -> setarg(4, B1, A1)
15043 ; true
15044 )
15045 ),
15046 'attach_known/1_1_$special_functor/3___3'(Y, R)
15047 ; true
15048 )
15049 ),
15050 known(C1),
15051 ( R=suspension(_, active, T, _, _, _, _)
15052 -> setarg(2, R, inactive),
15053 'known/1_1_$special_functor/3___3__1__0__11'(D1,
15054 F,
15055 H,
15056 J,
15057 R)
15058 ; true
15059 )
15060 ; 'known/1_1_$special_functor/3___3__1__0__11'(D1,
15061 F,
15062 H,
15063 J,
15064 R)
15065 ).
15066'known/1_1_$special_functor/3___3__1'(A, B, C, D) :-
15067 'known/1_1_$special_functor/3___3__2'(A, B, C, D).
15068'known/1_1_$special_functor/3___3__2'(A, E, F, G) :-
15069 ( 'chr newvia_1'(A, B)
15070 -> get_attr(B, guard_entailment, C),
15071 C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
15072 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15073 D)
15074 ),
15075 !,
15076 'known/1_1_$special_functor/3___3__2__0__12'(D,
15077 A,
15078 E,
15079 F,
15080 G).
15081'known/1_1_$special_functor/3___3__2__0__12'([], A, B, C, D) :-
15082 'known/1_1_$special_functor/3___3__3'(A, B, C, D).
15083'known/1_1_$special_functor/3___3__2__0__12'([A|M], E, N, O, P) :-
15084 ( A=suspension(_, active, _, _, B, _),
15085 nonvar(B),
15086 B=(\+C),
15087 nonvar(C),
15088 C=functor(D, _, _),
15089 D==E
15090 -> ( A=suspension(_, _, _, _, F, G),
15091 setarg(2, A, removed),
15092 term_variables(term(F, G), L),
15093 ( arg(4, A, H),
15094 ( var(H)
15095 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15096 I),
15097 I=[_|J],
15098 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15099 J),
15100 ( J=[K|_]
15101 -> setarg(4, K, _)
15102 ; true
15103 )
15104 ; H=[_, _|J],
15105 setarg(2, H, J),
15106 ( J=[K|_]
15107 -> setarg(4, K, H)
15108 ; true
15109 )
15110 )
15111 ),
15112 'detach_known/1_1_$special_;/2___2'(L, A)
15113 ),
15114 'known/1_1_$special_functor/3___3__2__0__12'(M,
15115 E,
15116 N,
15117 O,
15118 P)
15119 ; 'known/1_1_$special_functor/3___3__2__0__12'(M,
15120 E,
15121 N,
15122 O,
15123 P)
15124 ).
15125'known/1_1_$special_functor/3___3__2'(A, B, C, D) :-
15126 'known/1_1_$special_functor/3___3__3'(A, B, C, D).
15127'known/1_1_$special_functor/3___3__3'(_, _, _, A) :-
15128 arg(2, A, D),
15129 setarg(2, A, active),
15130 arg(3, A, B),
15131 C is B+1,
15132 setarg(3, A, C),
15133 ( D==not_stored_yet
15134 -> A=suspension(_, _, _, _, E, F, G),
15135 term_variables(term(E, F, G), H),
15136 'chr none_locked'(H),
15137 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
15138 I),
15139 J=[A|I],
15140 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
15141 J),
15142 ( I=[K|_]
15143 -> setarg(4, K, J)
15144 ; true
15145 )
15146 ),
15147 'attach_known/1_1_$special_functor/3___3'(H, A)
15148 ; true
15149 ).
15150'known/1_1_$special_\\=/2'(A, B) :-
15151 'known/1_1_$special_\\=/2___2__0'(A, B, _).
15152'known/1_1_$special_\\=/2___2__0'(A, B, I) :-
15153 ( 'chr newvia_2'(A, B, C)
15154 -> get_attr(C, guard_entailment, D),
15155 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _)
15156 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15157 E)
15158 ),
15159 member(F, E),
15160 F=suspension(_, active, _, _, _, G, H),
15161 G==A,
15162 H==B,
15163 !,
15164 ( var(I)
15165 -> true
15166 ; I=suspension(_, J, _, _, _, K, L),
15167 setarg(2, I, removed),
15168 ( J==not_stored_yet
15169 -> M=[]
15170 ; term_variables(term(K, L), M),
15171 ( arg(5, I, N),
15172 ( var(N)
15173 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15174 O),
15175 O=[_|P],
15176 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15177 P),
15178 ( P=[Q|_]
15179 -> setarg(5, Q, _)
15180 ; true
15181 )
15182 ; N=[_, _|P],
15183 setarg(2, N, P),
15184 ( P=[Q|_]
15185 -> setarg(5, Q, N)
15186 ; true
15187 )
15188 )
15189 ),
15190 'detach_known/1_1_$special_\\=/2___2'(M, I)
15191 )
15192 ).
15193'known/1_1_$special_\\=/2___2__0'(_, _, C) :-
15194 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
15195 A),
15196 member(B, A),
15197 B=suspension(_, active, _),
15198 !,
15199 ( var(C)
15200 -> true
15201 ; C=suspension(_, D, _, _, _, E, F),
15202 setarg(2, C, removed),
15203 ( D==not_stored_yet
15204 -> G=[]
15205 ; term_variables(term(E, F), G),
15206 ( arg(5, C, H),
15207 ( var(H)
15208 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15209 I),
15210 I=[_|J],
15211 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15212 J),
15213 ( J=[K|_]
15214 -> setarg(5, K, _)
15215 ; true
15216 )
15217 ; H=[_, _|J],
15218 setarg(2, H, J),
15219 ( J=[K|_]
15220 -> setarg(5, K, H)
15221 ; true
15222 )
15223 )
15224 ),
15225 'detach_known/1_1_$special_\\=/2___2'(G, C)
15226 )
15227 ).
15228'known/1_1_$special_\\=/2___2__0'(B, A, C) :-
15229 ground(A),
15230 ground(B),
15231 'chr lock'(B),
15232 'chr lock'(A),
15233 B=A,
15234 'chr unlock'(B),
15235 'chr unlock'(A),
15236 !,
15237 ( var(C)
15238 -> true
15239 ; C=suspension(_, D, _, _, _, E, F),
15240 setarg(2, C, removed),
15241 ( D==not_stored_yet
15242 -> G=[]
15243 ; term_variables(term(E, F), G),
15244 ( arg(5, C, H),
15245 ( var(H)
15246 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15247 I),
15248 I=[_|J],
15249 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15250 J),
15251 ( J=[K|_]
15252 -> setarg(5, K, _)
15253 ; true
15254 )
15255 ; H=[_, _|J],
15256 setarg(2, H, J),
15257 ( J=[K|_]
15258 -> setarg(5, K, H)
15259 ; true
15260 )
15261 )
15262 ),
15263 'detach_known/1_1_$special_\\=/2___2'(G, C)
15264 )
15265 ),
15266 'known/1_1_$special_fail/0'.
15267'known/1_1_$special_\\=/2___2__0'(B, A, C) :-
15268 A==B,
15269 !,
15270 ( var(C)
15271 -> true
15272 ; C=suspension(_, D, _, _, _, E, F),
15273 setarg(2, C, removed),
15274 ( D==not_stored_yet
15275 -> G=[]
15276 ; term_variables(term(E, F), G),
15277 ( arg(5, C, H),
15278 ( var(H)
15279 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15280 I),
15281 I=[_|J],
15282 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15283 J),
15284 ( J=[K|_]
15285 -> setarg(5, K, _)
15286 ; true
15287 )
15288 ; H=[_, _|J],
15289 setarg(2, H, J),
15290 ( J=[K|_]
15291 -> setarg(5, K, H)
15292 ; true
15293 )
15294 )
15295 ),
15296 'detach_known/1_1_$special_\\=/2___2'(G, C)
15297 )
15298 ),
15299 'known/1_1_$special_fail/0'.
15300'known/1_1_$special_\\=/2___2__0'(B, A, D) :-
15301 nonvar(A),
15302 ( var(B),
15303 'chr lock'(A),
15304 functor(A, M, C),
15305 C>0,
15306 'chr unlock'(A),
15307 !,
15308 ( var(D)
15309 -> true
15310 ; D=suspension(_, E, _, _, _, F, G),
15311 setarg(2, D, removed),
15312 ( E==not_stored_yet
15313 -> H=[]
15314 ; term_variables(term(F, G), H),
15315 ( arg(5, D, I),
15316 ( var(I)
15317 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15318 J),
15319 J=[_|K],
15320 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15321 K),
15322 ( K=[L|_]
15323 -> setarg(5, L, _)
15324 ; true
15325 )
15326 ; I=[_, _|K],
15327 setarg(2, I, K),
15328 ( K=[L|_]
15329 -> setarg(5, L, I)
15330 ; true
15331 )
15332 )
15333 ),
15334 'detach_known/1_1_$special_\\=/2___2'(H, D)
15335 )
15336 ),
15337 length(N, C),
15338 A=..[M|O],
15339 P=..[M|N],
15340 add_args_nunif(O, N, Q),
15341 R=(\+functor(B, M, C);B=P, Q),
15342 known(R)
15343 ; nonvar(B),
15344 'chr lock'(B),
15345 functor(B, A1, B1),
15346 'chr unlock'(B),
15347 !,
15348 ( var(D)
15349 -> true
15350 ; D=suspension(_, S, _, _, _, T, U),
15351 setarg(2, D, removed),
15352 ( S==not_stored_yet
15353 -> V=[]
15354 ; term_variables(term(T, U), V),
15355 ( arg(5, D, W),
15356 ( var(W)
15357 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15358 X),
15359 X=[_|Y],
15360 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15361 Y),
15362 ( Y=[Z|_]
15363 -> setarg(5, Z, _)
15364 ; true
15365 )
15366 ; W=[_, _|Y],
15367 setarg(2, W, Y),
15368 ( Y=[Z|_]
15369 -> setarg(5, Z, W)
15370 ; true
15371 )
15372 )
15373 ),
15374 'detach_known/1_1_$special_\\=/2___2'(V, D)
15375 )
15376 ),
15377 ( functor(A, A1, B1)
15378 -> B=..[A1|C1],
15379 A=..[A1|D1],
15380 add_args_nunif(C1, D1, E1),
15381 known(E1)
15382 ; true
15383 )
15384 ).
15385'known/1_1_$special_\\=/2___2__0'(B, C, A) :-
15386 ( var(A)
15387 -> A=suspension(D, not_stored_yet, t, 0, _, B, C),
15388 'chr gen_id'(D)
15389 ; true
15390 ),
15391 ( '$novel_production'(A, 182),
15392 !,
15393 '$extend_history'(A, 182),
15394 arg(2, A, G),
15395 setarg(2, A, active),
15396 arg(4, A, E),
15397 F is E+1,
15398 setarg(4, A, F),
15399 ( G==not_stored_yet
15400 -> A=suspension(_, _, _, _, _, H, I),
15401 term_variables(term(H, I), J),
15402 'chr none_locked'(J),
15403 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15404 K),
15405 L=[A|K],
15406 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15407 L),
15408 ( K=[M|_]
15409 -> setarg(5, M, L)
15410 ; true
15411 )
15412 ),
15413 'attach_known/1_1_$special_\\=/2___2'(J, A)
15414 ; true
15415 ),
15416 'known/1_1_$special_\\=/2'(C, B),
15417 ( A=suspension(_, active, _, F, _, _, _)
15418 -> setarg(2, A, inactive),
15419 'known/1_1_$special_\\=/2___2__1'(B, C, A)
15420 ; true
15421 )
15422 ; 'known/1_1_$special_\\=/2___2__1'(B, C, A)
15423 ).
15424'known/1_1_$special_\\=/2___2__1'(A, B, P) :-
15425 ( 'chr newvia_2'(A, B, C)
15426 -> get_attr(C, guard_entailment, D),
15427 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
15428 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
15429 E)
15430 ),
15431 member(F, E),
15432 F=suspension(_, active, _, _, G),
15433 nonvar(G),
15434 G=(H\=I),
15435 H==A,
15436 I==B,
15437 !,
15438 F=suspension(_, _, _, _, J),
15439 setarg(2, F, removed),
15440 term_variables(J, O),
15441 arg(4, F, K),
15442 ( var(K)
15443 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
15444 L),
15445 L=[_|M],
15446 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
15447 M),
15448 ( M=[N|_]
15449 -> setarg(4, N, _)
15450 ; true
15451 )
15452 ; K=[_, _|M],
15453 setarg(2, K, M),
15454 ( M=[N|_]
15455 -> setarg(4, N, K)
15456 ; true
15457 )
15458 ),
15459 'detach_known/1_1_$special_\\+/1___1'(O, F),
15460 ( var(P)
15461 -> true
15462 ; P=suspension(_, Q, _, _, _, R, S),
15463 setarg(2, P, removed),
15464 ( Q==not_stored_yet
15465 -> T=[]
15466 ; term_variables(term(R, S), T),
15467 ( arg(5, P, U),
15468 ( var(U)
15469 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15470 V),
15471 V=[_|W],
15472 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15473 W),
15474 ( W=[X|_]
15475 -> setarg(5, X, _)
15476 ; true
15477 )
15478 ; U=[_, _|W],
15479 setarg(2, U, W),
15480 ( W=[X|_]
15481 -> setarg(5, X, U)
15482 ; true
15483 )
15484 )
15485 ),
15486 'detach_known/1_1_$special_\\=/2___2'(T, P)
15487 )
15488 ),
15489 'known/1_1_$special_fail/0'.
15490'known/1_1_$special_\\=/2___2__1'(A, B, F) :-
15491 ( 'chr newvia_2'(A, B, C)
15492 -> get_attr(C, guard_entailment, D),
15493 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
15494 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15495 E)
15496 ),
15497 !,
15498 'known/1_1_$special_\\=/2___2__1__0__11'(E, A, B, F).
15499'known/1_1_$special_\\=/2___2__1__0__11'([], A, B, C) :-
15500 'known/1_1_$special_\\=/2___2__2'(A, B, C).
15501'known/1_1_$special_\\=/2___2__1__0__11'([A|Z], E, G, O) :-
15502 ( A=suspension(_, active, _, _, B, Y),
15503 nonvar(B),
15504 B=(\+C),
15505 nonvar(C),
15506 C=(D\=F),
15507 D==E,
15508 F==G
15509 -> ( A=suspension(_, _, _, _, H, I),
15510 setarg(2, A, removed),
15511 term_variables(term(H, I), N),
15512 ( arg(4, A, J),
15513 ( var(J)
15514 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15515 K),
15516 K=[_|L],
15517 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15518 L),
15519 ( L=[M|_]
15520 -> setarg(4, M, _)
15521 ; true
15522 )
15523 ; J=[_, _|L],
15524 setarg(2, J, L),
15525 ( L=[M|_]
15526 -> setarg(4, M, J)
15527 ; true
15528 )
15529 )
15530 ),
15531 'detach_known/1_1_$special_;/2___2'(N, A)
15532 ),
15533 ( arg(2, O, R),
15534 setarg(2, O, active),
15535 ( arg(4, O, P),
15536 Q is P+1,
15537 setarg(4, O, Q)
15538 ),
15539 ( R==not_stored_yet
15540 -> O=suspension(_, _, _, _, _, S, T),
15541 term_variables(term(S, T), U),
15542 'chr none_locked'(U),
15543 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15544 V),
15545 W=[O|V],
15546 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15547 W),
15548 ( V=[X|_]
15549 -> setarg(5, X, W)
15550 ; true
15551 )
15552 ),
15553 'attach_known/1_1_$special_\\=/2___2'(U, O)
15554 ; true
15555 )
15556 ),
15557 known(Y),
15558 ( O=suspension(_, active, _, Q, _, _, _)
15559 -> setarg(2, O, inactive),
15560 'known/1_1_$special_\\=/2___2__1__0__11'(Z,
15561 E,
15562 G,
15563 O)
15564 ; true
15565 )
15566 ; 'known/1_1_$special_\\=/2___2__1__0__11'(Z,
15567 E,
15568 G,
15569 O)
15570 ).
15571'known/1_1_$special_\\=/2___2__1'(A, B, C) :-
15572 'known/1_1_$special_\\=/2___2__2'(A, B, C).
15573'known/1_1_$special_\\=/2___2__2'(A, B, F) :-
15574 ( 'chr newvia_2'(A, B, C)
15575 -> get_attr(C, guard_entailment, D),
15576 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
15577 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15578 E)
15579 ),
15580 !,
15581 'known/1_1_$special_\\=/2___2__2__0__12'(E, A, B, F).
15582'known/1_1_$special_\\=/2___2__2__0__12'([], A, B, C) :-
15583 'known/1_1_$special_\\=/2___2__3'(A, B, C).
15584'known/1_1_$special_\\=/2___2__2__0__12'([A|A1], F, H, P) :-
15585 ( A=suspension(_, active, _, _, B, Z),
15586 nonvar(B),
15587 B=(C, _),
15588 nonvar(C),
15589 C=(\+D),
15590 nonvar(D),
15591 D=(E\=G),
15592 E==F,
15593 G==H
15594 -> ( A=suspension(_, _, _, _, I, J),
15595 setarg(2, A, removed),
15596 term_variables(term(I, J), O),
15597 ( arg(4, A, K),
15598 ( var(K)
15599 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15600 L),
15601 L=[_|M],
15602 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15603 M),
15604 ( M=[N|_]
15605 -> setarg(4, N, _)
15606 ; true
15607 )
15608 ; K=[_, _|M],
15609 setarg(2, K, M),
15610 ( M=[N|_]
15611 -> setarg(4, N, K)
15612 ; true
15613 )
15614 )
15615 ),
15616 'detach_known/1_1_$special_;/2___2'(O, A)
15617 ),
15618 ( arg(2, P, S),
15619 setarg(2, P, active),
15620 ( arg(4, P, Q),
15621 R is Q+1,
15622 setarg(4, P, R)
15623 ),
15624 ( S==not_stored_yet
15625 -> P=suspension(_, _, _, _, _, T, U),
15626 term_variables(term(T, U), V),
15627 'chr none_locked'(V),
15628 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15629 W),
15630 X=[P|W],
15631 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15632 X),
15633 ( W=[Y|_]
15634 -> setarg(5, Y, X)
15635 ; true
15636 )
15637 ),
15638 'attach_known/1_1_$special_\\=/2___2'(V, P)
15639 ; true
15640 )
15641 ),
15642 known(Z),
15643 ( P=suspension(_, active, _, R, _, _, _)
15644 -> setarg(2, P, inactive),
15645 'known/1_1_$special_\\=/2___2__2__0__12'(A1,
15646 F,
15647 H,
15648 P)
15649 ; true
15650 )
15651 ; 'known/1_1_$special_\\=/2___2__2__0__12'(A1,
15652 F,
15653 H,
15654 P)
15655 ).
15656'known/1_1_$special_\\=/2___2__2'(A, B, C) :-
15657 'known/1_1_$special_\\=/2___2__3'(A, B, C).
15658'known/1_1_$special_\\=/2___2__3'(_, _, A) :-
15659 arg(2, A, D),
15660 setarg(2, A, active),
15661 arg(4, A, B),
15662 C is B+1,
15663 setarg(4, A, C),
15664 ( D==not_stored_yet
15665 -> A=suspension(_, _, _, _, _, E, F),
15666 term_variables(term(E, F), G),
15667 'chr none_locked'(G),
15668 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15669 H),
15670 I=[A|H],
15671 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
15672 I),
15673 ( H=[J|_]
15674 -> setarg(5, J, I)
15675 ; true
15676 )
15677 ),
15678 'attach_known/1_1_$special_\\=/2___2'(G, A)
15679 ; true
15680 ).
15681'known/1_1_$special_=/2'(A, B) :-
15682 'known/1_1_$special_=/2___2__0'(A, B, _).
15683'known/1_1_$special_=/2___2__0'(A, B, I) :-
15684 ( 'chr newvia_2'(A, B, C)
15685 -> get_attr(C, guard_entailment, D),
15686 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _)
15687 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15688 E)
15689 ),
15690 member(F, E),
15691 F=suspension(_, active, _, _, G, H),
15692 G==A,
15693 H==B,
15694 !,
15695 ( var(I)
15696 -> true
15697 ; I=suspension(_, J, _, _, K, L),
15698 setarg(2, I, removed),
15699 ( J==not_stored_yet
15700 -> M=[]
15701 ; term_variables(term(K, L), M),
15702 ( arg(4, I, N),
15703 ( var(N)
15704 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15705 O),
15706 O=[_|P],
15707 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15708 P),
15709 ( P=[Q|_]
15710 -> setarg(4, Q, _)
15711 ; true
15712 )
15713 ; N=[_, _|P],
15714 setarg(2, N, P),
15715 ( P=[Q|_]
15716 -> setarg(4, Q, N)
15717 ; true
15718 )
15719 )
15720 ),
15721 'detach_known/1_1_$special_=/2___2'(M, I)
15722 )
15723 ).
15724'known/1_1_$special_=/2___2__0'(_, _, C) :-
15725 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
15726 A),
15727 member(B, A),
15728 B=suspension(_, active, _),
15729 !,
15730 ( var(C)
15731 -> true
15732 ; C=suspension(_, D, _, _, E, F),
15733 setarg(2, C, removed),
15734 ( D==not_stored_yet
15735 -> G=[]
15736 ; term_variables(term(E, F), G),
15737 ( arg(4, C, H),
15738 ( var(H)
15739 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15740 I),
15741 I=[_|J],
15742 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15743 J),
15744 ( J=[K|_]
15745 -> setarg(4, K, _)
15746 ; true
15747 )
15748 ; H=[_, _|J],
15749 setarg(2, H, J),
15750 ( J=[K|_]
15751 -> setarg(4, K, H)
15752 ; true
15753 )
15754 )
15755 ),
15756 'detach_known/1_1_$special_=/2___2'(G, C)
15757 )
15758 ).
15759'known/1_1_$special_=/2___2__0'(B, A, C) :-
15760 A==B,
15761 !,
15762 ( var(C)
15763 -> true
15764 ; C=suspension(_, D, _, _, E, F),
15765 setarg(2, C, removed),
15766 ( D==not_stored_yet
15767 -> G=[]
15768 ; term_variables(term(E, F), G),
15769 ( arg(4, C, H),
15770 ( var(H)
15771 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15772 I),
15773 I=[_|J],
15774 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15775 J),
15776 ( J=[K|_]
15777 -> setarg(4, K, _)
15778 ; true
15779 )
15780 ; H=[_, _|J],
15781 setarg(2, H, J),
15782 ( J=[K|_]
15783 -> setarg(4, K, H)
15784 ; true
15785 )
15786 )
15787 ),
15788 'detach_known/1_1_$special_=/2___2'(G, C)
15789 )
15790 ).
15791'known/1_1_$special_=/2___2__0'(A, K, B) :-
15792 var(A),
15793 !,
15794 ( var(B)
15795 -> true
15796 ; B=suspension(_, C, _, _, D, E),
15797 setarg(2, B, removed),
15798 ( C==not_stored_yet
15799 -> F=[]
15800 ; term_variables(term(D, E), F),
15801 ( arg(4, B, G),
15802 ( var(G)
15803 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15804 H),
15805 H=[_|I],
15806 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15807 I),
15808 ( I=[J|_]
15809 -> setarg(4, J, _)
15810 ; true
15811 )
15812 ; G=[_, _|I],
15813 setarg(2, G, I),
15814 ( I=[J|_]
15815 -> setarg(4, J, G)
15816 ; true
15817 )
15818 )
15819 ),
15820 'detach_known/1_1_$special_=/2___2'(F, B)
15821 )
15822 ),
15823 A=K.
15824'known/1_1_$special_=/2___2__0'(K, A, B) :-
15825 var(A),
15826 !,
15827 ( var(B)
15828 -> true
15829 ; B=suspension(_, C, _, _, D, E),
15830 setarg(2, B, removed),
15831 ( C==not_stored_yet
15832 -> F=[]
15833 ; term_variables(term(D, E), F),
15834 ( arg(4, B, G),
15835 ( var(G)
15836 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15837 H),
15838 H=[_|I],
15839 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15840 I),
15841 ( I=[J|_]
15842 -> setarg(4, J, _)
15843 ; true
15844 )
15845 ; G=[_, _|I],
15846 setarg(2, G, I),
15847 ( I=[J|_]
15848 -> setarg(4, J, G)
15849 ; true
15850 )
15851 )
15852 ),
15853 'detach_known/1_1_$special_=/2___2'(F, B)
15854 )
15855 ),
15856 K=A.
15857'known/1_1_$special_=/2___2__0'(A, K, B) :-
15858 'chr lock'(A),
15859 functor(A, L, M),
15860 'chr unlock'(A),
15861 !,
15862 ( var(B)
15863 -> true
15864 ; B=suspension(_, C, _, _, D, E),
15865 setarg(2, B, removed),
15866 ( C==not_stored_yet
15867 -> F=[]
15868 ; term_variables(term(D, E), F),
15869 ( arg(4, B, G),
15870 ( var(G)
15871 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15872 H),
15873 H=[_|I],
15874 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15875 I),
15876 ( I=[J|_]
15877 -> setarg(4, J, _)
15878 ; true
15879 )
15880 ; G=[_, _|I],
15881 setarg(2, G, I),
15882 ( I=[J|_]
15883 -> setarg(4, J, G)
15884 ; true
15885 )
15886 )
15887 ),
15888 'detach_known/1_1_$special_=/2___2'(F, B)
15889 )
15890 ),
15891 ( functor(K, L, M),
15892 A=K
15893 -> true
15894 ; 'known/1_1_$special_fail/0'
15895 ).
15896'known/1_1_$special_=/2___2__0'(A, B, P) :-
15897 ( 'chr newvia_2'(A, B, C)
15898 -> get_attr(C, guard_entailment, D),
15899 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
15900 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
15901 E)
15902 ),
15903 member(F, E),
15904 F=suspension(_, active, _, _, G),
15905 nonvar(G),
15906 G=(H=I),
15907 H==A,
15908 I==B,
15909 !,
15910 F=suspension(_, _, _, _, J),
15911 setarg(2, F, removed),
15912 term_variables(J, O),
15913 arg(4, F, K),
15914 ( var(K)
15915 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
15916 L),
15917 L=[_|M],
15918 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
15919 M),
15920 ( M=[N|_]
15921 -> setarg(4, N, _)
15922 ; true
15923 )
15924 ; K=[_, _|M],
15925 setarg(2, K, M),
15926 ( M=[N|_]
15927 -> setarg(4, N, K)
15928 ; true
15929 )
15930 ),
15931 'detach_known/1_1_$special_\\+/1___1'(O, F),
15932 ( var(P)
15933 -> true
15934 ; P=suspension(_, Q, _, _, R, S),
15935 setarg(2, P, removed),
15936 ( Q==not_stored_yet
15937 -> T=[]
15938 ; term_variables(term(R, S), T),
15939 ( arg(4, P, U),
15940 ( var(U)
15941 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15942 V),
15943 V=[_|W],
15944 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
15945 W),
15946 ( W=[X|_]
15947 -> setarg(4, X, _)
15948 ; true
15949 )
15950 ; U=[_, _|W],
15951 setarg(2, U, W),
15952 ( W=[X|_]
15953 -> setarg(4, X, U)
15954 ; true
15955 )
15956 )
15957 ),
15958 'detach_known/1_1_$special_=/2___2'(T, P)
15959 )
15960 ),
15961 'known/1_1_$special_fail/0'.
15962'known/1_1_$special_=/2___2__0'(A, B, F) :-
15963 ( 'chr newvia_2'(A, B, C)
15964 -> get_attr(C, guard_entailment, D),
15965 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
15966 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15967 E)
15968 ),
15969 !,
15970 ( var(F)
15971 -> F=suspension(G, not_stored_yet, 0, _, A, B),
15972 'chr gen_id'(G)
15973 ; true
15974 ),
15975 'known/1_1_$special_=/2___2__0__0__10'(E, A, B, F).
15976'known/1_1_$special_=/2___2__0__0__10'([], A, B, C) :-
15977 'known/1_1_$special_=/2___2__1'(A, B, C).
15978'known/1_1_$special_=/2___2__0__0__10'([A|Z], E, G, O) :-
15979 ( A=suspension(_, active, _, _, B, Y),
15980 nonvar(B),
15981 B=(\+C),
15982 nonvar(C),
15983 C=(D=F),
15984 D==E,
15985 F==G
15986 -> ( A=suspension(_, _, _, _, H, I),
15987 setarg(2, A, removed),
15988 term_variables(term(H, I), N),
15989 ( arg(4, A, J),
15990 ( var(J)
15991 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15992 K),
15993 K=[_|L],
15994 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
15995 L),
15996 ( L=[M|_]
15997 -> setarg(4, M, _)
15998 ; true
15999 )
16000 ; J=[_, _|L],
16001 setarg(2, J, L),
16002 ( L=[M|_]
16003 -> setarg(4, M, J)
16004 ; true
16005 )
16006 )
16007 ),
16008 'detach_known/1_1_$special_;/2___2'(N, A)
16009 ),
16010 ( arg(2, O, R),
16011 setarg(2, O, active),
16012 ( arg(3, O, P),
16013 Q is P+1,
16014 setarg(3, O, Q)
16015 ),
16016 ( R==not_stored_yet
16017 -> O=suspension(_, _, _, _, S, T),
16018 term_variables(term(S, T), U),
16019 'chr none_locked'(U),
16020 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
16021 V),
16022 W=[O|V],
16023 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
16024 W),
16025 ( V=[X|_]
16026 -> setarg(4, X, W)
16027 ; true
16028 )
16029 ),
16030 'attach_known/1_1_$special_=/2___2'(U, O)
16031 ; true
16032 )
16033 ),
16034 known(Y),
16035 ( O=suspension(_, active, Q, _, _, _)
16036 -> setarg(2, O, inactive),
16037 'known/1_1_$special_=/2___2__0__0__10'(Z,
16038 E,
16039 G,
16040 O)
16041 ; true
16042 )
16043 ; 'known/1_1_$special_=/2___2__0__0__10'(Z,
16044 E,
16045 G,
16046 O)
16047 ).
16048'known/1_1_$special_=/2___2__0'(B, C, A) :-
16049 ( var(A)
16050 -> A=suspension(D, not_stored_yet, 0, _, B, C),
16051 'chr gen_id'(D)
16052 ; true
16053 ),
16054 'known/1_1_$special_=/2___2__1'(B, C, A).
16055'known/1_1_$special_=/2___2__1'(A, B, F) :-
16056 ( 'chr newvia_2'(A, B, C)
16057 -> get_attr(C, guard_entailment, D),
16058 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
16059 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16060 E)
16061 ),
16062 !,
16063 'known/1_1_$special_=/2___2__1__0__11'(E, A, B, F).
16064'known/1_1_$special_=/2___2__1__0__11'([], A, B, C) :-
16065 'known/1_1_$special_=/2___2__2'(A, B, C).
16066'known/1_1_$special_=/2___2__1__0__11'([A|A1], F, H, P) :-
16067 ( A=suspension(_, active, _, _, B, Z),
16068 nonvar(B),
16069 B=(C, _),
16070 nonvar(C),
16071 C=(\+D),
16072 nonvar(D),
16073 D=(E=G),
16074 E==F,
16075 G==H
16076 -> ( A=suspension(_, _, _, _, I, J),
16077 setarg(2, A, removed),
16078 term_variables(term(I, J), O),
16079 ( arg(4, A, K),
16080 ( var(K)
16081 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16082 L),
16083 L=[_|M],
16084 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16085 M),
16086 ( M=[N|_]
16087 -> setarg(4, N, _)
16088 ; true
16089 )
16090 ; K=[_, _|M],
16091 setarg(2, K, M),
16092 ( M=[N|_]
16093 -> setarg(4, N, K)
16094 ; true
16095 )
16096 )
16097 ),
16098 'detach_known/1_1_$special_;/2___2'(O, A)
16099 ),
16100 ( arg(2, P, S),
16101 setarg(2, P, active),
16102 ( arg(3, P, Q),
16103 R is Q+1,
16104 setarg(3, P, R)
16105 ),
16106 ( S==not_stored_yet
16107 -> P=suspension(_, _, _, _, T, U),
16108 term_variables(term(T, U), V),
16109 'chr none_locked'(V),
16110 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
16111 W),
16112 X=[P|W],
16113 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
16114 X),
16115 ( W=[Y|_]
16116 -> setarg(4, Y, X)
16117 ; true
16118 )
16119 ),
16120 'attach_known/1_1_$special_=/2___2'(V, P)
16121 ; true
16122 )
16123 ),
16124 known(Z),
16125 ( P=suspension(_, active, R, _, _, _)
16126 -> setarg(2, P, inactive),
16127 'known/1_1_$special_=/2___2__1__0__11'(A1,
16128 F,
16129 H,
16130 P)
16131 ; true
16132 )
16133 ; 'known/1_1_$special_=/2___2__1__0__11'(A1,
16134 F,
16135 H,
16136 P)
16137 ).
16138'known/1_1_$special_=/2___2__1'(A, B, C) :-
16139 'known/1_1_$special_=/2___2__2'(A, B, C).
16140'known/1_1_$special_=/2___2__2'(_, _, A) :-
16141 arg(2, A, D),
16142 setarg(2, A, active),
16143 arg(3, A, B),
16144 C is B+1,
16145 setarg(3, A, C),
16146 ( D==not_stored_yet
16147 -> A=suspension(_, _, _, _, E, F),
16148 term_variables(term(E, F), G),
16149 'chr none_locked'(G),
16150 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
16151 H),
16152 I=[A|H],
16153 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
16154 I),
16155 ( H=[J|_]
16156 -> setarg(4, J, I)
16157 ; true
16158 )
16159 ),
16160 'attach_known/1_1_$special_=/2___2'(G, A)
16161 ; true
16162 ).
16163'known/1_1_$special_,/2'(_, _) :-
16164 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
16165 A),
16166 member(B, A),
16167 B=suspension(_, active, _),
16168 !.
16169'known/1_1_$special_,/2'(A, B) :-
16170 known(A),
16171 known(B).
16172'known/1_1_$special_\\==/2'(A, B) :-
16173 'known/1_1_$special_\\==/2___2__0'(A, B, _).
16174'known/1_1_$special_\\==/2___2__0'(A, B, I) :-
16175 ( 'chr newvia_2'(A, B, C)
16176 -> get_attr(C, guard_entailment, D),
16177 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _)
16178 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16179 E)
16180 ),
16181 member(F, E),
16182 F=suspension(_, active, _, _, _, G, H),
16183 G==A,
16184 H==B,
16185 !,
16186 ( var(I)
16187 -> true
16188 ; I=suspension(_, J, _, _, _, K, L),
16189 setarg(2, I, removed),
16190 ( J==not_stored_yet
16191 -> M=[]
16192 ; term_variables(term(K, L), M),
16193 ( arg(5, I, N),
16194 ( var(N)
16195 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16196 O),
16197 O=[_|P],
16198 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16199 P),
16200 ( P=[Q|_]
16201 -> setarg(5, Q, _)
16202 ; true
16203 )
16204 ; N=[_, _|P],
16205 setarg(2, N, P),
16206 ( P=[Q|_]
16207 -> setarg(5, Q, N)
16208 ; true
16209 )
16210 )
16211 ),
16212 'detach_known/1_1_$special_\\==/2___2'(M, I)
16213 )
16214 ).
16215'known/1_1_$special_\\==/2___2__0'(B, C, A) :-
16216 ( var(A)
16217 -> A=suspension(D, not_stored_yet, t, 0, _, B, C),
16218 'chr gen_id'(D)
16219 ; true
16220 ),
16221 ( '$novel_production'(A, 138),
16222 number(B),
16223 !,
16224 '$extend_history'(A, 138),
16225 arg(2, A, G),
16226 setarg(2, A, active),
16227 arg(4, A, E),
16228 F is E+1,
16229 setarg(4, A, F),
16230 ( G==not_stored_yet
16231 -> A=suspension(_, _, _, _, _, H, I),
16232 term_variables(term(H, I), J),
16233 'chr none_locked'(J),
16234 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16235 K),
16236 L=[A|K],
16237 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16238 L),
16239 ( K=[M|_]
16240 -> setarg(5, M, L)
16241 ; true
16242 )
16243 ),
16244 'attach_known/1_1_$special_\\==/2___2'(J, A)
16245 ; true
16246 ),
16247 'known/1_1_$special_=\\=/2'(B, C),
16248 ( A=suspension(_, active, _, F, _, _, _)
16249 -> setarg(2, A, inactive),
16250 'known/1_1_$special_\\==/2___2__1'(B, C, A)
16251 ; true
16252 )
16253 ; 'known/1_1_$special_\\==/2___2__1'(B, C, A)
16254 ).
16255'known/1_1_$special_\\==/2___2__1'(L, B, A) :-
16256 '$novel_production'(A, 139),
16257 number(B),
16258 !,
16259 '$extend_history'(A, 139),
16260 arg(2, A, E),
16261 setarg(2, A, active),
16262 arg(4, A, C),
16263 D is C+1,
16264 setarg(4, A, D),
16265 ( E==not_stored_yet
16266 -> A=suspension(_, _, _, _, _, F, G),
16267 term_variables(term(F, G), H),
16268 'chr none_locked'(H),
16269 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16270 I),
16271 J=[A|I],
16272 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16273 J),
16274 ( I=[K|_]
16275 -> setarg(5, K, J)
16276 ; true
16277 )
16278 ),
16279 'attach_known/1_1_$special_\\==/2___2'(H, A)
16280 ; true
16281 ),
16282 'known/1_1_$special_=\\=/2'(L, B),
16283 ( A=suspension(_, active, _, D, _, _, _)
16284 -> setarg(2, A, inactive),
16285 'known/1_1_$special_\\==/2___2__2'(L, B, A)
16286 ; true
16287 ).
16288'known/1_1_$special_\\==/2___2__1'(A, B, C) :-
16289 'known/1_1_$special_\\==/2___2__2'(A, B, C).
16290'known/1_1_$special_\\==/2___2__2'(_, _, C) :-
16291 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
16292 A),
16293 member(B, A),
16294 B=suspension(_, active, _),
16295 !,
16296 ( var(C)
16297 -> true
16298 ; C=suspension(_, D, _, _, _, E, F),
16299 setarg(2, C, removed),
16300 ( D==not_stored_yet
16301 -> G=[]
16302 ; term_variables(term(E, F), G),
16303 ( arg(5, C, H),
16304 ( var(H)
16305 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16306 I),
16307 I=[_|J],
16308 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16309 J),
16310 ( J=[K|_]
16311 -> setarg(5, K, _)
16312 ; true
16313 )
16314 ; H=[_, _|J],
16315 setarg(2, H, J),
16316 ( J=[K|_]
16317 -> setarg(5, K, H)
16318 ; true
16319 )
16320 )
16321 ),
16322 'detach_known/1_1_$special_\\==/2___2'(G, C)
16323 )
16324 ).
16325'known/1_1_$special_\\==/2___2__2'(A, B, P) :-
16326 ( 'chr newvia_2'(A, B, C)
16327 -> get_attr(C, guard_entailment, D),
16328 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
16329 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
16330 E)
16331 ),
16332 member(F, E),
16333 F=suspension(_, active, _, _, G),
16334 nonvar(G),
16335 G=(H\==I),
16336 H==A,
16337 I==B,
16338 !,
16339 F=suspension(_, _, _, _, J),
16340 setarg(2, F, removed),
16341 term_variables(J, O),
16342 arg(4, F, K),
16343 ( var(K)
16344 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
16345 L),
16346 L=[_|M],
16347 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
16348 M),
16349 ( M=[N|_]
16350 -> setarg(4, N, _)
16351 ; true
16352 )
16353 ; K=[_, _|M],
16354 setarg(2, K, M),
16355 ( M=[N|_]
16356 -> setarg(4, N, K)
16357 ; true
16358 )
16359 ),
16360 'detach_known/1_1_$special_\\+/1___1'(O, F),
16361 ( var(P)
16362 -> true
16363 ; P=suspension(_, Q, _, _, _, R, S),
16364 setarg(2, P, removed),
16365 ( Q==not_stored_yet
16366 -> T=[]
16367 ; term_variables(term(R, S), T),
16368 ( arg(5, P, U),
16369 ( var(U)
16370 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16371 V),
16372 V=[_|W],
16373 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16374 W),
16375 ( W=[X|_]
16376 -> setarg(5, X, _)
16377 ; true
16378 )
16379 ; U=[_, _|W],
16380 setarg(2, U, W),
16381 ( W=[X|_]
16382 -> setarg(5, X, U)
16383 ; true
16384 )
16385 )
16386 ),
16387 'detach_known/1_1_$special_\\==/2___2'(T, P)
16388 )
16389 ),
16390 'known/1_1_$special_fail/0'.
16391'known/1_1_$special_\\==/2___2__2'(A, B, P) :-
16392 ( 'chr newvia_2'(A, B, C)
16393 -> get_attr(C, guard_entailment, D),
16394 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _)
16395 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16396 E)
16397 ),
16398 member(F, E),
16399 F=suspension(_, active, _, _, _, G, H),
16400 G==A,
16401 H==B,
16402 !,
16403 F=suspension(_, _, _, _, _, I, J),
16404 setarg(2, F, removed),
16405 term_variables(term(I, J), O),
16406 arg(5, F, K),
16407 ( var(K)
16408 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16409 L),
16410 L=[_|M],
16411 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16412 M),
16413 ( M=[N|_]
16414 -> setarg(5, N, _)
16415 ; true
16416 )
16417 ; K=[_, _|M],
16418 setarg(2, K, M),
16419 ( M=[N|_]
16420 -> setarg(5, N, K)
16421 ; true
16422 )
16423 ),
16424 'detach_known/1_1_$special_==/2___2'(O, F),
16425 ( var(P)
16426 -> true
16427 ; P=suspension(_, Q, _, _, _, R, S),
16428 setarg(2, P, removed),
16429 ( Q==not_stored_yet
16430 -> T=[]
16431 ; term_variables(term(R, S), T),
16432 ( arg(5, P, U),
16433 ( var(U)
16434 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16435 V),
16436 V=[_|W],
16437 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16438 W),
16439 ( W=[X|_]
16440 -> setarg(5, X, _)
16441 ; true
16442 )
16443 ; U=[_, _|W],
16444 setarg(2, U, W),
16445 ( W=[X|_]
16446 -> setarg(5, X, U)
16447 ; true
16448 )
16449 )
16450 ),
16451 'detach_known/1_1_$special_\\==/2___2'(T, P)
16452 )
16453 ),
16454 'known/1_1_$special_fail/0'.
16455'known/1_1_$special_\\==/2___2__2'(A, E, F) :-
16456 ( 'chr newvia_1'(A, B)
16457 -> get_attr(B, guard_entailment, C),
16458 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _)
16459 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16460 D)
16461 ),
16462 !,
16463 'known/1_1_$special_\\==/2___2__2__0__9'(D, A, E, F).
16464'known/1_1_$special_\\==/2___2__2__0__9'([], A, B, C) :-
16465 'known/1_1_$special_\\==/2___2__3'(A, B, C).
16466'known/1_1_$special_\\==/2___2__2__0__9'([A|Q], C, P, D) :-
16467 ( A=suspension(_, active, _, _, _, O, B),
16468 B==C,
16469 E=t(229, A, D),
16470 '$novel_production'(A, E),
16471 '$novel_production'(D, E)
16472 -> '$extend_history'(D, E),
16473 ( arg(2, D, H),
16474 setarg(2, D, active),
16475 ( arg(4, D, F),
16476 G is F+1,
16477 setarg(4, D, G)
16478 ),
16479 ( H==not_stored_yet
16480 -> D=suspension(_, _, _, _, _, I, J),
16481 term_variables(term(I, J), K),
16482 'chr none_locked'(K),
16483 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16484 L),
16485 M=[D|L],
16486 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16487 M),
16488 ( L=[N|_]
16489 -> setarg(5, N, M)
16490 ; true
16491 )
16492 ),
16493 'attach_known/1_1_$special_\\==/2___2'(K, D)
16494 ; true
16495 )
16496 ),
16497 'known/1_1_$special_\\==/2'(O, P),
16498 ( D=suspension(_, active, _, G, _, _, _)
16499 -> setarg(2, D, inactive),
16500 'known/1_1_$special_\\==/2___2__2__0__9'(Q,
16501 C,
16502 P,
16503 D)
16504 ; true
16505 )
16506 ; 'known/1_1_$special_\\==/2___2__2__0__9'(Q,
16507 C,
16508 P,
16509 D)
16510 ).
16511'known/1_1_$special_\\==/2___2__2'(A, B, C) :-
16512 'known/1_1_$special_\\==/2___2__3'(A, B, C).
16513'known/1_1_$special_\\==/2___2__3'(L, K, A) :-
16514 '$novel_production'(A, 231),
16515 !,
16516 '$extend_history'(A, 231),
16517 arg(2, A, D),
16518 setarg(2, A, active),
16519 arg(4, A, B),
16520 C is B+1,
16521 setarg(4, A, C),
16522 ( D==not_stored_yet
16523 -> A=suspension(_, _, _, _, _, E, F),
16524 term_variables(term(E, F), G),
16525 'chr none_locked'(G),
16526 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16527 H),
16528 I=[A|H],
16529 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16530 I),
16531 ( H=[J|_]
16532 -> setarg(5, J, I)
16533 ; true
16534 )
16535 ),
16536 'attach_known/1_1_$special_\\==/2___2'(G, A)
16537 ; true
16538 ),
16539 'known/1_1_$special_\\==/2'(K, L),
16540 ( A=suspension(_, active, _, C, _, _, _)
16541 -> setarg(2, A, inactive),
16542 'known/1_1_$special_\\==/2___2__4'(L, K, A)
16543 ; true
16544 ).
16545'known/1_1_$special_\\==/2___2__3'(A, B, C) :-
16546 'known/1_1_$special_\\==/2___2__4'(A, B, C).
16547'known/1_1_$special_\\==/2___2__4'(B, A, C) :-
16548 A==B,
16549 '$novel_production'(C, 232),
16550 !,
16551 '$extend_history'(C, 232),
16552 arg(2, C, F),
16553 setarg(2, C, active),
16554 arg(4, C, D),
16555 E is D+1,
16556 setarg(4, C, E),
16557 ( F==not_stored_yet
16558 -> C=suspension(_, _, _, _, _, G, H),
16559 term_variables(term(G, H), I),
16560 'chr none_locked'(I),
16561 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16562 J),
16563 K=[C|J],
16564 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16565 K),
16566 ( J=[L|_]
16567 -> setarg(5, L, K)
16568 ; true
16569 )
16570 ),
16571 'attach_known/1_1_$special_\\==/2___2'(I, C)
16572 ; true
16573 ),
16574 'known/1_1_$special_fail/0',
16575 ( C=suspension(_, active, _, E, _, _, _)
16576 -> setarg(2, C, inactive),
16577 'known/1_1_$special_\\==/2___2__5'(B, A, C)
16578 ; true
16579 ).
16580'known/1_1_$special_\\==/2___2__4'(A, B, C) :-
16581 'known/1_1_$special_\\==/2___2__5'(A, B, C).
16582'known/1_1_$special_\\==/2___2__5'(B, A, C) :-
16583 nonvar(A),
16584 nonvar(B),
16585 'chr lock'(B),
16586 functor(B, L, M),
16587 'chr unlock'(B),
16588 !,
16589 ( var(C)
16590 -> true
16591 ; C=suspension(_, D, _, _, _, E, F),
16592 setarg(2, C, removed),
16593 ( D==not_stored_yet
16594 -> G=[]
16595 ; term_variables(term(E, F), G),
16596 ( arg(5, C, H),
16597 ( var(H)
16598 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16599 I),
16600 I=[_|J],
16601 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16602 J),
16603 ( J=[K|_]
16604 -> setarg(5, K, _)
16605 ; true
16606 )
16607 ; H=[_, _|J],
16608 setarg(2, H, J),
16609 ( J=[K|_]
16610 -> setarg(5, K, H)
16611 ; true
16612 )
16613 )
16614 ),
16615 'detach_known/1_1_$special_\\==/2___2'(G, C)
16616 )
16617 ),
16618 ( functor(A, L, M)
16619 -> B=..[L|N],
16620 A=..[L|O],
16621 add_args_nmatch(N, O, P),
16622 known(P)
16623 ; true
16624 ).
16625'known/1_1_$special_\\==/2___2__5'(A, B, F) :-
16626 ( 'chr newvia_2'(A, B, C)
16627 -> get_attr(C, guard_entailment, D),
16628 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
16629 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16630 E)
16631 ),
16632 !,
16633 'known/1_1_$special_\\==/2___2__5__0__13'(E, A, B, F).
16634'known/1_1_$special_\\==/2___2__5__0__13'([], A, B, C) :-
16635 'known/1_1_$special_\\==/2___2__6'(A, B, C).
16636'known/1_1_$special_\\==/2___2__5__0__13'([A|Z], E, G, O) :-
16637 ( A=suspension(_, active, _, _, B, Y),
16638 nonvar(B),
16639 B=(\+C),
16640 nonvar(C),
16641 C=(D\==F),
16642 D==E,
16643 F==G
16644 -> ( A=suspension(_, _, _, _, H, I),
16645 setarg(2, A, removed),
16646 term_variables(term(H, I), N),
16647 ( arg(4, A, J),
16648 ( var(J)
16649 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16650 K),
16651 K=[_|L],
16652 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16653 L),
16654 ( L=[M|_]
16655 -> setarg(4, M, _)
16656 ; true
16657 )
16658 ; J=[_, _|L],
16659 setarg(2, J, L),
16660 ( L=[M|_]
16661 -> setarg(4, M, J)
16662 ; true
16663 )
16664 )
16665 ),
16666 'detach_known/1_1_$special_;/2___2'(N, A)
16667 ),
16668 ( arg(2, O, R),
16669 setarg(2, O, active),
16670 ( arg(4, O, P),
16671 Q is P+1,
16672 setarg(4, O, Q)
16673 ),
16674 ( R==not_stored_yet
16675 -> O=suspension(_, _, _, _, _, S, T),
16676 term_variables(term(S, T), U),
16677 'chr none_locked'(U),
16678 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16679 V),
16680 W=[O|V],
16681 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16682 W),
16683 ( V=[X|_]
16684 -> setarg(5, X, W)
16685 ; true
16686 )
16687 ),
16688 'attach_known/1_1_$special_\\==/2___2'(U, O)
16689 ; true
16690 )
16691 ),
16692 known(Y),
16693 ( O=suspension(_, active, _, Q, _, _, _)
16694 -> setarg(2, O, inactive),
16695 'known/1_1_$special_\\==/2___2__5__0__13'(Z,
16696 E,
16697 G,
16698 O)
16699 ; true
16700 )
16701 ; 'known/1_1_$special_\\==/2___2__5__0__13'(Z,
16702 E,
16703 G,
16704 O)
16705 ).
16706'known/1_1_$special_\\==/2___2__5'(A, B, C) :-
16707 'known/1_1_$special_\\==/2___2__6'(A, B, C).
16708'known/1_1_$special_\\==/2___2__6'(A, B, F) :-
16709 ( 'chr newvia_2'(A, B, C)
16710 -> get_attr(C, guard_entailment, D),
16711 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
16712 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16713 E)
16714 ),
16715 !,
16716 'known/1_1_$special_\\==/2___2__6__0__14'(E, A, B, F).
16717'known/1_1_$special_\\==/2___2__6__0__14'([], A, B, C) :-
16718 'known/1_1_$special_\\==/2___2__7'(A, B, C).
16719'known/1_1_$special_\\==/2___2__6__0__14'([A|A1], F, H, P) :-
16720 ( A=suspension(_, active, _, _, B, Z),
16721 nonvar(B),
16722 B=(C, _),
16723 nonvar(C),
16724 C=(\+D),
16725 nonvar(D),
16726 D=(E\==G),
16727 E==F,
16728 G==H
16729 -> ( A=suspension(_, _, _, _, I, J),
16730 setarg(2, A, removed),
16731 term_variables(term(I, J), O),
16732 ( arg(4, A, K),
16733 ( var(K)
16734 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16735 L),
16736 L=[_|M],
16737 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
16738 M),
16739 ( M=[N|_]
16740 -> setarg(4, N, _)
16741 ; true
16742 )
16743 ; K=[_, _|M],
16744 setarg(2, K, M),
16745 ( M=[N|_]
16746 -> setarg(4, N, K)
16747 ; true
16748 )
16749 )
16750 ),
16751 'detach_known/1_1_$special_;/2___2'(O, A)
16752 ),
16753 ( arg(2, P, S),
16754 setarg(2, P, active),
16755 ( arg(4, P, Q),
16756 R is Q+1,
16757 setarg(4, P, R)
16758 ),
16759 ( S==not_stored_yet
16760 -> P=suspension(_, _, _, _, _, T, U),
16761 term_variables(term(T, U), V),
16762 'chr none_locked'(V),
16763 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16764 W),
16765 X=[P|W],
16766 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16767 X),
16768 ( W=[Y|_]
16769 -> setarg(5, Y, X)
16770 ; true
16771 )
16772 ),
16773 'attach_known/1_1_$special_\\==/2___2'(V, P)
16774 ; true
16775 )
16776 ),
16777 known(Z),
16778 ( P=suspension(_, active, _, R, _, _, _)
16779 -> setarg(2, P, inactive),
16780 'known/1_1_$special_\\==/2___2__6__0__14'(A1,
16781 F,
16782 H,
16783 P)
16784 ; true
16785 )
16786 ; 'known/1_1_$special_\\==/2___2__6__0__14'(A1,
16787 F,
16788 H,
16789 P)
16790 ).
16791'known/1_1_$special_\\==/2___2__6'(A, B, C) :-
16792 'known/1_1_$special_\\==/2___2__7'(A, B, C).
16793'known/1_1_$special_\\==/2___2__7'(_, _, A) :-
16794 arg(2, A, D),
16795 setarg(2, A, active),
16796 arg(4, A, B),
16797 C is B+1,
16798 setarg(4, A, C),
16799 ( D==not_stored_yet
16800 -> A=suspension(_, _, _, _, _, E, F),
16801 term_variables(term(E, F), G),
16802 'chr none_locked'(G),
16803 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16804 H),
16805 I=[A|H],
16806 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
16807 I),
16808 ( H=[J|_]
16809 -> setarg(5, J, I)
16810 ; true
16811 )
16812 ),
16813 'attach_known/1_1_$special_\\==/2___2'(G, A)
16814 ; true
16815 ).
16816'known/1_1_$special_==/2'(A, B) :-
16817 'known/1_1_$special_==/2___2__0'(A, B, _).
16818'known/1_1_$special_==/2___2__0'(A, B, I) :-
16819 ( 'chr newvia_2'(A, B, C)
16820 -> get_attr(C, guard_entailment, D),
16821 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _)
16822 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16823 E)
16824 ),
16825 member(F, E),
16826 F=suspension(_, active, _, _, _, G, H),
16827 G==A,
16828 H==B,
16829 !,
16830 ( var(I)
16831 -> true
16832 ; I=suspension(_, J, _, _, _, K, L),
16833 setarg(2, I, removed),
16834 ( J==not_stored_yet
16835 -> M=[]
16836 ; term_variables(term(K, L), M),
16837 ( arg(5, I, N),
16838 ( var(N)
16839 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16840 O),
16841 O=[_|P],
16842 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16843 P),
16844 ( P=[Q|_]
16845 -> setarg(5, Q, _)
16846 ; true
16847 )
16848 ; N=[_, _|P],
16849 setarg(2, N, P),
16850 ( P=[Q|_]
16851 -> setarg(5, Q, N)
16852 ; true
16853 )
16854 )
16855 ),
16856 'detach_known/1_1_$special_==/2___2'(M, I)
16857 )
16858 ).
16859'known/1_1_$special_==/2___2__0'(B, C, A) :-
16860 ( var(A)
16861 -> A=suspension(D, not_stored_yet, t, 0, _, B, C),
16862 'chr gen_id'(D)
16863 ; true
16864 ),
16865 ( '$novel_production'(A, 136),
16866 number(B),
16867 !,
16868 '$extend_history'(A, 136),
16869 arg(2, A, G),
16870 setarg(2, A, active),
16871 arg(4, A, E),
16872 F is E+1,
16873 setarg(4, A, F),
16874 ( G==not_stored_yet
16875 -> A=suspension(_, _, _, _, _, H, I),
16876 term_variables(term(H, I), J),
16877 'chr none_locked'(J),
16878 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16879 K),
16880 L=[A|K],
16881 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16882 L),
16883 ( K=[M|_]
16884 -> setarg(5, M, L)
16885 ; true
16886 )
16887 ),
16888 'attach_known/1_1_$special_==/2___2'(J, A)
16889 ; true
16890 ),
16891 'known/1_1_$special_=:=/2'(B, C),
16892 ( A=suspension(_, active, _, F, _, _, _)
16893 -> setarg(2, A, inactive),
16894 'known/1_1_$special_==/2___2__1'(B, C, A)
16895 ; true
16896 )
16897 ; 'known/1_1_$special_==/2___2__1'(B, C, A)
16898 ).
16899'known/1_1_$special_==/2___2__1'(L, B, A) :-
16900 '$novel_production'(A, 137),
16901 number(B),
16902 !,
16903 '$extend_history'(A, 137),
16904 arg(2, A, E),
16905 setarg(2, A, active),
16906 arg(4, A, C),
16907 D is C+1,
16908 setarg(4, A, D),
16909 ( E==not_stored_yet
16910 -> A=suspension(_, _, _, _, _, F, G),
16911 term_variables(term(F, G), H),
16912 'chr none_locked'(H),
16913 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16914 I),
16915 J=[A|I],
16916 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16917 J),
16918 ( I=[K|_]
16919 -> setarg(5, K, J)
16920 ; true
16921 )
16922 ),
16923 'attach_known/1_1_$special_==/2___2'(H, A)
16924 ; true
16925 ),
16926 'known/1_1_$special_=:=/2'(L, B),
16927 ( A=suspension(_, active, _, D, _, _, _)
16928 -> setarg(2, A, inactive),
16929 'known/1_1_$special_==/2___2__2'(L, B, A)
16930 ; true
16931 ).
16932'known/1_1_$special_==/2___2__1'(A, B, C) :-
16933 'known/1_1_$special_==/2___2__2'(A, B, C).
16934'known/1_1_$special_==/2___2__2'(_, _, C) :-
16935 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
16936 A),
16937 member(B, A),
16938 B=suspension(_, active, _),
16939 !,
16940 ( var(C)
16941 -> true
16942 ; C=suspension(_, D, _, _, _, E, F),
16943 setarg(2, C, removed),
16944 ( D==not_stored_yet
16945 -> G=[]
16946 ; term_variables(term(E, F), G),
16947 ( arg(5, C, H),
16948 ( var(H)
16949 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16950 I),
16951 I=[_|J],
16952 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16953 J),
16954 ( J=[K|_]
16955 -> setarg(5, K, _)
16956 ; true
16957 )
16958 ; H=[_, _|J],
16959 setarg(2, H, J),
16960 ( J=[K|_]
16961 -> setarg(5, K, H)
16962 ; true
16963 )
16964 )
16965 ),
16966 'detach_known/1_1_$special_==/2___2'(G, C)
16967 )
16968 ).
16969'known/1_1_$special_==/2___2__2'(B, A, C) :-
16970 A==B,
16971 !,
16972 ( var(C)
16973 -> true
16974 ; C=suspension(_, D, _, _, _, E, F),
16975 setarg(2, C, removed),
16976 ( D==not_stored_yet
16977 -> G=[]
16978 ; term_variables(term(E, F), G),
16979 ( arg(5, C, H),
16980 ( var(H)
16981 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16982 I),
16983 I=[_|J],
16984 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
16985 J),
16986 ( J=[K|_]
16987 -> setarg(5, K, _)
16988 ; true
16989 )
16990 ; H=[_, _|J],
16991 setarg(2, H, J),
16992 ( J=[K|_]
16993 -> setarg(5, K, H)
16994 ; true
16995 )
16996 )
16997 ),
16998 'detach_known/1_1_$special_==/2___2'(G, C)
16999 )
17000 ).
17001'known/1_1_$special_==/2___2__2'(A, B, P) :-
17002 ( 'chr newvia_2'(A, B, C)
17003 -> get_attr(C, guard_entailment, D),
17004 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
17005 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
17006 E)
17007 ),
17008 member(F, E),
17009 F=suspension(_, active, _, _, G),
17010 nonvar(G),
17011 G=(H==I),
17012 H==A,
17013 I==B,
17014 !,
17015 F=suspension(_, _, _, _, J),
17016 setarg(2, F, removed),
17017 term_variables(J, O),
17018 arg(4, F, K),
17019 ( var(K)
17020 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
17021 L),
17022 L=[_|M],
17023 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
17024 M),
17025 ( M=[N|_]
17026 -> setarg(4, N, _)
17027 ; true
17028 )
17029 ; K=[_, _|M],
17030 setarg(2, K, M),
17031 ( M=[N|_]
17032 -> setarg(4, N, K)
17033 ; true
17034 )
17035 ),
17036 'detach_known/1_1_$special_\\+/1___1'(O, F),
17037 ( var(P)
17038 -> true
17039 ; P=suspension(_, Q, _, _, _, R, S),
17040 setarg(2, P, removed),
17041 ( Q==not_stored_yet
17042 -> T=[]
17043 ; term_variables(term(R, S), T),
17044 ( arg(5, P, U),
17045 ( var(U)
17046 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17047 V),
17048 V=[_|W],
17049 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17050 W),
17051 ( W=[X|_]
17052 -> setarg(5, X, _)
17053 ; true
17054 )
17055 ; U=[_, _|W],
17056 setarg(2, U, W),
17057 ( W=[X|_]
17058 -> setarg(5, X, U)
17059 ; true
17060 )
17061 )
17062 ),
17063 'detach_known/1_1_$special_==/2___2'(T, P)
17064 )
17065 ),
17066 'known/1_1_$special_fail/0'.
17067'known/1_1_$special_==/2___2__2'(A, B, P) :-
17068 ( 'chr newvia_2'(A, B, C)
17069 -> get_attr(C, guard_entailment, D),
17070 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _)
17071 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
17072 E)
17073 ),
17074 member(F, E),
17075 F=suspension(_, active, _, _, _, G, H),
17076 G==A,
17077 H==B,
17078 !,
17079 F=suspension(_, _, _, _, _, I, J),
17080 setarg(2, F, removed),
17081 term_variables(term(I, J), O),
17082 arg(5, F, K),
17083 ( var(K)
17084 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
17085 L),
17086 L=[_|M],
17087 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
17088 M),
17089 ( M=[N|_]
17090 -> setarg(5, N, _)
17091 ; true
17092 )
17093 ; K=[_, _|M],
17094 setarg(2, K, M),
17095 ( M=[N|_]
17096 -> setarg(5, N, K)
17097 ; true
17098 )
17099 ),
17100 'detach_known/1_1_$special_\\==/2___2'(O, F),
17101 ( var(P)
17102 -> true
17103 ; P=suspension(_, Q, _, _, _, R, S),
17104 setarg(2, P, removed),
17105 ( Q==not_stored_yet
17106 -> T=[]
17107 ; term_variables(term(R, S), T),
17108 ( arg(5, P, U),
17109 ( var(U)
17110 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17111 V),
17112 V=[_|W],
17113 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17114 W),
17115 ( W=[X|_]
17116 -> setarg(5, X, _)
17117 ; true
17118 )
17119 ; U=[_, _|W],
17120 setarg(2, U, W),
17121 ( W=[X|_]
17122 -> setarg(5, X, U)
17123 ; true
17124 )
17125 )
17126 ),
17127 'detach_known/1_1_$special_==/2___2'(T, P)
17128 )
17129 ),
17130 'known/1_1_$special_fail/0'.
17131'known/1_1_$special_==/2___2__2'(E, A, F) :-
17132 ( 'chr newvia_1'(A, B)
17133 -> get_attr(B, guard_entailment, C),
17134 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _)
17135 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17136 D)
17137 ),
17138 !,
17139 'known/1_1_$special_==/2___2__2__0__10'(D, E, A, F).
17140'known/1_1_$special_==/2___2__2__0__10'([], A, B, C) :-
17141 'known/1_1_$special_==/2___2__3'(A, B, C).
17142'known/1_1_$special_==/2___2__2__0__10'([A|Q], O, C, D) :-
17143 ( A=suspension(_, active, _, _, _, B, P),
17144 B==C,
17145 E=t(228, D, A),
17146 '$novel_production'(D, E),
17147 '$novel_production'(A, E)
17148 -> '$extend_history'(D, E),
17149 ( arg(2, D, H),
17150 setarg(2, D, active),
17151 ( arg(4, D, F),
17152 G is F+1,
17153 setarg(4, D, G)
17154 ),
17155 ( H==not_stored_yet
17156 -> D=suspension(_, _, _, _, _, I, J),
17157 term_variables(term(I, J), K),
17158 'chr none_locked'(K),
17159 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17160 L),
17161 M=[D|L],
17162 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17163 M),
17164 ( L=[N|_]
17165 -> setarg(5, N, M)
17166 ; true
17167 )
17168 ),
17169 'attach_known/1_1_$special_==/2___2'(K, D)
17170 ; true
17171 )
17172 ),
17173 'known/1_1_$special_==/2'(O, P),
17174 ( D=suspension(_, active, _, G, _, _, _)
17175 -> setarg(2, D, inactive),
17176 'known/1_1_$special_==/2___2__2__0__10'(Q,
17177 O,
17178 C,
17179 D)
17180 ; true
17181 )
17182 ; 'known/1_1_$special_==/2___2__2__0__10'(Q,
17183 O,
17184 C,
17185 D)
17186 ).
17187'known/1_1_$special_==/2___2__2'(A, B, C) :-
17188 'known/1_1_$special_==/2___2__3'(A, B, C).
17189'known/1_1_$special_==/2___2__3'(A, E, F) :-
17190 ( 'chr newvia_1'(A, B)
17191 -> get_attr(B, guard_entailment, C),
17192 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _)
17193 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17194 D)
17195 ),
17196 !,
17197 'known/1_1_$special_==/2___2__3__0__11'(D, A, E, F).
17198'known/1_1_$special_==/2___2__3__0__11'([], A, B, C) :-
17199 'known/1_1_$special_==/2___2__4'(A, B, C).
17200'known/1_1_$special_==/2___2__3__0__11'([A|Q], C, P, D) :-
17201 ( A=suspension(_, active, _, _, _, O, B),
17202 B==C,
17203 E=t(228, A, D),
17204 '$novel_production'(A, E),
17205 '$novel_production'(D, E)
17206 -> '$extend_history'(D, E),
17207 ( arg(2, D, H),
17208 setarg(2, D, active),
17209 ( arg(4, D, F),
17210 G is F+1,
17211 setarg(4, D, G)
17212 ),
17213 ( H==not_stored_yet
17214 -> D=suspension(_, _, _, _, _, I, J),
17215 term_variables(term(I, J), K),
17216 'chr none_locked'(K),
17217 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17218 L),
17219 M=[D|L],
17220 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17221 M),
17222 ( L=[N|_]
17223 -> setarg(5, N, M)
17224 ; true
17225 )
17226 ),
17227 'attach_known/1_1_$special_==/2___2'(K, D)
17228 ; true
17229 )
17230 ),
17231 'known/1_1_$special_==/2'(O, P),
17232 ( D=suspension(_, active, _, G, _, _, _)
17233 -> setarg(2, D, inactive),
17234 'known/1_1_$special_==/2___2__3__0__11'(Q,
17235 C,
17236 P,
17237 D)
17238 ; true
17239 )
17240 ; 'known/1_1_$special_==/2___2__3__0__11'(Q,
17241 C,
17242 P,
17243 D)
17244 ).
17245'known/1_1_$special_==/2___2__3'(A, B, C) :-
17246 'known/1_1_$special_==/2___2__4'(A, B, C).
17247'known/1_1_$special_==/2___2__4'(E, A, F) :-
17248 ( 'chr newvia_1'(A, B)
17249 -> get_attr(B, guard_entailment, C),
17250 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _)
17251 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
17252 D)
17253 ),
17254 !,
17255 'known/1_1_$special_==/2___2__4__0__12'(D, E, A, F).
17256'known/1_1_$special_==/2___2__4__0__12'([], A, B, C) :-
17257 'known/1_1_$special_==/2___2__5'(A, B, C).
17258'known/1_1_$special_==/2___2__4__0__12'([A|Q], O, C, D) :-
17259 ( A=suspension(_, active, _, _, _, B, P),
17260 B==C,
17261 E=t(229, D, A),
17262 '$novel_production'(D, E),
17263 '$novel_production'(A, E)
17264 -> '$extend_history'(D, E),
17265 ( arg(2, D, H),
17266 setarg(2, D, active),
17267 ( arg(4, D, F),
17268 G is F+1,
17269 setarg(4, D, G)
17270 ),
17271 ( H==not_stored_yet
17272 -> D=suspension(_, _, _, _, _, I, J),
17273 term_variables(term(I, J), K),
17274 'chr none_locked'(K),
17275 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17276 L),
17277 M=[D|L],
17278 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17279 M),
17280 ( L=[N|_]
17281 -> setarg(5, N, M)
17282 ; true
17283 )
17284 ),
17285 'attach_known/1_1_$special_==/2___2'(K, D)
17286 ; true
17287 )
17288 ),
17289 'known/1_1_$special_\\==/2'(O, P),
17290 ( D=suspension(_, active, _, G, _, _, _)
17291 -> setarg(2, D, inactive),
17292 'known/1_1_$special_==/2___2__4__0__12'(Q,
17293 O,
17294 C,
17295 D)
17296 ; true
17297 )
17298 ; 'known/1_1_$special_==/2___2__4__0__12'(Q,
17299 O,
17300 C,
17301 D)
17302 ).
17303'known/1_1_$special_==/2___2__4'(A, B, C) :-
17304 'known/1_1_$special_==/2___2__5'(A, B, C).
17305'known/1_1_$special_==/2___2__5'(L, K, A) :-
17306 '$novel_production'(A, 230),
17307 !,
17308 '$extend_history'(A, 230),
17309 arg(2, A, D),
17310 setarg(2, A, active),
17311 arg(4, A, B),
17312 C is B+1,
17313 setarg(4, A, C),
17314 ( D==not_stored_yet
17315 -> A=suspension(_, _, _, _, _, E, F),
17316 term_variables(term(E, F), G),
17317 'chr none_locked'(G),
17318 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17319 H),
17320 I=[A|H],
17321 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17322 I),
17323 ( H=[J|_]
17324 -> setarg(5, J, I)
17325 ; true
17326 )
17327 ),
17328 'attach_known/1_1_$special_==/2___2'(G, A)
17329 ; true
17330 ),
17331 'known/1_1_$special_==/2'(K, L),
17332 ( A=suspension(_, active, _, C, _, _, _)
17333 -> setarg(2, A, inactive),
17334 'known/1_1_$special_==/2___2__6'(L, K, A)
17335 ; true
17336 ).
17337'known/1_1_$special_==/2___2__5'(A, B, C) :-
17338 'known/1_1_$special_==/2___2__6'(A, B, C).
17339'known/1_1_$special_==/2___2__6'(K, L, A) :-
17340 '$novel_production'(A, 234),
17341 !,
17342 '$extend_history'(A, 234),
17343 arg(2, A, D),
17344 setarg(2, A, active),
17345 arg(4, A, B),
17346 C is B+1,
17347 setarg(4, A, C),
17348 ( D==not_stored_yet
17349 -> A=suspension(_, _, _, _, _, E, F),
17350 term_variables(term(E, F), G),
17351 'chr none_locked'(G),
17352 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17353 H),
17354 I=[A|H],
17355 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17356 I),
17357 ( H=[J|_]
17358 -> setarg(5, J, I)
17359 ; true
17360 )
17361 ),
17362 'attach_known/1_1_$special_==/2___2'(G, A)
17363 ; true
17364 ),
17365 'known/1_1_$special_=/2'(K, L),
17366 ( A=suspension(_, active, _, C, _, _, _)
17367 -> setarg(2, A, inactive),
17368 'known/1_1_$special_==/2___2__7'(K, L, A)
17369 ; true
17370 ).
17371'known/1_1_$special_==/2___2__6'(A, B, C) :-
17372 'known/1_1_$special_==/2___2__7'(A, B, C).
17373'known/1_1_$special_==/2___2__7'(A, B, F) :-
17374 ( 'chr newvia_2'(A, B, C)
17375 -> get_attr(C, guard_entailment, D),
17376 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
17377 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
17378 E)
17379 ),
17380 !,
17381 'known/1_1_$special_==/2___2__7__0__15'(E, A, B, F).
17382'known/1_1_$special_==/2___2__7__0__15'([], A, B, C) :-
17383 'known/1_1_$special_==/2___2__8'(A, B, C).
17384'known/1_1_$special_==/2___2__7__0__15'([A|Z], E, G, O) :-
17385 ( A=suspension(_, active, _, _, B, Y),
17386 nonvar(B),
17387 B=(\+C),
17388 nonvar(C),
17389 C=(D==F),
17390 D==E,
17391 F==G
17392 -> ( A=suspension(_, _, _, _, H, I),
17393 setarg(2, A, removed),
17394 term_variables(term(H, I), N),
17395 ( arg(4, A, J),
17396 ( var(J)
17397 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
17398 K),
17399 K=[_|L],
17400 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
17401 L),
17402 ( L=[M|_]
17403 -> setarg(4, M, _)
17404 ; true
17405 )
17406 ; J=[_, _|L],
17407 setarg(2, J, L),
17408 ( L=[M|_]
17409 -> setarg(4, M, J)
17410 ; true
17411 )
17412 )
17413 ),
17414 'detach_known/1_1_$special_;/2___2'(N, A)
17415 ),
17416 ( arg(2, O, R),
17417 setarg(2, O, active),
17418 ( arg(4, O, P),
17419 Q is P+1,
17420 setarg(4, O, Q)
17421 ),
17422 ( R==not_stored_yet
17423 -> O=suspension(_, _, _, _, _, S, T),
17424 term_variables(term(S, T), U),
17425 'chr none_locked'(U),
17426 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17427 V),
17428 W=[O|V],
17429 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17430 W),
17431 ( V=[X|_]
17432 -> setarg(5, X, W)
17433 ; true
17434 )
17435 ),
17436 'attach_known/1_1_$special_==/2___2'(U, O)
17437 ; true
17438 )
17439 ),
17440 known(Y),
17441 ( O=suspension(_, active, _, Q, _, _, _)
17442 -> setarg(2, O, inactive),
17443 'known/1_1_$special_==/2___2__7__0__15'(Z,
17444 E,
17445 G,
17446 O)
17447 ; true
17448 )
17449 ; 'known/1_1_$special_==/2___2__7__0__15'(Z,
17450 E,
17451 G,
17452 O)
17453 ).
17454'known/1_1_$special_==/2___2__7'(A, B, C) :-
17455 'known/1_1_$special_==/2___2__8'(A, B, C).
17456'known/1_1_$special_==/2___2__8'(A, B, F) :-
17457 ( 'chr newvia_2'(A, B, C)
17458 -> get_attr(C, guard_entailment, D),
17459 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
17460 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
17461 E)
17462 ),
17463 !,
17464 'known/1_1_$special_==/2___2__8__0__16'(E, A, B, F).
17465'known/1_1_$special_==/2___2__8__0__16'([], A, B, C) :-
17466 'known/1_1_$special_==/2___2__9'(A, B, C).
17467'known/1_1_$special_==/2___2__8__0__16'([A|A1], F, H, P) :-
17468 ( A=suspension(_, active, _, _, B, Z),
17469 nonvar(B),
17470 B=(C, _),
17471 nonvar(C),
17472 C=(\+D),
17473 nonvar(D),
17474 D=(E==G),
17475 E==F,
17476 G==H
17477 -> ( A=suspension(_, _, _, _, I, J),
17478 setarg(2, A, removed),
17479 term_variables(term(I, J), O),
17480 ( arg(4, A, K),
17481 ( var(K)
17482 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
17483 L),
17484 L=[_|M],
17485 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
17486 M),
17487 ( M=[N|_]
17488 -> setarg(4, N, _)
17489 ; true
17490 )
17491 ; K=[_, _|M],
17492 setarg(2, K, M),
17493 ( M=[N|_]
17494 -> setarg(4, N, K)
17495 ; true
17496 )
17497 )
17498 ),
17499 'detach_known/1_1_$special_;/2___2'(O, A)
17500 ),
17501 ( arg(2, P, S),
17502 setarg(2, P, active),
17503 ( arg(4, P, Q),
17504 R is Q+1,
17505 setarg(4, P, R)
17506 ),
17507 ( S==not_stored_yet
17508 -> P=suspension(_, _, _, _, _, T, U),
17509 term_variables(term(T, U), V),
17510 'chr none_locked'(V),
17511 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17512 W),
17513 X=[P|W],
17514 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17515 X),
17516 ( W=[Y|_]
17517 -> setarg(5, Y, X)
17518 ; true
17519 )
17520 ),
17521 'attach_known/1_1_$special_==/2___2'(V, P)
17522 ; true
17523 )
17524 ),
17525 known(Z),
17526 ( P=suspension(_, active, _, R, _, _, _)
17527 -> setarg(2, P, inactive),
17528 'known/1_1_$special_==/2___2__8__0__16'(A1,
17529 F,
17530 H,
17531 P)
17532 ; true
17533 )
17534 ; 'known/1_1_$special_==/2___2__8__0__16'(A1,
17535 F,
17536 H,
17537 P)
17538 ).
17539'known/1_1_$special_==/2___2__8'(A, B, C) :-
17540 'known/1_1_$special_==/2___2__9'(A, B, C).
17541'known/1_1_$special_==/2___2__9'(_, _, A) :-
17542 arg(2, A, D),
17543 setarg(2, A, active),
17544 arg(4, A, B),
17545 C is B+1,
17546 setarg(4, A, C),
17547 ( D==not_stored_yet
17548 -> A=suspension(_, _, _, _, _, E, F),
17549 term_variables(term(E, F), G),
17550 'chr none_locked'(G),
17551 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17552 H),
17553 I=[A|H],
17554 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
17555 I),
17556 ( H=[J|_]
17557 -> setarg(5, J, I)
17558 ; true
17559 )
17560 ),
17561 'attach_known/1_1_$special_==/2___2'(G, A)
17562 ; true
17563 ).
17564'known/1_1_$special_is/2'(A, B) :-
17565 'known/1_1_$special_=:=/2'(A, B).
17566'known/1_1_$special_</2'(A, B) :-
17567 'known/1_1_$special_=</2'(A, B),
17568 'known/1_1_$special_=\\=/2'(A, B).
17569'known/1_1_$special_>=/2'(B, A) :-
17570 'known/1_1_$special_=</2'(A, B).
17571'known/1_1_$special_>/2'(B, A) :-
17572 'known/1_1_$special_</2'(A, B).
17573'known/1_1_$special_=</2'(A, B) :-
17574 'known/1_1_$special_=</2___2__0'(A, B, _).
17575'known/1_1_$special_=</2___2__0'(A, B, I) :-
17576 ( 'chr newvia_2'(A, B, C)
17577 -> get_attr(C, guard_entailment, D),
17578 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _)
17579 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17580 E)
17581 ),
17582 member(F, E),
17583 F=suspension(_, active, _, _, _, G, H),
17584 G==A,
17585 H==B,
17586 !,
17587 ( var(I)
17588 -> true
17589 ; I=suspension(_, J, _, _, _, K, L),
17590 setarg(2, I, removed),
17591 ( J==not_stored_yet
17592 -> M=[]
17593 ; term_variables(term(K, L), M),
17594 ( arg(5, I, N),
17595 ( var(N)
17596 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17597 O),
17598 O=[_|P],
17599 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17600 P),
17601 ( P=[Q|_]
17602 -> setarg(5, Q, _)
17603 ; true
17604 )
17605 ; N=[_, _|P],
17606 setarg(2, N, P),
17607 ( P=[Q|_]
17608 -> setarg(5, Q, N)
17609 ; true
17610 )
17611 )
17612 ),
17613 'detach_known/1_1_$special_=</2___2'(M, I)
17614 )
17615 ).
17616'known/1_1_$special_=</2___2__0'(_, _, C) :-
17617 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
17618 A),
17619 member(B, A),
17620 B=suspension(_, active, _),
17621 !,
17622 ( var(C)
17623 -> true
17624 ; C=suspension(_, D, _, _, _, E, F),
17625 setarg(2, C, removed),
17626 ( D==not_stored_yet
17627 -> G=[]
17628 ; term_variables(term(E, F), G),
17629 ( arg(5, C, H),
17630 ( var(H)
17631 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17632 I),
17633 I=[_|J],
17634 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17635 J),
17636 ( J=[K|_]
17637 -> setarg(5, K, _)
17638 ; true
17639 )
17640 ; H=[_, _|J],
17641 setarg(2, H, J),
17642 ( J=[K|_]
17643 -> setarg(5, K, H)
17644 ; true
17645 )
17646 )
17647 ),
17648 'detach_known/1_1_$special_=</2___2'(G, C)
17649 )
17650 ).
17651'known/1_1_$special_=</2___2__0'(B, A, C) :-
17652 A==B,
17653 !,
17654 ( var(C)
17655 -> true
17656 ; C=suspension(_, D, _, _, _, E, F),
17657 setarg(2, C, removed),
17658 ( D==not_stored_yet
17659 -> G=[]
17660 ; term_variables(term(E, F), G),
17661 ( arg(5, C, H),
17662 ( var(H)
17663 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17664 I),
17665 I=[_|J],
17666 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17667 J),
17668 ( J=[K|_]
17669 -> setarg(5, K, _)
17670 ; true
17671 )
17672 ; H=[_, _|J],
17673 setarg(2, H, J),
17674 ( J=[K|_]
17675 -> setarg(5, K, H)
17676 ; true
17677 )
17678 )
17679 ),
17680 'detach_known/1_1_$special_=</2___2'(G, C)
17681 )
17682 ).
17683'known/1_1_$special_=</2___2__0'(B, A, C) :-
17684 number(A),
17685 ( number(B),
17686 B>A,
17687 !,
17688 ( var(C)
17689 -> true
17690 ; C=suspension(_, D, _, _, _, E, F),
17691 setarg(2, C, removed),
17692 ( D==not_stored_yet
17693 -> G=[]
17694 ; term_variables(term(E, F), G),
17695 ( arg(5, C, H),
17696 ( var(H)
17697 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17698 I),
17699 I=[_|J],
17700 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17701 J),
17702 ( J=[K|_]
17703 -> setarg(5, K, _)
17704 ; true
17705 )
17706 ; H=[_, _|J],
17707 setarg(2, H, J),
17708 ( J=[K|_]
17709 -> setarg(5, K, H)
17710 ; true
17711 )
17712 )
17713 ),
17714 'detach_known/1_1_$special_=</2___2'(G, C)
17715 )
17716 ),
17717 'known/1_1_$special_fail/0'
17718 ; ( 'chr newvia_1'(B, L)
17719 -> get_attr(L, guard_entailment, M),
17720 M=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, N, _)
17721 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17722 N)
17723 ),
17724 member(O, N),
17725 O=suspension(_, active, _, _, _, P, Q),
17726 P==B,
17727 number(Q),
17728 Q=<A,
17729 !,
17730 ( var(C)
17731 -> true
17732 ; C=suspension(_, R, _, _, _, S, T),
17733 setarg(2, C, removed),
17734 ( R==not_stored_yet
17735 -> U=[]
17736 ; term_variables(term(S, T), U),
17737 ( arg(5, C, V),
17738 ( var(V)
17739 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17740 W),
17741 W=[_|X],
17742 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17743 X),
17744 ( X=[Y|_]
17745 -> setarg(5, Y, _)
17746 ; true
17747 )
17748 ; V=[_, _|X],
17749 setarg(2, V, X),
17750 ( X=[Y|_]
17751 -> setarg(5, Y, V)
17752 ; true
17753 )
17754 )
17755 ),
17756 'detach_known/1_1_$special_=</2___2'(U, C)
17757 )
17758 )
17759 ).
17760'known/1_1_$special_=</2___2__0'(A, E, F) :-
17761 ( 'chr newvia_1'(A, B)
17762 -> get_attr(B, guard_entailment, C),
17763 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _)
17764 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17765 D)
17766 ),
17767 !,
17768 'known/1_1_$special_=</2___2__0__0__12'(D, A, E, F).
17769'known/1_1_$special_=</2___2__0__0__12'([], A, B, C) :-
17770 'known/1_1_$special_=</2___2__1'(A, B, C).
17771'known/1_1_$special_=</2___2__0__0__12'([A|M], C, E, N) :-
17772 ( ( A=suspension(_, active, _, _, _, B, D),
17773 B==C
17774 ),
17775 number(D),
17776 number(E),
17777 E=<D
17778 -> ( A=suspension(_, _, _, _, _, F, G),
17779 setarg(2, A, removed),
17780 term_variables(term(F, G), L),
17781 ( arg(5, A, H),
17782 ( var(H)
17783 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17784 I),
17785 I=[_|J],
17786 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17787 J),
17788 ( J=[K|_]
17789 -> setarg(5, K, _)
17790 ; true
17791 )
17792 ; H=[_, _|J],
17793 setarg(2, H, J),
17794 ( J=[K|_]
17795 -> setarg(5, K, H)
17796 ; true
17797 )
17798 )
17799 ),
17800 'detach_known/1_1_$special_=</2___2'(L, A)
17801 ),
17802 'known/1_1_$special_=</2___2__0__0__12'(M,
17803 C,
17804 E,
17805 N)
17806 ; 'known/1_1_$special_=</2___2__0__0__12'(M,
17807 C,
17808 E,
17809 N)
17810 ).
17811'known/1_1_$special_=</2___2__0'(A, B, C) :-
17812 'known/1_1_$special_=</2___2__1'(A, B, C).
17813'known/1_1_$special_=</2___2__1'(A, B, I) :-
17814 number(A),
17815 ( 'chr newvia_1'(B, C)
17816 -> get_attr(C, guard_entailment, D),
17817 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _)
17818 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17819 E)
17820 ),
17821 member(F, E),
17822 F=suspension(_, active, _, _, _, H, G),
17823 G==B,
17824 number(H),
17825 A=<H,
17826 !,
17827 ( var(I)
17828 -> true
17829 ; I=suspension(_, J, _, _, _, K, L),
17830 setarg(2, I, removed),
17831 ( J==not_stored_yet
17832 -> M=[]
17833 ; term_variables(term(K, L), M),
17834 ( arg(5, I, N),
17835 ( var(N)
17836 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17837 O),
17838 O=[_|P],
17839 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17840 P),
17841 ( P=[Q|_]
17842 -> setarg(5, Q, _)
17843 ; true
17844 )
17845 ; N=[_, _|P],
17846 setarg(2, N, P),
17847 ( P=[Q|_]
17848 -> setarg(5, Q, N)
17849 ; true
17850 )
17851 )
17852 ),
17853 'detach_known/1_1_$special_=</2___2'(M, I)
17854 )
17855 ).
17856'known/1_1_$special_=</2___2__1'(E, A, F) :-
17857 ( 'chr newvia_1'(A, B)
17858 -> get_attr(B, guard_entailment, C),
17859 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _)
17860 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17861 D)
17862 ),
17863 !,
17864 'known/1_1_$special_=</2___2__1__0__14'(D, E, A, F).
17865'known/1_1_$special_=</2___2__1__0__14'([], A, B, C) :-
17866 'known/1_1_$special_=</2___2__2'(A, B, C).
17867'known/1_1_$special_=</2___2__1__0__14'([A|M], D, C, N) :-
17868 ( ( A=suspension(_, active, _, _, _, E, B),
17869 B==C
17870 ),
17871 number(D),
17872 number(E),
17873 E=<D
17874 -> ( A=suspension(_, _, _, _, _, F, G),
17875 setarg(2, A, removed),
17876 term_variables(term(F, G), L),
17877 ( arg(5, A, H),
17878 ( var(H)
17879 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17880 I),
17881 I=[_|J],
17882 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17883 J),
17884 ( J=[K|_]
17885 -> setarg(5, K, _)
17886 ; true
17887 )
17888 ; H=[_, _|J],
17889 setarg(2, H, J),
17890 ( J=[K|_]
17891 -> setarg(5, K, H)
17892 ; true
17893 )
17894 )
17895 ),
17896 'detach_known/1_1_$special_=</2___2'(L, A)
17897 ),
17898 'known/1_1_$special_=</2___2__1__0__14'(M,
17899 D,
17900 C,
17901 N)
17902 ; 'known/1_1_$special_=</2___2__1__0__14'(M,
17903 D,
17904 C,
17905 N)
17906 ).
17907'known/1_1_$special_=</2___2__1'(A, B, C) :-
17908 'known/1_1_$special_=</2___2__2'(A, B, C).
17909'known/1_1_$special_=</2___2__2'(B, A, P) :-
17910 ( 'chr newvia_2'(A, B, C)
17911 -> get_attr(C, guard_entailment, D),
17912 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _)
17913 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17914 E)
17915 ),
17916 member(F, E),
17917 F=suspension(_, active, _, _, _, G, H),
17918 G==A,
17919 H==B,
17920 !,
17921 F=suspension(_, _, _, _, _, I, J),
17922 setarg(2, F, removed),
17923 term_variables(term(I, J), O),
17924 arg(5, F, K),
17925 ( var(K)
17926 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17927 L),
17928 L=[_|M],
17929 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17930 M),
17931 ( M=[N|_]
17932 -> setarg(5, N, _)
17933 ; true
17934 )
17935 ; K=[_, _|M],
17936 setarg(2, K, M),
17937 ( M=[N|_]
17938 -> setarg(5, N, K)
17939 ; true
17940 )
17941 ),
17942 'detach_known/1_1_$special_=</2___2'(O, F),
17943 ( var(P)
17944 -> true
17945 ; P=suspension(_, Q, _, _, _, R, S),
17946 setarg(2, P, removed),
17947 ( Q==not_stored_yet
17948 -> T=[]
17949 ; term_variables(term(R, S), T),
17950 ( arg(5, P, U),
17951 ( var(U)
17952 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17953 V),
17954 V=[_|W],
17955 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17956 W),
17957 ( W=[X|_]
17958 -> setarg(5, X, _)
17959 ; true
17960 )
17961 ; U=[_, _|W],
17962 setarg(2, U, W),
17963 ( W=[X|_]
17964 -> setarg(5, X, U)
17965 ; true
17966 )
17967 )
17968 ),
17969 'detach_known/1_1_$special_=</2___2'(T, P)
17970 )
17971 ),
17972 'known/1_1_$special_=:=/2'(B, A).
17973'known/1_1_$special_=</2___2__2'(F, A, E) :-
17974 ( 'chr newvia_1'(A, B)
17975 -> get_attr(B, guard_entailment, C),
17976 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _)
17977 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
17978 D)
17979 ),
17980 !,
17981 ( var(E)
17982 -> E=suspension(G, not_stored_yet, t, 0, _, F, A),
17983 'chr gen_id'(G)
17984 ; true
17985 ),
17986 'known/1_1_$special_=</2___2__2__0__17'(D, F, A, E).
17987'known/1_1_$special_=</2___2__2__0__17'([], A, B, C) :-
17988 'known/1_1_$special_=</2___2__3'(A, B, C).
17989'known/1_1_$special_=</2___2__2__0__17'([A|Q], O, C, D) :-
17990 ( A=suspension(_, active, _, _, _, B, P),
17991 B==C,
17992 E=t(187, D, A),
17993 '$novel_production'(D, E),
17994 '$novel_production'(A, E)
17995 -> '$extend_history'(D, E),
17996 ( arg(2, D, H),
17997 setarg(2, D, active),
17998 ( arg(4, D, F),
17999 G is F+1,
18000 setarg(4, D, G)
18001 ),
18002 ( H==not_stored_yet
18003 -> D=suspension(_, _, _, _, _, I, J),
18004 term_variables(term(I, J), K),
18005 'chr none_locked'(K),
18006 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18007 L),
18008 M=[D|L],
18009 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18010 M),
18011 ( L=[N|_]
18012 -> setarg(5, N, M)
18013 ; true
18014 )
18015 ),
18016 'attach_known/1_1_$special_=</2___2'(K, D)
18017 ; true
18018 )
18019 ),
18020 'known/1_1_$special_=</2'(O, P),
18021 ( D=suspension(_, active, _, G, _, _, _)
18022 -> setarg(2, D, inactive),
18023 'known/1_1_$special_=</2___2__2__0__17'(Q,
18024 O,
18025 C,
18026 D)
18027 ; true
18028 )
18029 ; 'known/1_1_$special_=</2___2__2__0__17'(Q,
18030 O,
18031 C,
18032 D)
18033 ).
18034'known/1_1_$special_=</2___2__2'(B, C, A) :-
18035 ( var(A)
18036 -> A=suspension(D, not_stored_yet, t, 0, _, B, C),
18037 'chr gen_id'(D)
18038 ; true
18039 ),
18040 'known/1_1_$special_=</2___2__3'(B, C, A).
18041'known/1_1_$special_=</2___2__3'(A, E, F) :-
18042 ( 'chr newvia_1'(A, B)
18043 -> get_attr(B, guard_entailment, C),
18044 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _)
18045 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18046 D)
18047 ),
18048 !,
18049 'known/1_1_$special_=</2___2__3__0__18'(D, A, E, F).
18050'known/1_1_$special_=</2___2__3__0__18'([], A, B, C) :-
18051 'known/1_1_$special_=</2___2__4'(A, B, C).
18052'known/1_1_$special_=</2___2__3__0__18'([A|Q], C, P, D) :-
18053 ( A=suspension(_, active, _, _, _, O, B),
18054 B==C,
18055 E=t(187, A, D),
18056 '$novel_production'(A, E),
18057 '$novel_production'(D, E)
18058 -> '$extend_history'(D, E),
18059 ( arg(2, D, H),
18060 setarg(2, D, active),
18061 ( arg(4, D, F),
18062 G is F+1,
18063 setarg(4, D, G)
18064 ),
18065 ( H==not_stored_yet
18066 -> D=suspension(_, _, _, _, _, I, J),
18067 term_variables(term(I, J), K),
18068 'chr none_locked'(K),
18069 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18070 L),
18071 M=[D|L],
18072 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18073 M),
18074 ( L=[N|_]
18075 -> setarg(5, N, M)
18076 ; true
18077 )
18078 ),
18079 'attach_known/1_1_$special_=</2___2'(K, D)
18080 ; true
18081 )
18082 ),
18083 'known/1_1_$special_=</2'(O, P),
18084 ( D=suspension(_, active, _, G, _, _, _)
18085 -> setarg(2, D, inactive),
18086 'known/1_1_$special_=</2___2__3__0__18'(Q,
18087 C,
18088 P,
18089 D)
18090 ; true
18091 )
18092 ; 'known/1_1_$special_=</2___2__3__0__18'(Q,
18093 C,
18094 P,
18095 D)
18096 ).
18097'known/1_1_$special_=</2___2__3'(A, B, C) :-
18098 'known/1_1_$special_=</2___2__4'(A, B, C).
18099'known/1_1_$special_=</2___2__4'(E, A, F) :-
18100 ( 'chr newvia_1'(A, B)
18101 -> get_attr(B, guard_entailment, C),
18102 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _)
18103 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
18104 D)
18105 ),
18106 !,
18107 'known/1_1_$special_=</2___2__4__0__19'(D, E, A, F).
18108'known/1_1_$special_=</2___2__4__0__19'([], A, B, C) :-
18109 'known/1_1_$special_=</2___2__5'(A, B, C).
18110'known/1_1_$special_=</2___2__4__0__19'([A|H], I, C, J) :-
18111 ( ( A=suspension(_, active, _, _, _, B, D),
18112 B==C
18113 ),
18114 ( 'chr newvia_2'(C, D, E)
18115 -> get_attr(E, guard_entailment, F),
18116 F=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, G, _)
18117 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18118 G)
18119 )
18120 -> 'known/1_1_$special_=</2___2__4__1__19'(G,
18121 D,
18122 A,
18123 H,
18124 I,
18125 C,
18126 J)
18127 ; 'known/1_1_$special_=</2___2__4__0__19'(H, I, C, J)
18128 ).
18129'known/1_1_$special_=</2___2__4__1__19'([], _, _, A, B, C, D) :-
18130 'known/1_1_$special_=</2___2__4__0__19'(A, B, C, D).
18131'known/1_1_$special_=</2___2__4__1__19'([A|J], E, K, L, F, C, M) :-
18132 ( ( A=suspension(_, active, _, _, _, B, D),
18133 B==C,
18134 D==E
18135 ),
18136 ( 'chr newvia_2'(F, C, G)
18137 -> get_attr(G, guard_entailment, H),
18138 H=v(_, _, _, _, _, _, _, _, _, _, _, _, _, I, _, _, _, _, _, _, _, _)
18139 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
18140 I)
18141 )
18142 -> 'known/1_1_$special_=</2___2__4__2__19'(I,
18143 A,
18144 J,
18145 E,
18146 K,
18147 L,
18148 F,
18149 C,
18150 M)
18151 ; 'known/1_1_$special_=</2___2__4__1__19'(J,
18152 E,
18153 K,
18154 L,
18155 F,
18156 C,
18157 M)
18158 ).
18159'known/1_1_$special_=</2___2__4__2__19'([], _, A, B, C, D, E, F, G) :-
18160 'known/1_1_$special_=</2___2__4__1__19'(A,
18161 B,
18162 C,
18163 D,
18164 E,
18165 F,
18166 G).
18167'known/1_1_$special_=</2___2__4__2__19'([A|T], H, U, S, B, V, D, F, G) :-
18168 ( A=suspension(_, active, _, _, _, C, E),
18169 A\==B,
18170 ( C==D,
18171 E==F
18172 ),
18173 I=t(188, G, A, H, B),
18174 '$novel_production'(G, I),
18175 '$novel_production'(A, I),
18176 '$novel_production'(H, I),
18177 '$novel_production'(B, I)
18178 -> '$extend_history'(G, I),
18179 ( arg(2, G, L),
18180 setarg(2, G, active),
18181 ( arg(4, G, J),
18182 K is J+1,
18183 setarg(4, G, K)
18184 ),
18185 ( L==not_stored_yet
18186 -> G=suspension(_, _, _, _, _, M, N),
18187 term_variables(term(M, N), O),
18188 'chr none_locked'(O),
18189 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18190 P),
18191 Q=[G|P],
18192 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18193 Q),
18194 ( P=[R|_]
18195 -> setarg(5, R, Q)
18196 ; true
18197 )
18198 ),
18199 'attach_known/1_1_$special_=</2___2'(O, G)
18200 ; true
18201 )
18202 ),
18203 'known/1_1_$special_=\\=/2'(D, S),
18204 ( G=suspension(_, active, _, K, _, _, _)
18205 -> setarg(2, G, inactive),
18206 'known/1_1_$special_=</2___2__4__2__19'(T,
18207 H,
18208 U,
18209 S,
18210 B,
18211 V,
18212 D,
18213 F,
18214 G)
18215 ; true
18216 )
18217 ; 'known/1_1_$special_=</2___2__4__2__19'(T,
18218 H,
18219 U,
18220 S,
18221 B,
18222 V,
18223 D,
18224 F,
18225 G)
18226 ).
18227'known/1_1_$special_=</2___2__4'(A, B, C) :-
18228 'known/1_1_$special_=</2___2__5'(A, B, C).
18229'known/1_1_$special_=</2___2__5'(A, E, F) :-
18230 ( 'chr newvia_1'(A, B)
18231 -> get_attr(B, guard_entailment, C),
18232 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _)
18233 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18234 D)
18235 ),
18236 !,
18237 'known/1_1_$special_=</2___2__5__0__20'(D, A, E, F).
18238'known/1_1_$special_=</2___2__5__0__20'([], A, B, C) :-
18239 'known/1_1_$special_=</2___2__6'(A, B, C).
18240'known/1_1_$special_=</2___2__5__0__20'([A|I], C, D, J) :-
18241 ( ( A=suspension(_, active, _, _, _, H, B),
18242 B==C
18243 ),
18244 ( 'chr newvia_2'(C, D, E)
18245 -> get_attr(E, guard_entailment, F),
18246 F=v(_, _, _, _, _, _, _, _, _, _, _, _, _, G, _, _, _, _, _, _, _, _)
18247 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
18248 G)
18249 )
18250 -> 'known/1_1_$special_=</2___2__5__1__20'(G,
18251 H,
18252 A,
18253 I,
18254 C,
18255 D,
18256 J)
18257 ; 'known/1_1_$special_=</2___2__5__0__20'(I, C, D, J)
18258 ).
18259'known/1_1_$special_=</2___2__5__1__20'([], _, _, A, B, C, D) :-
18260 'known/1_1_$special_=</2___2__5__0__20'(A, B, C, D).
18261'known/1_1_$special_=</2___2__5__1__20'([A|J], F, K, L, C, E, M) :-
18262 ( ( A=suspension(_, active, _, _, _, B, D),
18263 B==C,
18264 D==E
18265 ),
18266 ( 'chr newvia_2'(F, C, G)
18267 -> get_attr(G, guard_entailment, H),
18268 H=v(_, _, _, _, _, _, _, _, _, _, _, _, _, I, _, _, _, _, _, _, _, _)
18269 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
18270 I)
18271 )
18272 -> 'known/1_1_$special_=</2___2__5__2__20'(I,
18273 A,
18274 J,
18275 F,
18276 K,
18277 L,
18278 C,
18279 E,
18280 M)
18281 ; 'known/1_1_$special_=</2___2__5__1__20'(J,
18282 F,
18283 K,
18284 L,
18285 C,
18286 E,
18287 M)
18288 ).
18289'known/1_1_$special_=</2___2__5__2__20'([], _, A, B, C, D, E, F, G) :-
18290 'known/1_1_$special_=</2___2__5__1__20'(A,
18291 B,
18292 C,
18293 D,
18294 E,
18295 F,
18296 G).
18297'known/1_1_$special_=</2___2__5__2__20'([A|T], B, U, D, G, V, F, S, H) :-
18298 ( A=suspension(_, active, _, _, _, C, E),
18299 A\==B,
18300 ( C==D,
18301 E==F
18302 ),
18303 I=t(188, G, A, H, B),
18304 '$novel_production'(G, I),
18305 '$novel_production'(A, I),
18306 '$novel_production'(H, I),
18307 '$novel_production'(B, I)
18308 -> '$extend_history'(H, I),
18309 ( arg(2, H, L),
18310 setarg(2, H, active),
18311 ( arg(4, H, J),
18312 K is J+1,
18313 setarg(4, H, K)
18314 ),
18315 ( L==not_stored_yet
18316 -> H=suspension(_, _, _, _, _, M, N),
18317 term_variables(term(M, N), O),
18318 'chr none_locked'(O),
18319 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18320 P),
18321 Q=[H|P],
18322 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18323 Q),
18324 ( P=[R|_]
18325 -> setarg(5, R, Q)
18326 ; true
18327 )
18328 ),
18329 'attach_known/1_1_$special_=</2___2'(O, H)
18330 ; true
18331 )
18332 ),
18333 'known/1_1_$special_=\\=/2'(D, S),
18334 ( H=suspension(_, active, _, K, _, _, _)
18335 -> setarg(2, H, inactive),
18336 'known/1_1_$special_=</2___2__5__2__20'(T,
18337 B,
18338 U,
18339 D,
18340 G,
18341 V,
18342 F,
18343 S,
18344 H)
18345 ; true
18346 )
18347 ; 'known/1_1_$special_=</2___2__5__2__20'(T,
18348 B,
18349 U,
18350 D,
18351 G,
18352 V,
18353 F,
18354 S,
18355 H)
18356 ).
18357'known/1_1_$special_=</2___2__5'(A, B, C) :-
18358 'known/1_1_$special_=</2___2__6'(A, B, C).
18359'known/1_1_$special_=</2___2__6'(A, B, P) :-
18360 ( 'chr newvia_2'(A, B, C)
18361 -> get_attr(C, guard_entailment, D),
18362 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
18363 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
18364 E)
18365 ),
18366 member(F, E),
18367 F=suspension(_, active, _, _, G),
18368 nonvar(G),
18369 G=(H=<I),
18370 H==A,
18371 I==B,
18372 !,
18373 F=suspension(_, _, _, _, J),
18374 setarg(2, F, removed),
18375 term_variables(J, O),
18376 arg(4, F, K),
18377 ( var(K)
18378 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
18379 L),
18380 L=[_|M],
18381 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
18382 M),
18383 ( M=[N|_]
18384 -> setarg(4, N, _)
18385 ; true
18386 )
18387 ; K=[_, _|M],
18388 setarg(2, K, M),
18389 ( M=[N|_]
18390 -> setarg(4, N, K)
18391 ; true
18392 )
18393 ),
18394 'detach_known/1_1_$special_\\+/1___1'(O, F),
18395 ( var(P)
18396 -> true
18397 ; P=suspension(_, Q, _, _, _, R, S),
18398 setarg(2, P, removed),
18399 ( Q==not_stored_yet
18400 -> T=[]
18401 ; term_variables(term(R, S), T),
18402 ( arg(5, P, U),
18403 ( var(U)
18404 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18405 V),
18406 V=[_|W],
18407 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18408 W),
18409 ( W=[X|_]
18410 -> setarg(5, X, _)
18411 ; true
18412 )
18413 ; U=[_, _|W],
18414 setarg(2, U, W),
18415 ( W=[X|_]
18416 -> setarg(5, X, U)
18417 ; true
18418 )
18419 )
18420 ),
18421 'detach_known/1_1_$special_=</2___2'(T, P)
18422 )
18423 ),
18424 'known/1_1_$special_fail/0'.
18425'known/1_1_$special_=</2___2__6'(A, B, F) :-
18426 ( 'chr newvia_2'(A, B, C)
18427 -> get_attr(C, guard_entailment, D),
18428 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
18429 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18430 E)
18431 ),
18432 !,
18433 'known/1_1_$special_=</2___2__6__0__22'(E, A, B, F).
18434'known/1_1_$special_=</2___2__6__0__22'([], A, B, C) :-
18435 'known/1_1_$special_=</2___2__7'(A, B, C).
18436'known/1_1_$special_=</2___2__6__0__22'([A|Z], E, G, O) :-
18437 ( A=suspension(_, active, _, _, B, Y),
18438 nonvar(B),
18439 B=(\+C),
18440 nonvar(C),
18441 C=(D=<F),
18442 D==E,
18443 F==G
18444 -> ( A=suspension(_, _, _, _, H, I),
18445 setarg(2, A, removed),
18446 term_variables(term(H, I), N),
18447 ( arg(4, A, J),
18448 ( var(J)
18449 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18450 K),
18451 K=[_|L],
18452 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18453 L),
18454 ( L=[M|_]
18455 -> setarg(4, M, _)
18456 ; true
18457 )
18458 ; J=[_, _|L],
18459 setarg(2, J, L),
18460 ( L=[M|_]
18461 -> setarg(4, M, J)
18462 ; true
18463 )
18464 )
18465 ),
18466 'detach_known/1_1_$special_;/2___2'(N, A)
18467 ),
18468 ( arg(2, O, R),
18469 setarg(2, O, active),
18470 ( arg(4, O, P),
18471 Q is P+1,
18472 setarg(4, O, Q)
18473 ),
18474 ( R==not_stored_yet
18475 -> O=suspension(_, _, _, _, _, S, T),
18476 term_variables(term(S, T), U),
18477 'chr none_locked'(U),
18478 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18479 V),
18480 W=[O|V],
18481 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18482 W),
18483 ( V=[X|_]
18484 -> setarg(5, X, W)
18485 ; true
18486 )
18487 ),
18488 'attach_known/1_1_$special_=</2___2'(U, O)
18489 ; true
18490 )
18491 ),
18492 known(Y),
18493 ( O=suspension(_, active, _, Q, _, _, _)
18494 -> setarg(2, O, inactive),
18495 'known/1_1_$special_=</2___2__6__0__22'(Z,
18496 E,
18497 G,
18498 O)
18499 ; true
18500 )
18501 ; 'known/1_1_$special_=</2___2__6__0__22'(Z,
18502 E,
18503 G,
18504 O)
18505 ).
18506'known/1_1_$special_=</2___2__6'(A, B, C) :-
18507 'known/1_1_$special_=</2___2__7'(A, B, C).
18508'known/1_1_$special_=</2___2__7'(A, B, F) :-
18509 ( 'chr newvia_2'(A, B, C)
18510 -> get_attr(C, guard_entailment, D),
18511 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
18512 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18513 E)
18514 ),
18515 !,
18516 'known/1_1_$special_=</2___2__7__0__23'(E, A, B, F).
18517'known/1_1_$special_=</2___2__7__0__23'([], A, B, C) :-
18518 'known/1_1_$special_=</2___2__8'(A, B, C).
18519'known/1_1_$special_=</2___2__7__0__23'([A|A1], F, H, P) :-
18520 ( A=suspension(_, active, _, _, B, Z),
18521 nonvar(B),
18522 B=(C, _),
18523 nonvar(C),
18524 C=(\+D),
18525 nonvar(D),
18526 D=(E=<G),
18527 E==F,
18528 G==H
18529 -> ( A=suspension(_, _, _, _, I, J),
18530 setarg(2, A, removed),
18531 term_variables(term(I, J), O),
18532 ( arg(4, A, K),
18533 ( var(K)
18534 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18535 L),
18536 L=[_|M],
18537 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
18538 M),
18539 ( M=[N|_]
18540 -> setarg(4, N, _)
18541 ; true
18542 )
18543 ; K=[_, _|M],
18544 setarg(2, K, M),
18545 ( M=[N|_]
18546 -> setarg(4, N, K)
18547 ; true
18548 )
18549 )
18550 ),
18551 'detach_known/1_1_$special_;/2___2'(O, A)
18552 ),
18553 ( arg(2, P, S),
18554 setarg(2, P, active),
18555 ( arg(4, P, Q),
18556 R is Q+1,
18557 setarg(4, P, R)
18558 ),
18559 ( S==not_stored_yet
18560 -> P=suspension(_, _, _, _, _, T, U),
18561 term_variables(term(T, U), V),
18562 'chr none_locked'(V),
18563 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18564 W),
18565 X=[P|W],
18566 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18567 X),
18568 ( W=[Y|_]
18569 -> setarg(5, Y, X)
18570 ; true
18571 )
18572 ),
18573 'attach_known/1_1_$special_=</2___2'(V, P)
18574 ; true
18575 )
18576 ),
18577 known(Z),
18578 ( P=suspension(_, active, _, R, _, _, _)
18579 -> setarg(2, P, inactive),
18580 'known/1_1_$special_=</2___2__7__0__23'(A1,
18581 F,
18582 H,
18583 P)
18584 ; true
18585 )
18586 ; 'known/1_1_$special_=</2___2__7__0__23'(A1,
18587 F,
18588 H,
18589 P)
18590 ).
18591'known/1_1_$special_=</2___2__7'(A, B, C) :-
18592 'known/1_1_$special_=</2___2__8'(A, B, C).
18593'known/1_1_$special_=</2___2__8'(_, _, A) :-
18594 arg(2, A, D),
18595 setarg(2, A, active),
18596 arg(4, A, B),
18597 C is B+1,
18598 setarg(4, A, C),
18599 ( D==not_stored_yet
18600 -> A=suspension(_, _, _, _, _, E, F),
18601 term_variables(term(E, F), G),
18602 'chr none_locked'(G),
18603 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18604 H),
18605 I=[A|H],
18606 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
18607 I),
18608 ( H=[J|_]
18609 -> setarg(5, J, I)
18610 ; true
18611 )
18612 ),
18613 'attach_known/1_1_$special_=</2___2'(G, A)
18614 ; true
18615 ).
18616'known/1_1_$special_=:=/2'(A, B) :-
18617 'known/1_1_$special_=:=/2___2__0'(A, B, _).
18618'known/1_1_$special_=:=/2___2__0'(A, B, I) :-
18619 ( 'chr newvia_2'(A, B, C)
18620 -> get_attr(C, guard_entailment, D),
18621 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E)
18622 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18623 E)
18624 ),
18625 member(F, E),
18626 F=suspension(_, active, _, _, _, G, H),
18627 G==A,
18628 H==B,
18629 !,
18630 ( var(I)
18631 -> true
18632 ; I=suspension(_, J, _, _, _, K, L),
18633 setarg(2, I, removed),
18634 ( J==not_stored_yet
18635 -> M=[]
18636 ; term_variables(term(K, L), M),
18637 ( arg(5, I, N),
18638 ( var(N)
18639 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18640 O),
18641 O=[_|P],
18642 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18643 P),
18644 ( P=[Q|_]
18645 -> setarg(5, Q, _)
18646 ; true
18647 )
18648 ; N=[_, _|P],
18649 setarg(2, N, P),
18650 ( P=[Q|_]
18651 -> setarg(5, Q, N)
18652 ; true
18653 )
18654 )
18655 ),
18656 'detach_known/1_1_$special_=:=/2___2'(M, I)
18657 )
18658 ).
18659'known/1_1_$special_=:=/2___2__0'(_, _, C) :-
18660 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
18661 A),
18662 member(B, A),
18663 B=suspension(_, active, _),
18664 !,
18665 ( var(C)
18666 -> true
18667 ; C=suspension(_, D, _, _, _, E, F),
18668 setarg(2, C, removed),
18669 ( D==not_stored_yet
18670 -> G=[]
18671 ; term_variables(term(E, F), G),
18672 ( arg(5, C, H),
18673 ( var(H)
18674 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18675 I),
18676 I=[_|J],
18677 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18678 J),
18679 ( J=[K|_]
18680 -> setarg(5, K, _)
18681 ; true
18682 )
18683 ; H=[_, _|J],
18684 setarg(2, H, J),
18685 ( J=[K|_]
18686 -> setarg(5, K, H)
18687 ; true
18688 )
18689 )
18690 ),
18691 'detach_known/1_1_$special_=:=/2___2'(G, C)
18692 )
18693 ).
18694'known/1_1_$special_=:=/2___2__0'(B, A, C) :-
18695 A==B,
18696 !,
18697 ( var(C)
18698 -> true
18699 ; C=suspension(_, D, _, _, _, E, F),
18700 setarg(2, C, removed),
18701 ( D==not_stored_yet
18702 -> G=[]
18703 ; term_variables(term(E, F), G),
18704 ( arg(5, C, H),
18705 ( var(H)
18706 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18707 I),
18708 I=[_|J],
18709 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18710 J),
18711 ( J=[K|_]
18712 -> setarg(5, K, _)
18713 ; true
18714 )
18715 ; H=[_, _|J],
18716 setarg(2, H, J),
18717 ( J=[K|_]
18718 -> setarg(5, K, H)
18719 ; true
18720 )
18721 )
18722 ),
18723 'detach_known/1_1_$special_=:=/2___2'(G, C)
18724 )
18725 ).
18726'known/1_1_$special_=:=/2___2__0'(B, A, C) :-
18727 number(A),
18728 number(B),
18729 B=\=A,
18730 !,
18731 ( var(C)
18732 -> true
18733 ; C=suspension(_, D, _, _, _, E, F),
18734 setarg(2, C, removed),
18735 ( D==not_stored_yet
18736 -> G=[]
18737 ; term_variables(term(E, F), G),
18738 ( arg(5, C, H),
18739 ( var(H)
18740 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18741 I),
18742 I=[_|J],
18743 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18744 J),
18745 ( J=[K|_]
18746 -> setarg(5, K, _)
18747 ; true
18748 )
18749 ; H=[_, _|J],
18750 setarg(2, H, J),
18751 ( J=[K|_]
18752 -> setarg(5, K, H)
18753 ; true
18754 )
18755 )
18756 ),
18757 'detach_known/1_1_$special_=:=/2___2'(G, C)
18758 )
18759 ),
18760 'known/1_1_$special_fail/0'.
18761'known/1_1_$special_=:=/2___2__0'(A, B, P) :-
18762 ( 'chr newvia_2'(A, B, C)
18763 -> get_attr(C, guard_entailment, D),
18764 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _, _)
18765 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
18766 E)
18767 ),
18768 member(F, E),
18769 F=suspension(_, active, _, _, _, G, H),
18770 G==A,
18771 H==B,
18772 !,
18773 F=suspension(_, _, _, _, _, I, J),
18774 setarg(2, F, removed),
18775 term_variables(term(I, J), O),
18776 arg(5, F, K),
18777 ( var(K)
18778 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
18779 L),
18780 L=[_|M],
18781 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
18782 M),
18783 ( M=[N|_]
18784 -> setarg(5, N, _)
18785 ; true
18786 )
18787 ; K=[_, _|M],
18788 setarg(2, K, M),
18789 ( M=[N|_]
18790 -> setarg(5, N, K)
18791 ; true
18792 )
18793 ),
18794 'detach_known/1_1_$special_=\\=/2___2'(O, F),
18795 ( var(P)
18796 -> true
18797 ; P=suspension(_, Q, _, _, _, R, S),
18798 setarg(2, P, removed),
18799 ( Q==not_stored_yet
18800 -> T=[]
18801 ; term_variables(term(R, S), T),
18802 ( arg(5, P, U),
18803 ( var(U)
18804 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18805 V),
18806 V=[_|W],
18807 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18808 W),
18809 ( W=[X|_]
18810 -> setarg(5, X, _)
18811 ; true
18812 )
18813 ; U=[_, _|W],
18814 setarg(2, U, W),
18815 ( W=[X|_]
18816 -> setarg(5, X, U)
18817 ; true
18818 )
18819 )
18820 ),
18821 'detach_known/1_1_$special_=:=/2___2'(T, P)
18822 )
18823 ),
18824 'known/1_1_$special_fail/0'.
18825'known/1_1_$special_=:=/2___2__0'(F, A, E) :-
18826 ( 'chr newvia_1'(A, B)
18827 -> get_attr(B, guard_entailment, C),
18828 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D)
18829 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18830 D)
18831 ),
18832 !,
18833 ( var(E)
18834 -> E=suspension(G, not_stored_yet, t, 0, _, F, A),
18835 'chr gen_id'(G)
18836 ; true
18837 ),
18838 'known/1_1_$special_=:=/2___2__0__0__11'(D, F, A, E).
18839'known/1_1_$special_=:=/2___2__0__0__11'([], A, B, C) :-
18840 'known/1_1_$special_=:=/2___2__1'(A, B, C).
18841'known/1_1_$special_=:=/2___2__0__0__11'([A|Q], F, C, D) :-
18842 ( A=suspension(_, active, _, _, _, B, G),
18843 B==C,
18844 ( E=t(193, D, A),
18845 '$novel_production'(D, E),
18846 '$novel_production'(A, E)
18847 ),
18848 F\==G
18849 -> '$extend_history'(D, E),
18850 ( arg(2, D, J),
18851 setarg(2, D, active),
18852 ( arg(4, D, H),
18853 I is H+1,
18854 setarg(4, D, I)
18855 ),
18856 ( J==not_stored_yet
18857 -> D=suspension(_, _, _, _, _, K, L),
18858 term_variables(term(K, L), M),
18859 'chr none_locked'(M),
18860 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18861 N),
18862 O=[D|N],
18863 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18864 O),
18865 ( N=[P|_]
18866 -> setarg(5, P, O)
18867 ; true
18868 )
18869 ),
18870 'attach_known/1_1_$special_=:=/2___2'(M, D)
18871 ; true
18872 )
18873 ),
18874 'known/1_1_$special_=:=/2'(F, G),
18875 ( D=suspension(_, active, _, I, _, _, _)
18876 -> setarg(2, D, inactive),
18877 'known/1_1_$special_=:=/2___2__0__0__11'(Q,
18878 F,
18879 C,
18880 D)
18881 ; true
18882 )
18883 ; 'known/1_1_$special_=:=/2___2__0__0__11'(Q,
18884 F,
18885 C,
18886 D)
18887 ).
18888'known/1_1_$special_=:=/2___2__0'(B, C, A) :-
18889 ( var(A)
18890 -> A=suspension(D, not_stored_yet, t, 0, _, B, C),
18891 'chr gen_id'(D)
18892 ; true
18893 ),
18894 'known/1_1_$special_=:=/2___2__1'(B, C, A).
18895'known/1_1_$special_=:=/2___2__1'(A, E, F) :-
18896 ( 'chr newvia_1'(A, B)
18897 -> get_attr(B, guard_entailment, C),
18898 C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D)
18899 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18900 D)
18901 ),
18902 !,
18903 'known/1_1_$special_=:=/2___2__1__0__12'(D, A, E, F).
18904'known/1_1_$special_=:=/2___2__1__0__12'([], A, B, C) :-
18905 'known/1_1_$special_=:=/2___2__2'(A, B, C).
18906'known/1_1_$special_=:=/2___2__1__0__12'([A|Q], C, G, D) :-
18907 ( A=suspension(_, active, _, _, _, F, B),
18908 B==C,
18909 ( E=t(193, A, D),
18910 '$novel_production'(A, E),
18911 '$novel_production'(D, E)
18912 ),
18913 F\==G
18914 -> '$extend_history'(D, E),
18915 ( arg(2, D, J),
18916 setarg(2, D, active),
18917 ( arg(4, D, H),
18918 I is H+1,
18919 setarg(4, D, I)
18920 ),
18921 ( J==not_stored_yet
18922 -> D=suspension(_, _, _, _, _, K, L),
18923 term_variables(term(K, L), M),
18924 'chr none_locked'(M),
18925 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18926 N),
18927 O=[D|N],
18928 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18929 O),
18930 ( N=[P|_]
18931 -> setarg(5, P, O)
18932 ; true
18933 )
18934 ),
18935 'attach_known/1_1_$special_=:=/2___2'(M, D)
18936 ; true
18937 )
18938 ),
18939 'known/1_1_$special_=:=/2'(F, G),
18940 ( D=suspension(_, active, _, I, _, _, _)
18941 -> setarg(2, D, inactive),
18942 'known/1_1_$special_=:=/2___2__1__0__12'(Q,
18943 C,
18944 G,
18945 D)
18946 ; true
18947 )
18948 ; 'known/1_1_$special_=:=/2___2__1__0__12'(Q,
18949 C,
18950 G,
18951 D)
18952 ).
18953'known/1_1_$special_=:=/2___2__1'(A, B, C) :-
18954 'known/1_1_$special_=:=/2___2__2'(A, B, C).
18955'known/1_1_$special_=:=/2___2__2'(L, K, A) :-
18956 '$novel_production'(A, 194),
18957 !,
18958 '$extend_history'(A, 194),
18959 arg(2, A, D),
18960 setarg(2, A, active),
18961 arg(4, A, B),
18962 C is B+1,
18963 setarg(4, A, C),
18964 ( D==not_stored_yet
18965 -> A=suspension(_, _, _, _, _, E, F),
18966 term_variables(term(E, F), G),
18967 'chr none_locked'(G),
18968 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18969 H),
18970 I=[A|H],
18971 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
18972 I),
18973 ( H=[J|_]
18974 -> setarg(5, J, I)
18975 ; true
18976 )
18977 ),
18978 'attach_known/1_1_$special_=:=/2___2'(G, A)
18979 ; true
18980 ),
18981 'known/1_1_$special_=:=/2'(K, L),
18982 ( A=suspension(_, active, _, C, _, _, _)
18983 -> setarg(2, A, inactive),
18984 'known/1_1_$special_=:=/2___2__3'(L, K, A)
18985 ; true
18986 ).
18987'known/1_1_$special_=:=/2___2__2'(A, B, C) :-
18988 'known/1_1_$special_=:=/2___2__3'(A, B, C).
18989'known/1_1_$special_=:=/2___2__3'(A, B, P) :-
18990 ( 'chr newvia_2'(A, B, C)
18991 -> get_attr(C, guard_entailment, D),
18992 D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _)
18993 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
18994 E)
18995 ),
18996 member(F, E),
18997 F=suspension(_, active, _, _, G),
18998 nonvar(G),
18999 G=(H=:=I),
19000 H==A,
19001 I==B,
19002 !,
19003 F=suspension(_, _, _, _, J),
19004 setarg(2, F, removed),
19005 term_variables(J, O),
19006 arg(4, F, K),
19007 ( var(K)
19008 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
19009 L),
19010 L=[_|M],
19011 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
19012 M),
19013 ( M=[N|_]
19014 -> setarg(4, N, _)
19015 ; true
19016 )
19017 ; K=[_, _|M],
19018 setarg(2, K, M),
19019 ( M=[N|_]
19020 -> setarg(4, N, K)
19021 ; true
19022 )
19023 ),
19024 'detach_known/1_1_$special_\\+/1___1'(O, F),
19025 ( var(P)
19026 -> true
19027 ; P=suspension(_, Q, _, _, _, R, S),
19028 setarg(2, P, removed),
19029 ( Q==not_stored_yet
19030 -> T=[]
19031 ; term_variables(term(R, S), T),
19032 ( arg(5, P, U),
19033 ( var(U)
19034 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
19035 V),
19036 V=[_|W],
19037 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
19038 W),
19039 ( W=[X|_]
19040 -> setarg(5, X, _)
19041 ; true
19042 )
19043 ; U=[_, _|W],
19044 setarg(2, U, W),
19045 ( W=[X|_]
19046 -> setarg(5, X, U)
19047 ; true
19048 )
19049 )
19050 ),
19051 'detach_known/1_1_$special_=:=/2___2'(T, P)
19052 )
19053 ),
19054 'known/1_1_$special_fail/0'.
19055'known/1_1_$special_=:=/2___2__3'(A, B, F) :-
19056 ( 'chr newvia_2'(A, B, C)
19057 -> get_attr(C, guard_entailment, D),
19058 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
19059 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
19060 E)
19061 ),
19062 !,
19063 'known/1_1_$special_=:=/2___2__3__0__15'(E, A, B, F).
19064'known/1_1_$special_=:=/2___2__3__0__15'([], A, B, C) :-
19065 'known/1_1_$special_=:=/2___2__4'(A, B, C).
19066'known/1_1_$special_=:=/2___2__3__0__15'([A|Z], E, G, O) :-
19067 ( A=suspension(_, active, _, _, B, Y),
19068 nonvar(B),
19069 B=(\+C),
19070 nonvar(C),
19071 C=(D=:=F),
19072 D==E,
19073 F==G
19074 -> ( A=suspension(_, _, _, _, H, I),
19075 setarg(2, A, removed),
19076 term_variables(term(H, I), N),
19077 ( arg(4, A, J),
19078 ( var(J)
19079 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
19080 K),
19081 K=[_|L],
19082 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
19083 L),
19084 ( L=[M|_]
19085 -> setarg(4, M, _)
19086 ; true
19087 )
19088 ; J=[_, _|L],
19089 setarg(2, J, L),
19090 ( L=[M|_]
19091 -> setarg(4, M, J)
19092 ; true
19093 )
19094 )
19095 ),
19096 'detach_known/1_1_$special_;/2___2'(N, A)
19097 ),
19098 ( arg(2, O, R),
19099 setarg(2, O, active),
19100 ( arg(4, O, P),
19101 Q is P+1,
19102 setarg(4, O, Q)
19103 ),
19104 ( R==not_stored_yet
19105 -> O=suspension(_, _, _, _, _, S, T),
19106 term_variables(term(S, T), U),
19107 'chr none_locked'(U),
19108 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
19109 V),
19110 W=[O|V],
19111 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
19112 W),
19113 ( V=[X|_]
19114 -> setarg(5, X, W)
19115 ; true
19116 )
19117 ),
19118 'attach_known/1_1_$special_=:=/2___2'(U, O)
19119 ; true
19120 )
19121 ),
19122 known(Y),
19123 ( O=suspension(_, active, _, Q, _, _, _)
19124 -> setarg(2, O, inactive),
19125 'known/1_1_$special_=:=/2___2__3__0__15'(Z,
19126 E,
19127 G,
19128 O)
19129 ; true
19130 )
19131 ; 'known/1_1_$special_=:=/2___2__3__0__15'(Z,
19132 E,
19133 G,
19134 O)
19135 ).
19136'known/1_1_$special_=:=/2___2__3'(A, B, C) :-
19137 'known/1_1_$special_=:=/2___2__4'(A, B, C).
19138'known/1_1_$special_=:=/2___2__4'(A, B, F) :-
19139 ( 'chr newvia_2'(A, B, C)
19140 -> get_attr(C, guard_entailment, D),
19141 D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _)
19142 ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
19143 E)
19144 ),
19145 !,
19146 'known/1_1_$special_=:=/2___2__4__0__16'(E, A, B, F).
19147'known/1_1_$special_=:=/2___2__4__0__16'([], A, B, C) :-
19148 'known/1_1_$special_=:=/2___2__5'(A, B, C).
19149'known/1_1_$special_=:=/2___2__4__0__16'([A|A1], F, H, P) :-
19150 ( A=suspension(_, active, _, _, B, Z),
19151 nonvar(B),
19152 B=(C, _),
19153 nonvar(C),
19154 C=(\+D),
19155 nonvar(D),
19156 D=(E=:=G),
19157 E==F,
19158 G==H
19159 -> ( A=suspension(_, _, _, _, I, J),
19160 setarg(2, A, removed),
19161 term_variables(term(I, J), O),
19162 ( arg(4, A, K),
19163 ( var(K)
19164 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
19165 L),
19166 L=[_|M],
19167 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
19168 M),
19169 ( M=[N|_]
19170 -> setarg(4, N, _)
19171 ; true
19172 )
19173 ; K=[_, _|M],
19174 setarg(2, K, M),
19175 ( M=[N|_]
19176 -> setarg(4, N, K)
19177 ; true
19178 )
19179 )
19180 ),
19181 'detach_known/1_1_$special_;/2___2'(O, A)
19182 ),
19183 ( arg(2, P, S),
19184 setarg(2, P, active),
19185 ( arg(4, P, Q),
19186 R is Q+1,
19187 setarg(4, P, R)
19188 ),
19189 ( S==not_stored_yet
19190 -> P=suspension(_, _, _, _, _, T, U),
19191 term_variables(term(T, U), V),
19192 'chr none_locked'(V),
19193 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
19194 W),
19195 X=[P|W],
19196 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
19197 X),
19198 ( W=[Y|_]
19199 -> setarg(5, Y, X)
19200 ; true
19201 )
19202 ),
19203 'attach_known/1_1_$special_=:=/2___2'(V, P)
19204 ; true
19205 )
19206 ),
19207 known(Z),
19208 ( P=suspension(_, active, _, R, _, _, _)
19209 -> setarg(2, P, inactive),
19210 'known/1_1_$special_=:=/2___2__4__0__16'(A1,
19211 F,
19212 H,
19213 P)
19214 ; true
19215 )
19216 ; 'known/1_1_$special_=:=/2___2__4__0__16'(A1,
19217 F,
19218 H,
19219 P)
19220 ).
19221'known/1_1_$special_=:=/2___2__4'(A, B, C) :-
19222 'known/1_1_$special_=:=/2___2__5'(A, B, C).
19223'known/1_1_$special_=:=/2___2__5'(_, _, A) :-
19224 arg(2, A, D),
19225 setarg(2, A, active),
19226 arg(4, A, B),
19227 C is B+1,
19228 setarg(4, A, C),
19229 ( D==not_stored_yet
19230 -> A=suspension(_, _, _, _, _, E, F),
19231 term_variables(term(E, F), G),
19232 'chr none_locked'(G),
19233 ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
19234 H),
19235 I=[A|H],
19236 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
19237 I),
19238 ( H=[J|_]
19239 -> setarg(5, J, I)
19240 ; true
19241 )
19242 ),
19243 'attach_known/1_1_$special_=:=/2___2'(G, A)
19244 ; true
19245 ).
19246'known/1_1_$special_fail/0' :-
19247 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
19248 A),
19249 member(B, A),
19250 B=suspension(_, active, _),
19251 !.
19252'known/1_1_$special_fail/0' :-
19253 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
19254 A),
19255 !,
19256 'known/1_1_$special_fail/0___0__0__0__24'(A).
19257'known/1_1_$special_fail/0___0__0__0__24'([]) :-
19258 'known/1_1_$special_fail/0___0__1'.
19259'known/1_1_$special_fail/0___0__0__0__24'([A|I]) :-
19260 ( A=suspension(_, active, _, _, _, _)
19261 -> ( A=suspension(_, _, _, _, B, C),
19262 setarg(2, A, removed),
19263 term_variables(term(B, C), H),
19264 ( arg(4, A, D),
19265 ( var(D)
19266 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
19267 E),
19268 E=[_|F],
19269 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',
19270 F),
19271 ( F=[G|_]
19272 -> setarg(4, G, _)
19273 ; true
19274 )
19275 ; D=[_, _|F],
19276 setarg(2, D, F),
19277 ( F=[G|_]
19278 -> setarg(4, G, D)
19279 ; true
19280 )
19281 )
19282 ),
19283 'detach_known/1_1_$special_;/2___2'(H, A)
19284 ),
19285 'known/1_1_$special_fail/0___0__0__0__24'(I)
19286 ; 'known/1_1_$special_fail/0___0__0__0__24'(I)
19287 ).
19288'known/1_1_$special_fail/0' :-
19289 'known/1_1_$special_fail/0___0__1'.
19290'known/1_1_$special_fail/0___0__1' :-
19291 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
19292 A),
19293 !,
19294 'known/1_1_$special_fail/0___0__1__0__25'(A).
19295'known/1_1_$special_fail/0___0__1__0__25'([]) :-
19296 'known/1_1_$special_fail/0___0__2'.
19297'known/1_1_$special_fail/0___0__1__0__25'([A|H]) :-
19298 ( A=suspension(_, active, _, _, _)
19299 -> ( A=suspension(_, _, _, _, B),
19300 setarg(2, A, removed),
19301 term_variables(B, G),
19302 ( arg(4, A, C),
19303 ( var(C)
19304 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
19305 D),
19306 D=[_|E],
19307 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',
19308 E),
19309 ( E=[F|_]
19310 -> setarg(4, F, _)
19311 ; true
19312 )
19313 ; C=[_, _|E],
19314 setarg(2, C, E),
19315 ( E=[F|_]
19316 -> setarg(4, F, C)
19317 ; true
19318 )
19319 )
19320 ),
19321 'detach_known/1_1_$special_nonvar/1___1'(G, A)
19322 ),
19323 'known/1_1_$special_fail/0___0__1__0__25'(H)
19324 ; 'known/1_1_$special_fail/0___0__1__0__25'(H)
19325 ).
19326'known/1_1_$special_fail/0___0__1' :-
19327 'known/1_1_$special_fail/0___0__2'.
19328'known/1_1_$special_fail/0___0__2' :-
19329 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
19330 A),
19331 !,
19332 'known/1_1_$special_fail/0___0__2__0__26'(A).
19333'known/1_1_$special_fail/0___0__2__0__26'([]) :-
19334 'known/1_1_$special_fail/0___0__3'.
19335'known/1_1_$special_fail/0___0__2__0__26'([A|H]) :-
19336 ( A=suspension(_, active, _, _, _)
19337 -> ( A=suspension(_, _, _, _, B),
19338 setarg(2, A, removed),
19339 term_variables(B, G),
19340 ( arg(4, A, C),
19341 ( var(C)
19342 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
19343 D),
19344 D=[_|E],
19345 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',
19346 E),
19347 ( E=[F|_]
19348 -> setarg(4, F, _)
19349 ; true
19350 )
19351 ; C=[_, _|E],
19352 setarg(2, C, E),
19353 ( E=[F|_]
19354 -> setarg(4, F, C)
19355 ; true
19356 )
19357 )
19358 ),
19359 'detach_known/1_1_$special_var/1___1'(G, A)
19360 ),
19361 'known/1_1_$special_fail/0___0__2__0__26'(H)
19362 ; 'known/1_1_$special_fail/0___0__2__0__26'(H)
19363 ).
19364'known/1_1_$special_fail/0___0__2' :-
19365 'known/1_1_$special_fail/0___0__3'.
19366'known/1_1_$special_fail/0___0__3' :-
19367 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
19368 A),
19369 !,
19370 'known/1_1_$special_fail/0___0__3__0__27'(A).
19371'known/1_1_$special_fail/0___0__3__0__27'([]) :-
19372 'known/1_1_$special_fail/0___0__4'.
19373'known/1_1_$special_fail/0___0__3__0__27'([A|H]) :-
19374 ( A=suspension(_, active, _, _, _, _)
19375 -> ( A=suspension(_, _, _, _, _, B),
19376 setarg(2, A, removed),
19377 term_variables(B, G),
19378 ( arg(5, A, C),
19379 ( var(C)
19380 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
19381 D),
19382 D=[_|E],
19383 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',
19384 E),
19385 ( E=[F|_]
19386 -> setarg(5, F, _)
19387 ; true
19388 )
19389 ; C=[_, _|E],
19390 setarg(2, C, E),
19391 ( E=[F|_]
19392 -> setarg(5, F, C)
19393 ; true
19394 )
19395 )
19396 ),
19397 'detach_known/1_1_$special_atom/1___1'(G, A)
19398 ),
19399 'known/1_1_$special_fail/0___0__3__0__27'(H)
19400 ; 'known/1_1_$special_fail/0___0__3__0__27'(H)
19401 ).
19402'known/1_1_$special_fail/0___0__3' :-
19403 'known/1_1_$special_fail/0___0__4'.
19404'known/1_1_$special_fail/0___0__4' :-
19405 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
19406 A),
19407 !,
19408 'known/1_1_$special_fail/0___0__4__0__28'(A).
19409'known/1_1_$special_fail/0___0__4__0__28'([]) :-
19410 'known/1_1_$special_fail/0___0__5'.
19411'known/1_1_$special_fail/0___0__4__0__28'([A|H]) :-
19412 ( A=suspension(_, active, _, _, _, _)
19413 -> ( A=suspension(_, _, _, _, _, B),
19414 setarg(2, A, removed),
19415 term_variables(B, G),
19416 ( arg(5, A, C),
19417 ( var(C)
19418 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
19419 D),
19420 D=[_|E],
19421 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',
19422 E),
19423 ( E=[F|_]
19424 -> setarg(5, F, _)
19425 ; true
19426 )
19427 ; C=[_, _|E],
19428 setarg(2, C, E),
19429 ( E=[F|_]
19430 -> setarg(5, F, C)
19431 ; true
19432 )
19433 )
19434 ),
19435 'detach_known/1_1_$special_atomic/1___1'(G, A)
19436 ),
19437 'known/1_1_$special_fail/0___0__4__0__28'(H)
19438 ; 'known/1_1_$special_fail/0___0__4__0__28'(H)
19439 ).
19440'known/1_1_$special_fail/0___0__4' :-
19441 'known/1_1_$special_fail/0___0__5'.
19442'known/1_1_$special_fail/0___0__5' :-
19443 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
19444 A),
19445 !,
19446 'known/1_1_$special_fail/0___0__5__0__29'(A).
19447'known/1_1_$special_fail/0___0__5__0__29'([]) :-
19448 'known/1_1_$special_fail/0___0__6'.
19449'known/1_1_$special_fail/0___0__5__0__29'([A|H]) :-
19450 ( A=suspension(_, active, _, _, _, _)
19451 -> ( A=suspension(_, _, _, _, _, B),
19452 setarg(2, A, removed),
19453 term_variables(B, G),
19454 ( arg(5, A, C),
19455 ( var(C)
19456 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
19457 D),
19458 D=[_|E],
19459 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',
19460 E),
19461 ( E=[F|_]
19462 -> setarg(5, F, _)
19463 ; true
19464 )
19465 ; C=[_, _|E],
19466 setarg(2, C, E),
19467 ( E=[F|_]
19468 -> setarg(5, F, C)
19469 ; true
19470 )
19471 )
19472 ),
19473 'detach_known/1_1_$special_compound/1___1'(G, A)
19474 ),
19475 'known/1_1_$special_fail/0___0__5__0__29'(H)
19476 ; 'known/1_1_$special_fail/0___0__5__0__29'(H)
19477 ).
19478'known/1_1_$special_fail/0___0__5' :-
19479 'known/1_1_$special_fail/0___0__6'.
19480'known/1_1_$special_fail/0___0__6' :-
19481 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
19482 A),
19483 !,
19484 'known/1_1_$special_fail/0___0__6__0__30'(A).
19485'known/1_1_$special_fail/0___0__6__0__30'([]) :-
19486 'known/1_1_$special_fail/0___0__7'.
19487'known/1_1_$special_fail/0___0__6__0__30'([A|H]) :-
19488 ( A=suspension(_, active, _, _, _, _)
19489 -> ( A=suspension(_, _, _, _, _, B),
19490 setarg(2, A, removed),
19491 term_variables(B, G),
19492 ( arg(5, A, C),
19493 ( var(C)
19494 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
19495 D),
19496 D=[_|E],
19497 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',
19498 E),
19499 ( E=[F|_]
19500 -> setarg(5, F, _)
19501 ; true
19502 )
19503 ; C=[_, _|E],
19504 setarg(2, C, E),
19505 ( E=[F|_]
19506 -> setarg(5, F, C)
19507 ; true
19508 )
19509 )
19510 ),
19511 'detach_known/1_1_$special_ground/1___1'(G, A)
19512 ),
19513 'known/1_1_$special_fail/0___0__6__0__30'(H)
19514 ; 'known/1_1_$special_fail/0___0__6__0__30'(H)
19515 ).
19516'known/1_1_$special_fail/0___0__6' :-
19517 'known/1_1_$special_fail/0___0__7'.
19518'known/1_1_$special_fail/0___0__7' :-
19519 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
19520 A),
19521 !,
19522 'known/1_1_$special_fail/0___0__7__0__31'(A).
19523'known/1_1_$special_fail/0___0__7__0__31'([]) :-
19524 'known/1_1_$special_fail/0___0__8'.
19525'known/1_1_$special_fail/0___0__7__0__31'([A|H]) :-
19526 ( A=suspension(_, active, _, _, _, _)
19527 -> ( A=suspension(_, _, _, _, _, B),
19528 setarg(2, A, removed),
19529 term_variables(B, G),
19530 ( arg(5, A, C),
19531 ( var(C)
19532 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
19533 D),
19534 D=[_|E],
19535 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',
19536 E),
19537 ( E=[F|_]
19538 -> setarg(5, F, _)
19539 ; true
19540 )
19541 ; C=[_, _|E],
19542 setarg(2, C, E),
19543 ( E=[F|_]
19544 -> setarg(5, F, C)
19545 ; true
19546 )
19547 )
19548 ),
19549 'detach_known/1_1_$special_integer/1___1'(G, A)
19550 ),
19551 'known/1_1_$special_fail/0___0__7__0__31'(H)
19552 ; 'known/1_1_$special_fail/0___0__7__0__31'(H)
19553 ).
19554'known/1_1_$special_fail/0___0__7' :-
19555 'known/1_1_$special_fail/0___0__8'.
19556'known/1_1_$special_fail/0___0__8' :-
19557 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
19558 A),
19559 !,
19560 'known/1_1_$special_fail/0___0__8__0__32'(A).
19561'known/1_1_$special_fail/0___0__8__0__32'([]) :-
19562 'known/1_1_$special_fail/0___0__9'.
19563'known/1_1_$special_fail/0___0__8__0__32'([A|H]) :-
19564 ( A=suspension(_, active, _, _, _, _)
19565 -> ( A=suspension(_, _, _, _, _, B),
19566 setarg(2, A, removed),
19567 term_variables(B, G),
19568 ( arg(5, A, C),
19569 ( var(C)
19570 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
19571 D),
19572 D=[_|E],
19573 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',
19574 E),
19575 ( E=[F|_]
19576 -> setarg(5, F, _)
19577 ; true
19578 )
19579 ; C=[_, _|E],
19580 setarg(2, C, E),
19581 ( E=[F|_]
19582 -> setarg(5, F, C)
19583 ; true
19584 )
19585 )
19586 ),
19587 'detach_known/1_1_$special_float/1___1'(G, A)
19588 ),
19589 'known/1_1_$special_fail/0___0__8__0__32'(H)
19590 ; 'known/1_1_$special_fail/0___0__8__0__32'(H)
19591 ).
19592'known/1_1_$special_fail/0___0__8' :-
19593 'known/1_1_$special_fail/0___0__9'.
19594'known/1_1_$special_fail/0___0__9' :-
19595 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
19596 A),
19597 !,
19598 'known/1_1_$special_fail/0___0__9__0__33'(A).
19599'known/1_1_$special_fail/0___0__9__0__33'([]) :-
19600 'known/1_1_$special_fail/0___0__10'.
19601'known/1_1_$special_fail/0___0__9__0__33'([A|H]) :-
19602 ( A=suspension(_, active, _, _, _, _)
19603 -> ( A=suspension(_, _, _, _, _, B),
19604 setarg(2, A, removed),
19605 term_variables(B, G),
19606 ( arg(5, A, C),
19607 ( var(C)
19608 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
19609 D),
19610 D=[_|E],
19611 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',
19612 E),
19613 ( E=[F|_]
19614 -> setarg(5, F, _)
19615 ; true
19616 )
19617 ; C=[_, _|E],
19618 setarg(2, C, E),
19619 ( E=[F|_]
19620 -> setarg(5, F, C)
19621 ; true
19622 )
19623 )
19624 ),
19625 'detach_known/1_1_$special_number/1___1'(G, A)
19626 ),
19627 'known/1_1_$special_fail/0___0__9__0__33'(H)
19628 ; 'known/1_1_$special_fail/0___0__9__0__33'(H)
19629 ).
19630'known/1_1_$special_fail/0___0__9' :-
19631 'known/1_1_$special_fail/0___0__10'.
19632'known/1_1_$special_fail/0___0__10' :-
19633 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
19634 A),
19635 !,
19636 'known/1_1_$special_fail/0___0__10__0__34'(A).
19637'known/1_1_$special_fail/0___0__10__0__34'([]) :-
19638 'known/1_1_$special_fail/0___0__11'.
19639'known/1_1_$special_fail/0___0__10__0__34'([A|I]) :-
19640 ( A=suspension(_, active, _, _, _, _, _)
19641 -> ( A=suspension(_, _, _, _, _, B, C),
19642 setarg(2, A, removed),
19643 term_variables(term(B, C), H),
19644 ( arg(5, A, D),
19645 ( var(D)
19646 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
19647 E),
19648 E=[_|F],
19649 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',
19650 F),
19651 ( F=[G|_]
19652 -> setarg(5, G, _)
19653 ; true
19654 )
19655 ; D=[_, _|F],
19656 setarg(2, D, F),
19657 ( F=[G|_]
19658 -> setarg(5, G, D)
19659 ; true
19660 )
19661 )
19662 ),
19663 'detach_known/1_1_$special_=\\=/2___2'(H, A)
19664 ),
19665 'known/1_1_$special_fail/0___0__10__0__34'(I)
19666 ; 'known/1_1_$special_fail/0___0__10__0__34'(I)
19667 ).
19668'known/1_1_$special_fail/0___0__10' :-
19669 'known/1_1_$special_fail/0___0__11'.
19670'known/1_1_$special_fail/0___0__11' :-
19671 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
19672 A),
19673 !,
19674 'known/1_1_$special_fail/0___0__11__0__35'(A).
19675'known/1_1_$special_fail/0___0__11__0__35'([]) :-
19676 'known/1_1_$special_fail/0___0__12'.
19677'known/1_1_$special_fail/0___0__11__0__35'([A|H]) :-
19678 ( A=suspension(_, active, _, _, _)
19679 -> ( A=suspension(_, _, _, _, B),
19680 setarg(2, A, removed),
19681 term_variables(B, G),
19682 ( arg(4, A, C),
19683 ( var(C)
19684 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
19685 D),
19686 D=[_|E],
19687 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',
19688 E),
19689 ( E=[F|_]
19690 -> setarg(4, F, _)
19691 ; true
19692 )
19693 ; C=[_, _|E],
19694 setarg(2, C, E),
19695 ( E=[F|_]
19696 -> setarg(4, F, C)
19697 ; true
19698 )
19699 )
19700 ),
19701 'detach_known/1_1_$special_\\+/1___1'(G, A)
19702 ),
19703 'known/1_1_$special_fail/0___0__11__0__35'(H)
19704 ; 'known/1_1_$special_fail/0___0__11__0__35'(H)
19705 ).
19706'known/1_1_$special_fail/0___0__11' :-
19707 'known/1_1_$special_fail/0___0__12'.
19708'known/1_1_$special_fail/0___0__12' :-
19709 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
19710 A),
19711 !,
19712 'known/1_1_$special_fail/0___0__12__0__36'(A).
19713'known/1_1_$special_fail/0___0__12__0__36'([]) :-
19714 'known/1_1_$special_fail/0___0__13'.
19715'known/1_1_$special_fail/0___0__12__0__36'([A|J]) :-
19716 ( A=suspension(_, active, _, _, _, _, _)
19717 -> ( A=suspension(_, _, _, _, B, C, D),
19718 setarg(2, A, removed),
19719 term_variables(term(B, C, D), I),
19720 ( arg(4, A, E),
19721 ( var(E)
19722 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
19723 F),
19724 F=[_|G],
19725 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',
19726 G),
19727 ( G=[H|_]
19728 -> setarg(4, H, _)
19729 ; true
19730 )
19731 ; E=[_, _|G],
19732 setarg(2, E, G),
19733 ( G=[H|_]
19734 -> setarg(4, H, E)
19735 ; true
19736 )
19737 )
19738 ),
19739 'detach_known/1_1_$special_functor/3___3'(I, A)
19740 ),
19741 'known/1_1_$special_fail/0___0__12__0__36'(J)
19742 ; 'known/1_1_$special_fail/0___0__12__0__36'(J)
19743 ).
19744'known/1_1_$special_fail/0___0__12' :-
19745 'known/1_1_$special_fail/0___0__13'.
19746'known/1_1_$special_fail/0___0__13' :-
19747 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
19748 A),
19749 !,
19750 'known/1_1_$special_fail/0___0__13__0__37'(A).
19751'known/1_1_$special_fail/0___0__13__0__37'([]) :-
19752 'known/1_1_$special_fail/0___0__14'.
19753'known/1_1_$special_fail/0___0__13__0__37'([A|I]) :-
19754 ( A=suspension(_, active, _, _, _, _, _)
19755 -> ( A=suspension(_, _, _, _, _, B, C),
19756 setarg(2, A, removed),
19757 term_variables(term(B, C), H),
19758 ( arg(5, A, D),
19759 ( var(D)
19760 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
19761 E),
19762 E=[_|F],
19763 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',
19764 F),
19765 ( F=[G|_]
19766 -> setarg(5, G, _)
19767 ; true
19768 )
19769 ; D=[_, _|F],
19770 setarg(2, D, F),
19771 ( F=[G|_]
19772 -> setarg(5, G, D)
19773 ; true
19774 )
19775 )
19776 ),
19777 'detach_known/1_1_$special_\\=/2___2'(H, A)
19778 ),
19779 'known/1_1_$special_fail/0___0__13__0__37'(I)
19780 ; 'known/1_1_$special_fail/0___0__13__0__37'(I)
19781 ).
19782'known/1_1_$special_fail/0___0__13' :-
19783 'known/1_1_$special_fail/0___0__14'.
19784'known/1_1_$special_fail/0___0__14' :-
19785 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
19786 A),
19787 !,
19788 'known/1_1_$special_fail/0___0__14__0__38'(A).
19789'known/1_1_$special_fail/0___0__14__0__38'([]) :-
19790 'known/1_1_$special_fail/0___0__15'.
19791'known/1_1_$special_fail/0___0__14__0__38'([A|I]) :-
19792 ( A=suspension(_, active, _, _, _, _)
19793 -> ( A=suspension(_, _, _, _, B, C),
19794 setarg(2, A, removed),
19795 term_variables(term(B, C), H),
19796 ( arg(4, A, D),
19797 ( var(D)
19798 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
19799 E),
19800 E=[_|F],
19801 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',
19802 F),
19803 ( F=[G|_]
19804 -> setarg(4, G, _)
19805 ; true
19806 )
19807 ; D=[_, _|F],
19808 setarg(2, D, F),
19809 ( F=[G|_]
19810 -> setarg(4, G, D)
19811 ; true
19812 )
19813 )
19814 ),
19815 'detach_known/1_1_$special_=/2___2'(H, A)
19816 ),
19817 'known/1_1_$special_fail/0___0__14__0__38'(I)
19818 ; 'known/1_1_$special_fail/0___0__14__0__38'(I)
19819 ).
19820'known/1_1_$special_fail/0___0__14' :-
19821 'known/1_1_$special_fail/0___0__15'.
19822'known/1_1_$special_fail/0___0__15' :-
19823 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
19824 A),
19825 !,
19826 'known/1_1_$special_fail/0___0__15__0__40'(A).
19827'known/1_1_$special_fail/0___0__15__0__40'([]) :-
19828 'known/1_1_$special_fail/0___0__16'.
19829'known/1_1_$special_fail/0___0__15__0__40'([A|I]) :-
19830 ( A=suspension(_, active, _, _, _, _, _)
19831 -> ( A=suspension(_, _, _, _, _, B, C),
19832 setarg(2, A, removed),
19833 term_variables(term(B, C), H),
19834 ( arg(5, A, D),
19835 ( var(D)
19836 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
19837 E),
19838 E=[_|F],
19839 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',
19840 F),
19841 ( F=[G|_]
19842 -> setarg(5, G, _)
19843 ; true
19844 )
19845 ; D=[_, _|F],
19846 setarg(2, D, F),
19847 ( F=[G|_]
19848 -> setarg(5, G, D)
19849 ; true
19850 )
19851 )
19852 ),
19853 'detach_known/1_1_$special_\\==/2___2'(H, A)
19854 ),
19855 'known/1_1_$special_fail/0___0__15__0__40'(I)
19856 ; 'known/1_1_$special_fail/0___0__15__0__40'(I)
19857 ).
19858'known/1_1_$special_fail/0___0__15' :-
19859 'known/1_1_$special_fail/0___0__16'.
19860'known/1_1_$special_fail/0___0__16' :-
19861 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
19862 A),
19863 !,
19864 'known/1_1_$special_fail/0___0__16__0__41'(A).
19865'known/1_1_$special_fail/0___0__16__0__41'([]) :-
19866 'known/1_1_$special_fail/0___0__17'.
19867'known/1_1_$special_fail/0___0__16__0__41'([A|I]) :-
19868 ( A=suspension(_, active, _, _, _, _, _)
19869 -> ( A=suspension(_, _, _, _, _, B, C),
19870 setarg(2, A, removed),
19871 term_variables(term(B, C), H),
19872 ( arg(5, A, D),
19873 ( var(D)
19874 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
19875 E),
19876 E=[_|F],
19877 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',
19878 F),
19879 ( F=[G|_]
19880 -> setarg(5, G, _)
19881 ; true
19882 )
19883 ; D=[_, _|F],
19884 setarg(2, D, F),
19885 ( F=[G|_]
19886 -> setarg(5, G, D)
19887 ; true
19888 )
19889 )
19890 ),
19891 'detach_known/1_1_$special_==/2___2'(H, A)
19892 ),
19893 'known/1_1_$special_fail/0___0__16__0__41'(I)
19894 ; 'known/1_1_$special_fail/0___0__16__0__41'(I)
19895 ).
19896'known/1_1_$special_fail/0___0__16' :-
19897 'known/1_1_$special_fail/0___0__17'.
19898'known/1_1_$special_fail/0___0__17' :-
19899 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
19900 A),
19901 !,
19902 'known/1_1_$special_fail/0___0__17__0__46'(A).
19903'known/1_1_$special_fail/0___0__17__0__46'([]) :-
19904 'known/1_1_$special_fail/0___0__18'.
19905'known/1_1_$special_fail/0___0__17__0__46'([A|I]) :-
19906 ( A=suspension(_, active, _, _, _, _, _)
19907 -> ( A=suspension(_, _, _, _, _, B, C),
19908 setarg(2, A, removed),
19909 term_variables(term(B, C), H),
19910 ( arg(5, A, D),
19911 ( var(D)
19912 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
19913 E),
19914 E=[_|F],
19915 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=</2___2',
19916 F),
19917 ( F=[G|_]
19918 -> setarg(5, G, _)
19919 ; true
19920 )
19921 ; D=[_, _|F],
19922 setarg(2, D, F),
19923 ( F=[G|_]
19924 -> setarg(5, G, D)
19925 ; true
19926 )
19927 )
19928 ),
19929 'detach_known/1_1_$special_=</2___2'(H, A)
19930 ),
19931 'known/1_1_$special_fail/0___0__17__0__46'(I)
19932 ; 'known/1_1_$special_fail/0___0__17__0__46'(I)
19933 ).
19934'known/1_1_$special_fail/0___0__17' :-
19935 'known/1_1_$special_fail/0___0__18'.
19936'known/1_1_$special_fail/0___0__18' :-
19937 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
19938 A),
19939 !,
19940 'known/1_1_$special_fail/0___0__18__0__47'(A).
19941'known/1_1_$special_fail/0___0__18__0__47'([]) :-
19942 'known/1_1_$special_fail/0___0__19'.
19943'known/1_1_$special_fail/0___0__18__0__47'([A|I]) :-
19944 ( A=suspension(_, active, _, _, _, _, _)
19945 -> ( A=suspension(_, _, _, _, _, B, C),
19946 setarg(2, A, removed),
19947 term_variables(term(B, C), H),
19948 ( arg(5, A, D),
19949 ( var(D)
19950 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
19951 E),
19952 E=[_|F],
19953 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',
19954 F),
19955 ( F=[G|_]
19956 -> setarg(5, G, _)
19957 ; true
19958 )
19959 ; D=[_, _|F],
19960 setarg(2, D, F),
19961 ( F=[G|_]
19962 -> setarg(5, G, D)
19963 ; true
19964 )
19965 )
19966 ),
19967 'detach_known/1_1_$special_=:=/2___2'(H, A)
19968 ),
19969 'known/1_1_$special_fail/0___0__18__0__47'(I)
19970 ; 'known/1_1_$special_fail/0___0__18__0__47'(I)
19971 ).
19972'known/1_1_$special_fail/0___0__18' :-
19973 'known/1_1_$special_fail/0___0__19'.
19974'known/1_1_$special_fail/0___0__19' :-
19975 nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
19976 A),
19977 !,
19978 'known/1_1_$special_fail/0___0__19__0__50'(A).
19979'known/1_1_$special_fail/0___0__19__0__50'([]) :-
19980 'known/1_1_$special_fail/0___0__20'.
19981'known/1_1_$special_fail/0___0__19__0__50'([A|H]) :-
19982 ( A=suspension(_, active, _, _, _)
19983 -> ( A=suspension(_, _, _, _, B),
19984 setarg(2, A, removed),
19985 term_variables(B, G),
19986 ( arg(4, A, C),
19987 ( var(C)
19988 -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
19989 D),
19990 D=[_|E],
19991 b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',
19992 E),
19993 ( E=[F|_]
19994 -> setarg(4, F, _)
19995 ; true
19996 )
19997 ; C=[_, _|E],
19998 setarg(2, C, E),
19999 ( E=[F|_]
20000 -> setarg(4, F, C)
20001 ; true
20002 )
20003 )
20004 ),
20005 'detach_known/1_1_$default___1'(G, A)
20006 ),
20007 'known/1_1_$special_fail/0___0__19__0__50'(H)
20008 ; 'known/1_1_$special_fail/0___0__19__0__50'(H)
20009 ).
20010'known/1_1_$special_fail/0___0__19' :-
20011 'known/1_1_$special_fail/0___0__20'.
20012'known/1_1_$special_fail/0___0__20' :-
20013 B=suspension(A, active, _),
20014 'chr gen_id'(A),
20015 nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
20016 C),
20017 D=[B|C],
20018 b_setval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',
20019 D),
20020 ( C=[E|_]
20021 -> setarg(3, E, D)
20022 ; true
20023 ).
20024:- (multifile chr:'$chr_module'/1).20025chr:'$chr_module'(guard_entailment)