/* Generated by CHR bootstrap compiler From: guard_entailment.chr Date: Mon Jun 22 20:07:01 2015 DO NOT EDIT. EDIT THE CHR FILE INSTEAD */ :- module(guard_entailment, [ entails_guard/2, simplify_guards/5 ]). :- use_module(chr_runtime). :- style_check(- (discontiguous)). :- style_check(-singleton). :- style_check(-no_effect). :- include(chr_op). :- use_module(library(dialect/hprolog)). :- use_module(builtins). :- use_module(chr_compiler_errors). entails_guard(A, B) :- copy_term_nat((A, B), (C, F)), term_variables(C, D), variables(D), sort(C, E), entails_guard2(E), !, test(F), !, cleanup. entails_guard2([]). entails_guard2([A|B]) :- known(A), entails_guard2(B). simplify_guards(A, I, B, H, J) :- copy_term_nat((A, B), (C, F)), term_variables(C, D), variables(D), sort(C, E), entails_guard2(E), !, simplify(F, G), simplified(B, G, H, I, J), !, cleanup. simplified([], [], [], A, A). simplified([A|B], [keep|C], [A|D], E, F) :- simplified(B, C, D, E, F). simplified([_|_], [fail|_], fail, A, A). simplified([A|B], [true|L], [I|M], F, J) :- builtins:binds_b(A, C), term_variables(B, D), intersect_eq(C, D, E), !, ( E=[] -> term_variables(F, G), intersect_eq(C, G, H), !, ( H=[] -> I=true, J=K ; I=true, J= (A, K) ) ; I=A, J=K ), simplified(B, L, M, F, K). simplify([], []). simplify([A|D], [B|E]) :- ( \+ try(true, A) -> B=true ; builtins:negate_b(A, C), ( \+ try(true, C) -> B=fail ; B=keep ) ), known(A), simplify(D, E). try(A, B) :- ( known(A) -> true ; chr_error(internal, 'Entailment Checker: try/2.\n', []) ), ( test(B) -> fail ; true ). add_args_unif([], [], true). add_args_unif([A|C], [B|D], (A=B, E)) :- add_args_unif(C, D, E). add_args_nunif([], [], fail). add_args_nunif([A|C], [B|D], (A\=B;E)) :- add_args_nunif(C, D, E). add_args_nmatch([], [], fail). add_args_nmatch([A|C], [B|D], (A\==B;E)) :- add_args_nmatch(C, D, E). all_unique_vars(A, B) :- all_unique_vars(A, B, []). all_unique_vars([], _, _). all_unique_vars([A|D], B, C) :- var(A), \+ memberchk_eq(A, B), \+ memberchk_eq(A, C), all_unique_vars(D, [A|C]). :- use_module(chr(chr_runtime)). attach_variables___1([], _). attach_variables___1([A|B1], D) :- ( get_attr(A, guard_entailment, B) -> ( B=v(C, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y), ( C/\1=:=1 -> 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) ; A1 is C\/1, Z=v(A1, [D], F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y) ) ), put_attr(A, guard_entailment, Z) ; put_attr(A, guard_entailment, v(1, [D], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [])) ), attach_variables___1(B1, D). detach_variables___1([], _). detach_variables___1([A|B1], E) :- ( get_attr(A, guard_entailment, B) -> B=v(C, D, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1), ( C/\1=:=1 -> 'chr sbag_del_element'(D, E, F), ( F==[] -> G is C/\ -2, ( G==0 -> del_attr(A, guard_entailment) ; put_attr(A, guard_entailment, v(G, [], H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1)) ) ; put_attr(A, guard_entailment, v(C, F, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1)) ) ; true ) ; true ), detach_variables___1(B1, E). 'attach_known/1_1_$default___1'([], _). 'attach_known/1_1_$default___1'([A|B1], E) :- ( get_attr(A, guard_entailment, B) -> ( B=v(C, D, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y), ( C/\2=:=2 -> 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) ; A1 is C\/2, Z=v(A1, D, [E], G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y) ) ), put_attr(A, guard_entailment, Z) ; put_attr(A, guard_entailment, v(2, [], [E], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [])) ), 'attach_known/1_1_$default___1'(B1, E). 'detach_known/1_1_$default___1'([], _). 'detach_known/1_1_$default___1'([A|B1], E) :- ( get_attr(A, guard_entailment, B) -> B=v(C, H, D, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1), ( C/\2=:=2 -> 'chr sbag_del_element'(D, E, F), ( F==[] -> G is C/\ -3, ( G==0 -> del_attr(A, guard_entailment) ; put_attr(A, guard_entailment, v(G, H, [], I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1)) ) ; put_attr(A, guard_entailment, v(C, H, F, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1)) ) ; true ) ; true ), 'detach_known/1_1_$default___1'(B1, E). 'attach_known/1_1_$special_;/2___2'([], _). 'attach_known/1_1_$special_;/2___2'([A|B1], F) :- ( get_attr(A, guard_entailment, B) -> ( B=v(C, D, E, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y), ( C/\4=:=4 -> 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) ; A1 is C\/4, Z=v(A1, D, E, [F], H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y) ) ), put_attr(A, guard_entailment, Z) ; put_attr(A, guard_entailment, v(4, [], [], [F], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [])) ), 'attach_known/1_1_$special_;/2___2'(B1, F). 'detach_known/1_1_$special_;/2___2'([], _). 'detach_known/1_1_$special_;/2___2'([A|B1], E) :- ( get_attr(A, guard_entailment, B) -> B=v(C, H, I, D, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1), ( C/\4=:=4 -> 'chr sbag_del_element'(D, E, F), ( F==[] -> G is C/\ -5, ( G==0 -> del_attr(A, guard_entailment) ; put_attr(A, guard_entailment, v(G, H, I, [], J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1)) ) ; put_attr(A, guard_entailment, v(C, H, I, F, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1)) ) ; true ) ; true ), 'detach_known/1_1_$special_;/2___2'(B1, E). 'attach_known/1_1_$special_nonvar/1___1'([], _). 'attach_known/1_1_$special_nonvar/1___1'([A|B1], G) :- ( get_attr(A, guard_entailment, B) -> ( B=v(C, D, E, F, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y), ( C/\8=:=8 -> 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) ; A1 is C\/8, Z=v(A1, D, E, F, [G], I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y) ) ), put_attr(A, guard_entailment, Z) ; put_attr(A, guard_entailment, v(8, [], [], [], [G], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [])) ), 'attach_known/1_1_$special_nonvar/1___1'(B1, G). 'detach_known/1_1_$special_nonvar/1___1'([], _). 'detach_known/1_1_$special_nonvar/1___1'([A|B1], E) :- ( get_attr(A, guard_entailment, B) -> B=v(C, H, I, J, D, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1), ( C/\8=:=8 -> 'chr sbag_del_element'(D, E, F), ( F==[] -> G is C/\ -9, ( G==0 -> del_attr(A, guard_entailment) ; put_attr(A, guard_entailment, v(G, H, I, J, [], K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1)) ) ; put_attr(A, guard_entailment, v(C, H, I, J, F, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1)) ) ; true ) ; true ), 'detach_known/1_1_$special_nonvar/1___1'(B1, E). 'attach_known/1_1_$special_var/1___1'([], _). 'attach_known/1_1_$special_var/1___1'([A|B1], H) :- ( get_attr(A, guard_entailment, B) -> ( B=v(C, D, E, F, G, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y), ( C/\16=:=16 -> 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) ; A1 is C\/16, Z=v(A1, D, E, F, G, [H], J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y) ) ), put_attr(A, guard_entailment, Z) ; put_attr(A, guard_entailment, v(16, [], [], [], [], [H], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [])) ), 'attach_known/1_1_$special_var/1___1'(B1, H). 'detach_known/1_1_$special_var/1___1'([], _). 'detach_known/1_1_$special_var/1___1'([A|B1], E) :- ( get_attr(A, guard_entailment, B) -> B=v(C, H, I, J, K, D, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1), ( C/\16=:=16 -> 'chr sbag_del_element'(D, E, F), ( F==[] -> G is C/\ -17, ( G==0 -> del_attr(A, guard_entailment) ; put_attr(A, guard_entailment, v(G, H, I, J, K, [], L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1)) ) ; put_attr(A, guard_entailment, v(C, H, I, J, K, F, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1)) ) ; true ) ; true ), 'detach_known/1_1_$special_var/1___1'(B1, E). 'attach_known/1_1_$special_atom/1___1'([], _). 'attach_known/1_1_$special_atom/1___1'([A|B1], I) :- ( get_attr(A, guard_entailment, B) -> ( B=v(C, D, E, F, G, H, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y), ( C/\32=:=32 -> 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) ; A1 is C\/32, Z=v(A1, D, E, F, G, H, [I], K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y) ) ), put_attr(A, guard_entailment, Z) ; put_attr(A, guard_entailment, v(32, [], [], [], [], [], [I], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [])) ), 'attach_known/1_1_$special_atom/1___1'(B1, I). 'detach_known/1_1_$special_atom/1___1'([], _). 'detach_known/1_1_$special_atom/1___1'([A|B1], E) :- ( get_attr(A, guard_entailment, B) -> B=v(C, H, I, J, K, L, D, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1), ( C/\32=:=32 -> 'chr sbag_del_element'(D, E, F), ( F==[] -> G is C/\ -33, ( G==0 -> del_attr(A, guard_entailment) ; put_attr(A, guard_entailment, v(G, H, I, J, K, L, [], M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1)) ) ; put_attr(A, guard_entailment, v(C, H, I, J, K, L, F, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1)) ) ; true ) ; true ), 'detach_known/1_1_$special_atom/1___1'(B1, E). 'attach_known/1_1_$special_atomic/1___1'([], _). 'attach_known/1_1_$special_atomic/1___1'([A|B1], J) :- ( get_attr(A, guard_entailment, B) -> ( B=v(C, D, E, F, G, H, I, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y), ( C/\64=:=64 -> 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) ; A1 is C\/64, Z=v(A1, D, E, F, G, H, I, [J], L, M, N, O, P, Q, R, S, T, U, V, W, X, Y) ) ), put_attr(A, guard_entailment, Z) ; put_attr(A, guard_entailment, v(64, [], [], [], [], [], [], [J], [], [], [], [], [], [], [], [], [], [], [], [], [], [])) ), 'attach_known/1_1_$special_atomic/1___1'(B1, J). 'detach_known/1_1_$special_atomic/1___1'([], _). 'detach_known/1_1_$special_atomic/1___1'([A|B1], E) :- ( get_attr(A, guard_entailment, B) -> B=v(C, H, I, J, K, L, M, D, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1), ( C/\64=:=64 -> 'chr sbag_del_element'(D, E, F), ( F==[] -> G is C/\ -65, ( G==0 -> del_attr(A, guard_entailment) ; put_attr(A, guard_entailment, v(G, H, I, J, K, L, M, [], N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1)) ) ; put_attr(A, guard_entailment, v(C, H, I, J, K, L, M, F, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1)) ) ; true ) ; true ), 'detach_known/1_1_$special_atomic/1___1'(B1, E). 'attach_known/1_1_$special_compound/1___1'([], _). 'attach_known/1_1_$special_compound/1___1'([A|B1], K) :- ( get_attr(A, guard_entailment, B) -> ( B=v(C, D, E, F, G, H, I, J, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y), ( C/\128=:=128 -> 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) ; A1 is C\/128, Z=v(A1, D, E, F, G, H, I, J, [K], M, N, O, P, Q, R, S, T, U, V, W, X, Y) ) ), put_attr(A, guard_entailment, Z) ; put_attr(A, guard_entailment, v(128, [], [], [], [], [], [], [], [K], [], [], [], [], [], [], [], [], [], [], [], [], [])) ), 'attach_known/1_1_$special_compound/1___1'(B1, K). 'detach_known/1_1_$special_compound/1___1'([], _). 'detach_known/1_1_$special_compound/1___1'([A|B1], E) :- ( get_attr(A, guard_entailment, B) -> B=v(C, H, I, J, K, L, M, N, D, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1), ( C/\128=:=128 -> 'chr sbag_del_element'(D, E, F), ( F==[] -> G is C/\ -129, ( G==0 -> del_attr(A, guard_entailment) ; put_attr(A, guard_entailment, v(G, H, I, J, K, L, M, N, [], O, P, Q, R, S, T, U, V, W, X, Y, Z, A1)) ) ; put_attr(A, guard_entailment, v(C, H, I, J, K, L, M, N, F, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1)) ) ; true ) ; true ), 'detach_known/1_1_$special_compound/1___1'(B1, E). 'attach_known/1_1_$special_ground/1___1'([], _). 'attach_known/1_1_$special_ground/1___1'([A|B1], L) :- ( get_attr(A, guard_entailment, B) -> ( B=v(C, D, E, F, G, H, I, J, K, M, N, O, P, Q, R, S, T, U, V, W, X, Y), ( C/\256=:=256 -> 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) ; A1 is C\/256, Z=v(A1, D, E, F, G, H, I, J, K, [L], N, O, P, Q, R, S, T, U, V, W, X, Y) ) ), put_attr(A, guard_entailment, Z) ; put_attr(A, guard_entailment, v(256, [], [], [], [], [], [], [], [], [L], [], [], [], [], [], [], [], [], [], [], [], [])) ), 'attach_known/1_1_$special_ground/1___1'(B1, L). 'detach_known/1_1_$special_ground/1___1'([], _). 'detach_known/1_1_$special_ground/1___1'([A|B1], E) :- ( get_attr(A, guard_entailment, B) -> B=v(C, H, I, J, K, L, M, N, O, D, P, Q, R, S, T, U, V, W, X, Y, Z, A1), ( C/\256=:=256 -> 'chr sbag_del_element'(D, E, F), ( F==[] -> G is C/\ -257, ( G==0 -> del_attr(A, guard_entailment) ; put_attr(A, guard_entailment, v(G, H, I, J, K, L, M, N, O, [], P, Q, R, S, T, U, V, W, X, Y, Z, A1)) ) ; put_attr(A, guard_entailment, v(C, H, I, J, K, L, M, N, O, F, P, Q, R, S, T, U, V, W, X, Y, Z, A1)) ) ; true ) ; true ), 'detach_known/1_1_$special_ground/1___1'(B1, E). 'attach_known/1_1_$special_integer/1___1'([], _). 'attach_known/1_1_$special_integer/1___1'([A|B1], M) :- ( get_attr(A, guard_entailment, B) -> ( B=v(C, D, E, F, G, H, I, J, K, L, N, O, P, Q, R, S, T, U, V, W, X, Y), ( C/\512=:=512 -> 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) ; A1 is C\/512, Z=v(A1, D, E, F, G, H, I, J, K, L, [M], O, P, Q, R, S, T, U, V, W, X, Y) ) ), put_attr(A, guard_entailment, Z) ; put_attr(A, guard_entailment, v(512, [], [], [], [], [], [], [], [], [], [M], [], [], [], [], [], [], [], [], [], [], [])) ), 'attach_known/1_1_$special_integer/1___1'(B1, M). 'detach_known/1_1_$special_integer/1___1'([], _). 'detach_known/1_1_$special_integer/1___1'([A|B1], E) :- ( get_attr(A, guard_entailment, B) -> B=v(C, H, I, J, K, L, M, N, O, P, D, Q, R, S, T, U, V, W, X, Y, Z, A1), ( C/\512=:=512 -> 'chr sbag_del_element'(D, E, F), ( F==[] -> G is C/\ -513, ( G==0 -> del_attr(A, guard_entailment) ; put_attr(A, guard_entailment, v(G, H, I, J, K, L, M, N, O, P, [], Q, R, S, T, U, V, W, X, Y, Z, A1)) ) ; put_attr(A, guard_entailment, v(C, H, I, J, K, L, M, N, O, P, F, Q, R, S, T, U, V, W, X, Y, Z, A1)) ) ; true ) ; true ), 'detach_known/1_1_$special_integer/1___1'(B1, E). 'attach_known/1_1_$special_float/1___1'([], _). 'attach_known/1_1_$special_float/1___1'([A|B1], N) :- ( get_attr(A, guard_entailment, B) -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, O, P, Q, R, S, T, U, V, W, X, Y), ( C/\1024=:=1024 -> Z=v(C, D, E, F, G, H, I, J, K, L, M, [N|O], P, Q, R, S, T, U, V, W, X, Y) ; A1 is C\/1024, Z=v(A1, D, E, F, G, H, I, J, K, L, M, [N], P, Q, R, S, T, U, V, W, X, Y) ) ), put_attr(A, guard_entailment, Z) ; put_attr(A, guard_entailment, v(1024, [], [], [], [], [], [], [], [], [], [], [N], [], [], [], [], [], [], [], [], [], [])) ), 'attach_known/1_1_$special_float/1___1'(B1, N). 'detach_known/1_1_$special_float/1___1'([], _). 'detach_known/1_1_$special_float/1___1'([A|B1], E) :- ( get_attr(A, guard_entailment, B) -> B=v(C, H, I, J, K, L, M, N, O, P, Q, D, R, S, T, U, V, W, X, Y, Z, A1), ( C/\1024=:=1024 -> 'chr sbag_del_element'(D, E, F), ( F==[] -> G is C/\ -1025, ( G==0 -> del_attr(A, guard_entailment) ; put_attr(A, guard_entailment, v(G, H, I, J, K, L, M, N, O, P, Q, [], R, S, T, U, V, W, X, Y, Z, A1)) ) ; put_attr(A, guard_entailment, v(C, H, I, J, K, L, M, N, O, P, Q, F, R, S, T, U, V, W, X, Y, Z, A1)) ) ; true ) ; true ), 'detach_known/1_1_$special_float/1___1'(B1, E). 'attach_known/1_1_$special_number/1___1'([], _). 'attach_known/1_1_$special_number/1___1'([A|B1], O) :- ( get_attr(A, guard_entailment, B) -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, P, Q, R, S, T, U, V, W, X, Y), ( C/\2048=:=2048 -> 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) ; A1 is C\/2048, Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, [O], Q, R, S, T, U, V, W, X, Y) ) ), put_attr(A, guard_entailment, Z) ; put_attr(A, guard_entailment, v(2048, [], [], [], [], [], [], [], [], [], [], [], [O], [], [], [], [], [], [], [], [], [])) ), 'attach_known/1_1_$special_number/1___1'(B1, O). 'detach_known/1_1_$special_number/1___1'([], _). 'detach_known/1_1_$special_number/1___1'([A|B1], E) :- ( get_attr(A, guard_entailment, B) -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, D, S, T, U, V, W, X, Y, Z, A1), ( C/\2048=:=2048 -> 'chr sbag_del_element'(D, E, F), ( F==[] -> G is C/\ -2049, ( G==0 -> del_attr(A, guard_entailment) ; put_attr(A, guard_entailment, v(G, H, I, J, K, L, M, N, O, P, Q, R, [], S, T, U, V, W, X, Y, Z, A1)) ) ; put_attr(A, guard_entailment, v(C, H, I, J, K, L, M, N, O, P, Q, R, F, S, T, U, V, W, X, Y, Z, A1)) ) ; true ) ; true ), 'detach_known/1_1_$special_number/1___1'(B1, E). 'attach_known/1_1_$special_=\\=/2___2'([], _). 'attach_known/1_1_$special_=\\=/2___2'([A|B1], P) :- ( get_attr(A, guard_entailment, B) -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, Q, R, S, T, U, V, W, X, Y), ( C/\4096=:=4096 -> 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) ; A1 is C\/4096, Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, [P], R, S, T, U, V, W, X, Y) ) ), put_attr(A, guard_entailment, Z) ; put_attr(A, guard_entailment, v(4096, [], [], [], [], [], [], [], [], [], [], [], [], [P], [], [], [], [], [], [], [], [])) ), 'attach_known/1_1_$special_=\\=/2___2'(B1, P). 'detach_known/1_1_$special_=\\=/2___2'([], _). 'detach_known/1_1_$special_=\\=/2___2'([A|B1], E) :- ( get_attr(A, guard_entailment, B) -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, D, T, U, V, W, X, Y, Z, A1), ( C/\4096=:=4096 -> 'chr sbag_del_element'(D, E, F), ( F==[] -> G is C/\ -4097, ( G==0 -> del_attr(A, guard_entailment) ; put_attr(A, guard_entailment, v(G, H, I, J, K, L, M, N, O, P, Q, R, S, [], T, U, V, W, X, Y, Z, A1)) ) ; put_attr(A, guard_entailment, v(C, H, I, J, K, L, M, N, O, P, Q, R, S, F, T, U, V, W, X, Y, Z, A1)) ) ; true ) ; true ), 'detach_known/1_1_$special_=\\=/2___2'(B1, E). 'attach_known/1_1_$special_\\+/1___1'([], _). 'attach_known/1_1_$special_\\+/1___1'([A|B1], Q) :- ( get_attr(A, guard_entailment, B) -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, R, S, T, U, V, W, X, Y), ( C/\8192=:=8192 -> 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) ; A1 is C\/8192, Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, [Q], S, T, U, V, W, X, Y) ) ), put_attr(A, guard_entailment, Z) ; put_attr(A, guard_entailment, v(8192, [], [], [], [], [], [], [], [], [], [], [], [], [], [Q], [], [], [], [], [], [], [])) ), 'attach_known/1_1_$special_\\+/1___1'(B1, Q). 'detach_known/1_1_$special_\\+/1___1'([], _). 'detach_known/1_1_$special_\\+/1___1'([A|B1], E) :- ( get_attr(A, guard_entailment, B) -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, D, U, V, W, X, Y, Z, A1), ( C/\8192=:=8192 -> 'chr sbag_del_element'(D, E, F), ( F==[] -> G is C/\ -8193, ( G==0 -> del_attr(A, guard_entailment) ; put_attr(A, guard_entailment, v(G, H, I, J, K, L, M, N, O, P, Q, R, S, T, [], U, V, W, X, Y, Z, A1)) ) ; put_attr(A, guard_entailment, v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, F, U, V, W, X, Y, Z, A1)) ) ; true ) ; true ), 'detach_known/1_1_$special_\\+/1___1'(B1, E). 'attach_known/1_1_$special_functor/3___3'([], _). 'attach_known/1_1_$special_functor/3___3'([A|B1], R) :- ( get_attr(A, guard_entailment, B) -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, S, T, U, V, W, X, Y), ( C/\16384=:=16384 -> 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) ; A1 is C\/16384, Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, [R], T, U, V, W, X, Y) ) ), put_attr(A, guard_entailment, Z) ; put_attr(A, guard_entailment, v(16384, [], [], [], [], [], [], [], [], [], [], [], [], [], [], [R], [], [], [], [], [], [])) ), 'attach_known/1_1_$special_functor/3___3'(B1, R). 'detach_known/1_1_$special_functor/3___3'([], _). 'detach_known/1_1_$special_functor/3___3'([A|B1], E) :- ( get_attr(A, guard_entailment, B) -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, D, V, W, X, Y, Z, A1), ( C/\16384=:=16384 -> 'chr sbag_del_element'(D, E, F), ( F==[] -> G is C/\ -16385, ( G==0 -> del_attr(A, guard_entailment) ; put_attr(A, guard_entailment, v(G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, [], V, W, X, Y, Z, A1)) ) ; put_attr(A, guard_entailment, v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, F, V, W, X, Y, Z, A1)) ) ; true ) ; true ), 'detach_known/1_1_$special_functor/3___3'(B1, E). 'attach_known/1_1_$special_\\=/2___2'([], _). 'attach_known/1_1_$special_\\=/2___2'([A|B1], S) :- ( get_attr(A, guard_entailment, B) -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, T, U, V, W, X, Y), ( C/\32768=:=32768 -> 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) ; A1 is C\/32768, Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, [S], U, V, W, X, Y) ) ), put_attr(A, guard_entailment, Z) ; put_attr(A, guard_entailment, v(32768, [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [S], [], [], [], [], [])) ), 'attach_known/1_1_$special_\\=/2___2'(B1, S). 'detach_known/1_1_$special_\\=/2___2'([], _). 'detach_known/1_1_$special_\\=/2___2'([A|B1], E) :- ( get_attr(A, guard_entailment, B) -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, D, W, X, Y, Z, A1), ( C/\32768=:=32768 -> 'chr sbag_del_element'(D, E, F), ( F==[] -> G is C/\ -32769, ( G==0 -> del_attr(A, guard_entailment) ; put_attr(A, guard_entailment, v(G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, [], W, X, Y, Z, A1)) ) ; put_attr(A, guard_entailment, v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, F, W, X, Y, Z, A1)) ) ; true ) ; true ), 'detach_known/1_1_$special_\\=/2___2'(B1, E). 'attach_known/1_1_$special_=/2___2'([], _). 'attach_known/1_1_$special_=/2___2'([A|B1], T) :- ( get_attr(A, guard_entailment, B) -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, U, V, W, X, Y), ( C/\65536=:=65536 -> 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) ; A1 is C\/65536, Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, [T], V, W, X, Y) ) ), put_attr(A, guard_entailment, Z) ; put_attr(A, guard_entailment, v(65536, [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [T], [], [], [], [])) ), 'attach_known/1_1_$special_=/2___2'(B1, T). 'detach_known/1_1_$special_=/2___2'([], _). 'detach_known/1_1_$special_=/2___2'([A|B1], E) :- ( get_attr(A, guard_entailment, B) -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, D, X, Y, Z, A1), ( C/\65536=:=65536 -> 'chr sbag_del_element'(D, E, F), ( F==[] -> G is C/\ -65537, ( G==0 -> del_attr(A, guard_entailment) ; put_attr(A, guard_entailment, v(G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, [], X, Y, Z, A1)) ) ; put_attr(A, guard_entailment, v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, F, X, Y, Z, A1)) ) ; true ) ; true ), 'detach_known/1_1_$special_=/2___2'(B1, E). 'attach_known/1_1_$special_\\==/2___2'([], _). 'attach_known/1_1_$special_\\==/2___2'([A|B1], U) :- ( get_attr(A, guard_entailment, B) -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, V, W, X, Y), ( C/\131072=:=131072 -> 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) ; A1 is C\/131072, Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, [U], W, X, Y) ) ), put_attr(A, guard_entailment, Z) ; put_attr(A, guard_entailment, v(131072, [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [U], [], [], [])) ), 'attach_known/1_1_$special_\\==/2___2'(B1, U). 'detach_known/1_1_$special_\\==/2___2'([], _). 'detach_known/1_1_$special_\\==/2___2'([A|B1], E) :- ( get_attr(A, guard_entailment, B) -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, D, Y, Z, A1), ( C/\131072=:=131072 -> 'chr sbag_del_element'(D, E, F), ( F==[] -> G is C/\ -131073, ( G==0 -> del_attr(A, guard_entailment) ; put_attr(A, guard_entailment, v(G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, [], Y, Z, A1)) ) ; put_attr(A, guard_entailment, v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, F, Y, Z, A1)) ) ; true ) ; true ), 'detach_known/1_1_$special_\\==/2___2'(B1, E). 'attach_known/1_1_$special_==/2___2'([], _). 'attach_known/1_1_$special_==/2___2'([A|B1], V) :- ( get_attr(A, guard_entailment, B) -> ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, W, X, Y), ( C/\262144=:=262144 -> 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) ; A1 is C\/262144, Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, [V], X, Y) ) ), put_attr(A, guard_entailment, Z) ; put_attr(A, guard_entailment, v(262144, [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [V], [], [])) ), 'attach_known/1_1_$special_==/2___2'(B1, V). 'detach_known/1_1_$special_==/2___2'([], _). 'detach_known/1_1_$special_==/2___2'([A|B1], E) :- ( get_attr(A, guard_entailment, B) -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, D, Z, A1), ( C/\262144=:=262144 -> 'chr sbag_del_element'(D, E, F), ( F==[] -> G is C/\ -262145, ( G==0 -> del_attr(A, guard_entailment) ; put_attr(A, guard_entailment, v(G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, [], Z, A1)) ) ; put_attr(A, guard_entailment, v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, F, Z, A1)) ) ; true ) ; true ), 'detach_known/1_1_$special_==/2___2'(B1, E). 'attach_known/1_1_$special_= ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, X, Y), ( C/\524288=:=524288 -> 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) ; A1 is C\/524288, Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, [W], Y) ) ), put_attr(A, guard_entailment, Z) ; put_attr(A, guard_entailment, v(524288, [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [W], [])) ), 'attach_known/1_1_$special_= B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, D, A1), ( C/\524288=:=524288 -> 'chr sbag_del_element'(D, E, F), ( F==[] -> G is C/\ -524289, ( G==0 -> del_attr(A, guard_entailment) ; put_attr(A, guard_entailment, v(G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, [], A1)) ) ; put_attr(A, guard_entailment, v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, F, A1)) ) ; true ) ; true ), 'detach_known/1_1_$special_= ( B=v(C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, Y), ( C/\1048576=:=1048576 -> 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]) ; A1 is C\/1048576, Z=v(A1, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, [X]) ) ), put_attr(A, guard_entailment, Z) ; put_attr(A, guard_entailment, v(1048576, [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [], [X])) ), 'attach_known/1_1_$special_=:=/2___2'(B1, X). 'detach_known/1_1_$special_=:=/2___2'([], _). 'detach_known/1_1_$special_=:=/2___2'([A|B1], E) :- ( get_attr(A, guard_entailment, B) -> B=v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1, D), ( C/\1048576=:=1048576 -> 'chr sbag_del_element'(D, E, F), ( F==[] -> G is C/\ -1048577, ( G==0 -> del_attr(A, guard_entailment) ; put_attr(A, guard_entailment, v(G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1, [])) ) ; put_attr(A, guard_entailment, v(C, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, A1, F)) ) ; true ) ; true ), 'detach_known/1_1_$special_=:=/2___2'(B1, E). attach_increment([], _). attach_increment([A|M3], B) :- 'chr not_locked'(A), ( get_attr(A, guard_entailment, C) -> ( B=v(O2, E, H, K, N, Q, T, W, Z, C1, F1, I1, L1, O1, R1, U1, X1, A2, D2, G2, J2, M2), C=v(P2, D, G, J, M, P, S, V, Y, B1, E1, H1, K1, N1, Q1, T1, W1, Z1, C2, F2, I2, L2), ( ( sort(D, F), 'chr merge_attributes'(E, F, R2) ), ( sort(G, I), 'chr merge_attributes'(H, I, S2) ), ( sort(J, L), 'chr merge_attributes'(K, L, T2) ), ( sort(M, O), 'chr merge_attributes'(N, O, U2) ), ( sort(P, R), 'chr merge_attributes'(Q, R, V2) ), ( sort(S, U), 'chr merge_attributes'(T, U, W2) ), ( sort(V, X), 'chr merge_attributes'(W, X, X2) ), ( sort(Y, A1), 'chr merge_attributes'(Z, A1, Y2) ), ( sort(B1, D1), 'chr merge_attributes'(C1, D1, Z2) ), ( sort(E1, G1), 'chr merge_attributes'(F1, G1, A3) ), ( sort(H1, J1), 'chr merge_attributes'(I1, J1, B3) ), ( sort(K1, M1), 'chr merge_attributes'(L1, M1, C3) ), ( sort(N1, P1), 'chr merge_attributes'(O1, P1, D3) ), ( sort(Q1, S1), 'chr merge_attributes'(R1, S1, E3) ), ( sort(T1, V1), 'chr merge_attributes'(U1, V1, F3) ), ( sort(W1, Y1), 'chr merge_attributes'(X1, Y1, G3) ), ( sort(Z1, B2), 'chr merge_attributes'(A2, B2, H3) ), ( sort(C2, E2), 'chr merge_attributes'(D2, E2, I3) ), ( sort(F2, H2), 'chr merge_attributes'(G2, H2, J3) ), ( sort(I2, K2), 'chr merge_attributes'(J2, K2, K3) ), sort(L2, N2), 'chr merge_attributes'(M2, N2, L3) ), Q2 is O2\/P2 ), put_attr(A, guard_entailment, v(Q2, R2, S2, T2, U2, V2, W2, X2, Y2, Z2, A3, B3, C3, D3, E3, F3, G3, H3, I3, J3, K3, L3)) ; put_attr(A, guard_entailment, B) ), attach_increment(M3, B). attribute_goals(_, A, A). attr_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) :- sort(A, Y), sort(B, B1), sort(C, E1), sort(D, H1), sort(E, K1), sort(F, N1), sort(G, Q1), sort(H, T1), sort(I, W1), sort(J, Z1), sort(K, C2), sort(L, F2), sort(M, I2), sort(N, L2), sort(O, O2), sort(P, R2), sort(Q, U2), sort(R, X2), sort(S, A3), sort(T, D3), sort(U, G3), ( var(V) -> ( get_attr(V, guard_entailment, W) -> ( W=v(J3, X, A1, D1, G1, J1, M1, P1, S1, V1, Y1, B2, E2, H2, K2, N2, Q2, T2, W2, Z2, C3, F3), ( ( sort(X, Z), 'chr merge_attributes'(Y, Z, L3) ), ( sort(A1, C1), 'chr merge_attributes'(B1, C1, M3) ), ( sort(D1, F1), 'chr merge_attributes'(E1, F1, N3) ), ( sort(G1, I1), 'chr merge_attributes'(H1, I1, O3) ), ( sort(J1, L1), 'chr merge_attributes'(K1, L1, P3) ), ( sort(M1, O1), 'chr merge_attributes'(N1, O1, Q3) ), ( sort(P1, R1), 'chr merge_attributes'(Q1, R1, R3) ), ( sort(S1, U1), 'chr merge_attributes'(T1, U1, S3) ), ( sort(V1, X1), 'chr merge_attributes'(W1, X1, T3) ), ( sort(Y1, A2), 'chr merge_attributes'(Z1, A2, U3) ), ( sort(B2, D2), 'chr merge_attributes'(C2, D2, V3) ), ( sort(E2, G2), 'chr merge_attributes'(F2, G2, W3) ), ( sort(H2, J2), 'chr merge_attributes'(I2, J2, X3) ), ( sort(K2, M2), 'chr merge_attributes'(L2, M2, Y3) ), ( sort(N2, P2), 'chr merge_attributes'(O2, P2, Z3) ), ( sort(Q2, S2), 'chr merge_attributes'(R2, S2, A4) ), ( sort(T2, V2), 'chr merge_attributes'(U2, V2, B4) ), ( sort(W2, Y2), 'chr merge_attributes'(X2, Y2, C4) ), ( sort(Z2, B3), 'chr merge_attributes'(A3, B3, D4) ), ( sort(C3, E3), 'chr merge_attributes'(D3, E3, E4) ), sort(F3, H3), 'chr merge_attributes'(G3, H3, F4) ), K3 is I3\/J3 ), put_attr(V, guard_entailment, v(K3, L3, M3, N3, O3, P3, Q3, R3, S3, T3, U3, V3, W3, X3, Y3, Z3, A4, B4, C4, D4, E4, F4)), '$run_suspensions_variables___1'(Y), '$run_suspensions_known/1_1_$default___1'(B1), '$run_suspensions_known/1_1_$special_;/2___2'(N3), '$run_suspensions_known/1_1_$special_nonvar/1___1'(H1), '$run_suspensions_known/1_1_$special_var/1___1'(K1), '$run_suspensions_known/1_1_$special_atom/1___1'(N1), '$run_suspensions_known/1_1_$special_atomic/1___1'(Q1), '$run_suspensions_known/1_1_$special_compound/1___1'(T1), '$run_suspensions_known/1_1_$special_ground/1___1'(W1), '$run_suspensions_known/1_1_$special_integer/1___1'(U3), '$run_suspensions_known/1_1_$special_float/1___1'(V3), '$run_suspensions_known/1_1_$special_number/1___1'(W3), '$run_suspensions_known/1_1_$special_=\\=/2___2'(X3), '$run_suspensions_known/1_1_$special_\\+/1___1'(Y3), '$run_suspensions_known/1_1_$special_functor/3___3'(Z3), '$run_suspensions_known/1_1_$special_\\=/2___2'(A4), '$run_suspensions_known/1_1_$special_=/2___2'(B4), '$run_suspensions_known/1_1_$special_\\==/2___2'(C4), '$run_suspensions_known/1_1_$special_==/2___2'(D4), '$run_suspensions_known/1_1_$special_= term_variables(V, G4), attach_increment(G4, v(I3, Y, B1, E1, H1, K1, N1, Q1, T1, W1, Z1, C2, F2, I2, L2, O2, R2, U2, X2, A3, D3, G3)) ; true ), '$run_suspensions_variables___1'(Y), '$run_suspensions_known/1_1_$default___1'(B1), '$run_suspensions_known/1_1_$special_;/2___2'(E1), '$run_suspensions_known/1_1_$special_nonvar/1___1'(H1), '$run_suspensions_known/1_1_$special_var/1___1'(K1), '$run_suspensions_known/1_1_$special_atom/1___1'(N1), '$run_suspensions_known/1_1_$special_atomic/1___1'(Q1), '$run_suspensions_known/1_1_$special_compound/1___1'(T1), '$run_suspensions_known/1_1_$special_ground/1___1'(W1), '$run_suspensions_known/1_1_$special_integer/1___1'(Z1), '$run_suspensions_known/1_1_$special_float/1___1'(C2), '$run_suspensions_known/1_1_$special_number/1___1'(F2), '$run_suspensions_known/1_1_$special_=\\=/2___2'(I2), '$run_suspensions_known/1_1_$special_\\+/1___1'(L2), '$run_suspensions_known/1_1_$special_functor/3___3'(O2), '$run_suspensions_known/1_1_$special_\\=/2___2'(R2), '$run_suspensions_known/1_1_$special_=/2___2'(U2), '$run_suspensions_known/1_1_$special_\\==/2___2'(X2), '$run_suspensions_known/1_1_$special_==/2___2'(A3), '$run_suspensions_known/1_1_$special_= fail ; true ). '$extend_history'(A, B) :- arg(3, A, C), hprolog:put_ds(B, C, x, D), setarg(3, A, D). '$run_suspensions_variables___1'([]). '$run_suspensions_variables___1'([A|D]) :- A=suspension(_, B, _, C), ( B==active -> setarg(2, A, triggered), variables___1__0(C, A), ( B==triggered -> setarg(2, A, active) ; true ) ; true ), '$run_suspensions_variables___1'(D). '$run_suspensions_known/1_1_$default___1'([]). '$run_suspensions_known/1_1_$default___1'([A|F]) :- A=suspension(_, B, C, _, E), ( B==active -> setarg(2, A, triggered), ( D is C+1, setarg(3, A, D) ), 'known/1_1_$default___1__0'(E, A), ( B==triggered -> setarg(2, A, active) ; true ) ; true ), '$run_suspensions_known/1_1_$default___1'(F). '$run_suspensions_known/1_1_$special_;/2___2'([]). '$run_suspensions_known/1_1_$special_;/2___2'([A|G]) :- A=suspension(_, B, C, _, E, F), ( B==active -> setarg(2, A, triggered), ( D is C+1, setarg(3, A, D) ), 'known/1_1_$special_;/2___2__0'(E, F, A), ( B==triggered -> setarg(2, A, active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_;/2___2'(G). '$run_suspensions_known/1_1_$special_nonvar/1___1'([]). '$run_suspensions_known/1_1_$special_nonvar/1___1'([A|F]) :- A=suspension(_, B, C, _, E), ( B==active -> setarg(2, A, triggered), ( D is C+1, setarg(3, A, D) ), 'known/1_1_$special_nonvar/1___1__0'(E, A), ( B==triggered -> setarg(2, A, active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_nonvar/1___1'(F). '$run_suspensions_known/1_1_$special_var/1___1'([]). '$run_suspensions_known/1_1_$special_var/1___1'([A|F]) :- A=suspension(_, B, C, _, E), ( B==active -> setarg(2, A, triggered), ( D is C+1, setarg(3, A, D) ), 'known/1_1_$special_var/1___1__0'(E, A), ( B==triggered -> setarg(2, A, active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_var/1___1'(F). '$run_suspensions_known/1_1_$special_atom/1___1'([]). '$run_suspensions_known/1_1_$special_atom/1___1'([A|F]) :- A=suspension(_, B, _, C, _, E), ( B==active -> setarg(2, A, triggered), ( D is C+1, setarg(4, A, D) ), 'known/1_1_$special_atom/1___1__0'(E, A), ( B==triggered -> setarg(2, A, active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_atom/1___1'(F). '$run_suspensions_known/1_1_$special_atomic/1___1'([]). '$run_suspensions_known/1_1_$special_atomic/1___1'([A|F]) :- A=suspension(_, B, _, C, _, E), ( B==active -> setarg(2, A, triggered), ( D is C+1, setarg(4, A, D) ), 'known/1_1_$special_atomic/1___1__0'(E, A), ( B==triggered -> setarg(2, A, active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_atomic/1___1'(F). '$run_suspensions_known/1_1_$special_compound/1___1'([]). '$run_suspensions_known/1_1_$special_compound/1___1'([A|F]) :- A=suspension(_, B, _, C, _, E), ( B==active -> setarg(2, A, triggered), ( D is C+1, setarg(4, A, D) ), 'known/1_1_$special_compound/1___1__0'(E, A), ( B==triggered -> setarg(2, A, active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_compound/1___1'(F). '$run_suspensions_known/1_1_$special_ground/1___1'([]). '$run_suspensions_known/1_1_$special_ground/1___1'([A|F]) :- A=suspension(_, B, _, C, _, E), ( B==active -> setarg(2, A, triggered), ( D is C+1, setarg(4, A, D) ), 'known/1_1_$special_ground/1___1__0'(E, A), ( B==triggered -> setarg(2, A, active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_ground/1___1'(F). '$run_suspensions_known/1_1_$special_integer/1___1'([]). '$run_suspensions_known/1_1_$special_integer/1___1'([A|F]) :- A=suspension(_, B, _, C, _, E), ( B==active -> setarg(2, A, triggered), ( D is C+1, setarg(4, A, D) ), 'known/1_1_$special_integer/1___1__0'(E, A), ( B==triggered -> setarg(2, A, active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_integer/1___1'(F). '$run_suspensions_known/1_1_$special_float/1___1'([]). '$run_suspensions_known/1_1_$special_float/1___1'([A|F]) :- A=suspension(_, B, _, C, _, E), ( B==active -> setarg(2, A, triggered), ( D is C+1, setarg(4, A, D) ), 'known/1_1_$special_float/1___1__0'(E, A), ( B==triggered -> setarg(2, A, active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_float/1___1'(F). '$run_suspensions_known/1_1_$special_number/1___1'([]). '$run_suspensions_known/1_1_$special_number/1___1'([A|F]) :- A=suspension(_, B, _, C, _, E), ( B==active -> setarg(2, A, triggered), ( D is C+1, setarg(4, A, D) ), 'known/1_1_$special_number/1___1__0'(E, A), ( B==triggered -> setarg(2, A, active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_number/1___1'(F). '$run_suspensions_known/1_1_$special_=\\=/2___2'([]). '$run_suspensions_known/1_1_$special_=\\=/2___2'([A|G]) :- A=suspension(_, B, _, C, _, E, F), ( B==active -> setarg(2, A, triggered), ( D is C+1, setarg(4, A, D) ), 'known/1_1_$special_=\\=/2___2__0'(E, F, A), ( B==triggered -> setarg(2, A, active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_=\\=/2___2'(G). '$run_suspensions_known/1_1_$special_\\+/1___1'([]). '$run_suspensions_known/1_1_$special_\\+/1___1'([A|F]) :- A=suspension(_, B, C, _, E), ( B==active -> setarg(2, A, triggered), ( D is C+1, setarg(3, A, D) ), 'known/1_1_$special_\\+/1___1__0'(E, A), ( B==triggered -> setarg(2, A, active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_\\+/1___1'(F). '$run_suspensions_known/1_1_$special_functor/3___3'([]). '$run_suspensions_known/1_1_$special_functor/3___3'([A|H]) :- A=suspension(_, B, C, _, E, F, G), ( B==active -> setarg(2, A, triggered), ( D is C+1, setarg(3, A, D) ), 'known/1_1_$special_functor/3___3__0'(E, F, G, A), ( B==triggered -> setarg(2, A, active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_functor/3___3'(H). '$run_suspensions_known/1_1_$special_\\=/2___2'([]). '$run_suspensions_known/1_1_$special_\\=/2___2'([A|G]) :- A=suspension(_, B, _, C, _, E, F), ( B==active -> setarg(2, A, triggered), ( D is C+1, setarg(4, A, D) ), 'known/1_1_$special_\\=/2___2__0'(E, F, A), ( B==triggered -> setarg(2, A, active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_\\=/2___2'(G). '$run_suspensions_known/1_1_$special_=/2___2'([]). '$run_suspensions_known/1_1_$special_=/2___2'([A|G]) :- A=suspension(_, B, C, _, E, F), ( B==active -> setarg(2, A, triggered), ( D is C+1, setarg(3, A, D) ), 'known/1_1_$special_=/2___2__0'(E, F, A), ( B==triggered -> setarg(2, A, active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_=/2___2'(G). '$run_suspensions_known/1_1_$special_\\==/2___2'([]). '$run_suspensions_known/1_1_$special_\\==/2___2'([A|G]) :- A=suspension(_, B, _, C, _, E, F), ( B==active -> setarg(2, A, triggered), ( D is C+1, setarg(4, A, D) ), 'known/1_1_$special_\\==/2___2__0'(E, F, A), ( B==triggered -> setarg(2, A, active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_\\==/2___2'(G). '$run_suspensions_known/1_1_$special_==/2___2'([]). '$run_suspensions_known/1_1_$special_==/2___2'([A|G]) :- A=suspension(_, B, _, C, _, E, F), ( B==active -> setarg(2, A, triggered), ( D is C+1, setarg(4, A, D) ), 'known/1_1_$special_==/2___2__0'(E, F, A), ( B==triggered -> setarg(2, A, active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_==/2___2'(G). '$run_suspensions_known/1_1_$special_= setarg(2, A, triggered), ( D is C+1, setarg(4, A, D) ), 'known/1_1_$special_= setarg(2, A, active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_= setarg(2, A, triggered), ( D is C+1, setarg(4, A, D) ), 'known/1_1_$special_=:=/2___2__0'(E, F, A), ( B==triggered -> setarg(2, A, active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_=:=/2___2'(G). '$enumerate_constraints'(A) :- ( nonvar(A) -> functor(A, B, _), '$enumerate_constraints'(B, A) ; '$enumerate_constraints'(_, A) ). '$enumerate_constraints'(variables, C) :- nb_getval('$chr_store_global_list_guard_entailment____variables___1', A), 'chr sbag_member'(B, A), B=suspension(_, _, _, D), C=variables(D). '$enumerate_constraints'('known/1_1_$default', C) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', A), 'chr sbag_member'(B, A), B=suspension(_, _, _, _, D), C='known/1_1_$default'(D). '$enumerate_constraints'('known/1_1_$special_;/2', C) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', A), 'chr sbag_member'(B, A), B=suspension(_, _, _, _, D, E), C='known/1_1_$special_;/2'(D, E). '$enumerate_constraints'('known/1_1_$special_nonvar/1', C) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', A), 'chr sbag_member'(B, A), B=suspension(_, _, _, _, D), C='known/1_1_$special_nonvar/1'(D). '$enumerate_constraints'('known/1_1_$special_var/1', C) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', A), 'chr sbag_member'(B, A), B=suspension(_, _, _, _, D), C='known/1_1_$special_var/1'(D). '$enumerate_constraints'('known/1_1_$special_atom/1', C) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', A), 'chr sbag_member'(B, A), B=suspension(_, _, _, _, _, D), C='known/1_1_$special_atom/1'(D). '$enumerate_constraints'('known/1_1_$special_atomic/1', C) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', A), 'chr sbag_member'(B, A), B=suspension(_, _, _, _, _, D), C='known/1_1_$special_atomic/1'(D). '$enumerate_constraints'('known/1_1_$special_compound/1', C) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', A), 'chr sbag_member'(B, A), B=suspension(_, _, _, _, _, D), C='known/1_1_$special_compound/1'(D). '$enumerate_constraints'('known/1_1_$special_ground/1', C) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', A), 'chr sbag_member'(B, A), B=suspension(_, _, _, _, _, D), C='known/1_1_$special_ground/1'(D). '$enumerate_constraints'('known/1_1_$special_integer/1', C) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', A), 'chr sbag_member'(B, A), B=suspension(_, _, _, _, _, D), C='known/1_1_$special_integer/1'(D). '$enumerate_constraints'('known/1_1_$special_float/1', C) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', A), 'chr sbag_member'(B, A), B=suspension(_, _, _, _, _, D), C='known/1_1_$special_float/1'(D). '$enumerate_constraints'('known/1_1_$special_number/1', C) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', A), 'chr sbag_member'(B, A), B=suspension(_, _, _, _, _, D), C='known/1_1_$special_number/1'(D). '$enumerate_constraints'('known/1_1_$special_=\\=/2', C) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', A), 'chr sbag_member'(B, A), B=suspension(_, _, _, _, _, D, E), C='known/1_1_$special_=\\=/2'(D, E). '$enumerate_constraints'('known/1_1_$special_\\+/1', C) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', A), 'chr sbag_member'(B, A), B=suspension(_, _, _, _, D), C='known/1_1_$special_\\+/1'(D). '$enumerate_constraints'('known/1_1_$special_functor/3', C) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', A), 'chr sbag_member'(B, A), B=suspension(_, _, _, _, D, E, F), C='known/1_1_$special_functor/3'(D, E, F). '$enumerate_constraints'('known/1_1_$special_\\=/2', C) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', A), 'chr sbag_member'(B, A), B=suspension(_, _, _, _, _, D, E), C='known/1_1_$special_\\=/2'(D, E). '$enumerate_constraints'('known/1_1_$special_=/2', C) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', A), 'chr sbag_member'(B, A), B=suspension(_, _, _, _, D, E), C='known/1_1_$special_=/2'(D, E). '$enumerate_constraints'('known/1_1_$special_\\==/2', C) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', A), 'chr sbag_member'(B, A), B=suspension(_, _, _, _, _, D, E), C='known/1_1_$special_\\==/2'(D, E). '$enumerate_constraints'('known/1_1_$special_==/2', C) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', A), 'chr sbag_member'(B, A), B=suspension(_, _, _, _, _, D, E), C='known/1_1_$special_==/2'(D, E). '$enumerate_constraints'('known/1_1_$special_==H1), !, 'known/1_1_$special_>=/2'(G1, H1) ) ; A= (I1>J1), !, 'known/1_1_$special_>/2'(I1, J1) ) ; A= (K1==N), !, 'test/1_1_$special_>=/2'(M, N) ) ; A= (O>P), !, 'test/1_1_$special_>/2'(O, P) ) ; A= (Q=\=R), !, 'test/1_1_$special_=\\=/2'(Q, R) ) ; A= (S= ( A=suspension(_, _, _, _, B, C), setarg(2, A, removed), term_variables(term(B, C), H), ( arg(4, A, D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', F), ( F=[G|_] -> setarg(4, G, _) ; true ) ; D=[_, _|F], setarg(2, D, F), ( F=[G|_] -> setarg(4, G, D) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(H, A) ), cleanup___0__0__0__1(I) ; cleanup___0__0__0__1(I) ). cleanup :- cleanup___0__1. cleanup___0__1 :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', A), !, cleanup___0__1__0__2(A). cleanup___0__1__0__2([]) :- cleanup___0__2. cleanup___0__1__0__2([A|H]) :- ( A=suspension(_, active, _, _, _) -> ( A=suspension(_, _, _, _, B), setarg(2, A, removed), term_variables(B, G), ( arg(4, A, C), ( var(C) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', D), D=[_|E], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', E), ( E=[F|_] -> setarg(4, F, _) ; true ) ; C=[_, _|E], setarg(2, C, E), ( E=[F|_] -> setarg(4, F, C) ; true ) ) ), 'detach_known/1_1_$special_nonvar/1___1'(G, A) ), cleanup___0__1__0__2(H) ; cleanup___0__1__0__2(H) ). cleanup___0__1 :- cleanup___0__2. cleanup___0__2 :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', A), !, cleanup___0__2__0__3(A). cleanup___0__2__0__3([]) :- cleanup___0__3. cleanup___0__2__0__3([A|H]) :- ( A=suspension(_, active, _, _, _) -> ( A=suspension(_, _, _, _, B), setarg(2, A, removed), term_variables(B, G), ( arg(4, A, C), ( var(C) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', D), D=[_|E], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', E), ( E=[F|_] -> setarg(4, F, _) ; true ) ; C=[_, _|E], setarg(2, C, E), ( E=[F|_] -> setarg(4, F, C) ; true ) ) ), 'detach_known/1_1_$special_var/1___1'(G, A) ), cleanup___0__2__0__3(H) ; cleanup___0__2__0__3(H) ). cleanup___0__2 :- cleanup___0__3. cleanup___0__3 :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', A), !, cleanup___0__3__0__4(A). cleanup___0__3__0__4([]) :- cleanup___0__4. cleanup___0__3__0__4([A|H]) :- ( A=suspension(_, active, _, _, _, _) -> ( A=suspension(_, _, _, _, _, B), setarg(2, A, removed), term_variables(B, G), ( arg(5, A, C), ( var(C) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', D), D=[_|E], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', E), ( E=[F|_] -> setarg(5, F, _) ; true ) ; C=[_, _|E], setarg(2, C, E), ( E=[F|_] -> setarg(5, F, C) ; true ) ) ), 'detach_known/1_1_$special_atom/1___1'(G, A) ), cleanup___0__3__0__4(H) ; cleanup___0__3__0__4(H) ). cleanup___0__3 :- cleanup___0__4. cleanup___0__4 :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', A), !, cleanup___0__4__0__5(A). cleanup___0__4__0__5([]) :- cleanup___0__5. cleanup___0__4__0__5([A|H]) :- ( A=suspension(_, active, _, _, _, _) -> ( A=suspension(_, _, _, _, _, B), setarg(2, A, removed), term_variables(B, G), ( arg(5, A, C), ( var(C) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', D), D=[_|E], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', E), ( E=[F|_] -> setarg(5, F, _) ; true ) ; C=[_, _|E], setarg(2, C, E), ( E=[F|_] -> setarg(5, F, C) ; true ) ) ), 'detach_known/1_1_$special_atomic/1___1'(G, A) ), cleanup___0__4__0__5(H) ; cleanup___0__4__0__5(H) ). cleanup___0__4 :- cleanup___0__5. cleanup___0__5 :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', A), !, cleanup___0__5__0__6(A). cleanup___0__5__0__6([]) :- cleanup___0__6. cleanup___0__5__0__6([A|H]) :- ( A=suspension(_, active, _, _, _, _) -> ( A=suspension(_, _, _, _, _, B), setarg(2, A, removed), term_variables(B, G), ( arg(5, A, C), ( var(C) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', D), D=[_|E], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', E), ( E=[F|_] -> setarg(5, F, _) ; true ) ; C=[_, _|E], setarg(2, C, E), ( E=[F|_] -> setarg(5, F, C) ; true ) ) ), 'detach_known/1_1_$special_compound/1___1'(G, A) ), cleanup___0__5__0__6(H) ; cleanup___0__5__0__6(H) ). cleanup___0__5 :- cleanup___0__6. cleanup___0__6 :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', A), !, cleanup___0__6__0__7(A). cleanup___0__6__0__7([]) :- cleanup___0__7. cleanup___0__6__0__7([A|H]) :- ( A=suspension(_, active, _, _, _, _) -> ( A=suspension(_, _, _, _, _, B), setarg(2, A, removed), term_variables(B, G), ( arg(5, A, C), ( var(C) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', D), D=[_|E], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', E), ( E=[F|_] -> setarg(5, F, _) ; true ) ; C=[_, _|E], setarg(2, C, E), ( E=[F|_] -> setarg(5, F, C) ; true ) ) ), 'detach_known/1_1_$special_ground/1___1'(G, A) ), cleanup___0__6__0__7(H) ; cleanup___0__6__0__7(H) ). cleanup___0__6 :- cleanup___0__7. cleanup___0__7 :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', A), !, cleanup___0__7__0__8(A). cleanup___0__7__0__8([]) :- cleanup___0__8. cleanup___0__7__0__8([A|H]) :- ( A=suspension(_, active, _, _, _, _) -> ( A=suspension(_, _, _, _, _, B), setarg(2, A, removed), term_variables(B, G), ( arg(5, A, C), ( var(C) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', D), D=[_|E], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', E), ( E=[F|_] -> setarg(5, F, _) ; true ) ; C=[_, _|E], setarg(2, C, E), ( E=[F|_] -> setarg(5, F, C) ; true ) ) ), 'detach_known/1_1_$special_integer/1___1'(G, A) ), cleanup___0__7__0__8(H) ; cleanup___0__7__0__8(H) ). cleanup___0__7 :- cleanup___0__8. cleanup___0__8 :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', A), !, cleanup___0__8__0__9(A). cleanup___0__8__0__9([]) :- cleanup___0__9. cleanup___0__8__0__9([A|H]) :- ( A=suspension(_, active, _, _, _, _) -> ( A=suspension(_, _, _, _, _, B), setarg(2, A, removed), term_variables(B, G), ( arg(5, A, C), ( var(C) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', D), D=[_|E], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', E), ( E=[F|_] -> setarg(5, F, _) ; true ) ; C=[_, _|E], setarg(2, C, E), ( E=[F|_] -> setarg(5, F, C) ; true ) ) ), 'detach_known/1_1_$special_float/1___1'(G, A) ), cleanup___0__8__0__9(H) ; cleanup___0__8__0__9(H) ). cleanup___0__8 :- cleanup___0__9. cleanup___0__9 :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', A), !, cleanup___0__9__0__10(A). cleanup___0__9__0__10([]) :- cleanup___0__10. cleanup___0__9__0__10([A|H]) :- ( A=suspension(_, active, _, _, _, _) -> ( A=suspension(_, _, _, _, _, B), setarg(2, A, removed), term_variables(B, G), ( arg(5, A, C), ( var(C) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', D), D=[_|E], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', E), ( E=[F|_] -> setarg(5, F, _) ; true ) ; C=[_, _|E], setarg(2, C, E), ( E=[F|_] -> setarg(5, F, C) ; true ) ) ), 'detach_known/1_1_$special_number/1___1'(G, A) ), cleanup___0__9__0__10(H) ; cleanup___0__9__0__10(H) ). cleanup___0__9 :- cleanup___0__10. cleanup___0__10 :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', A), !, cleanup___0__10__0__11(A). cleanup___0__10__0__11([]) :- cleanup___0__11. cleanup___0__10__0__11([A|I]) :- ( A=suspension(_, active, _, _, _, _, _) -> ( A=suspension(_, _, _, _, _, B, C), setarg(2, A, removed), term_variables(term(B, C), H), ( arg(5, A, D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', F), ( F=[G|_] -> setarg(5, G, _) ; true ) ; D=[_, _|F], setarg(2, D, F), ( F=[G|_] -> setarg(5, G, D) ; true ) ) ), 'detach_known/1_1_$special_=\\=/2___2'(H, A) ), cleanup___0__10__0__11(I) ; cleanup___0__10__0__11(I) ). cleanup___0__10 :- cleanup___0__11. cleanup___0__11 :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', A), !, cleanup___0__11__0__12(A). cleanup___0__11__0__12([]) :- cleanup___0__12. cleanup___0__11__0__12([A|H]) :- ( A=suspension(_, active, _, _, _) -> ( A=suspension(_, _, _, _, B), setarg(2, A, removed), term_variables(B, G), ( arg(4, A, C), ( var(C) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', D), D=[_|E], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', E), ( E=[F|_] -> setarg(4, F, _) ; true ) ; C=[_, _|E], setarg(2, C, E), ( E=[F|_] -> setarg(4, F, C) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(G, A) ), cleanup___0__11__0__12(H) ; cleanup___0__11__0__12(H) ). cleanup___0__11 :- cleanup___0__12. cleanup___0__12 :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', A), !, cleanup___0__12__0__13(A). cleanup___0__12__0__13([]) :- cleanup___0__13. cleanup___0__12__0__13([A|J]) :- ( A=suspension(_, active, _, _, _, _, _) -> ( A=suspension(_, _, _, _, B, C, D), setarg(2, A, removed), term_variables(term(B, C, D), I), ( arg(4, A, E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', G), ( G=[H|_] -> setarg(4, H, _) ; true ) ; E=[_, _|G], setarg(2, E, G), ( G=[H|_] -> setarg(4, H, E) ; true ) ) ), 'detach_known/1_1_$special_functor/3___3'(I, A) ), cleanup___0__12__0__13(J) ; cleanup___0__12__0__13(J) ). cleanup___0__12 :- cleanup___0__13. cleanup___0__13 :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', A), !, cleanup___0__13__0__14(A). cleanup___0__13__0__14([]) :- cleanup___0__14. cleanup___0__13__0__14([A|I]) :- ( A=suspension(_, active, _, _, _, _, _) -> ( A=suspension(_, _, _, _, _, B, C), setarg(2, A, removed), term_variables(term(B, C), H), ( arg(5, A, D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', F), ( F=[G|_] -> setarg(5, G, _) ; true ) ; D=[_, _|F], setarg(2, D, F), ( F=[G|_] -> setarg(5, G, D) ; true ) ) ), 'detach_known/1_1_$special_\\=/2___2'(H, A) ), cleanup___0__13__0__14(I) ; cleanup___0__13__0__14(I) ). cleanup___0__13 :- cleanup___0__14. cleanup___0__14 :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', A), !, cleanup___0__14__0__15(A). cleanup___0__14__0__15([]) :- cleanup___0__15. cleanup___0__14__0__15([A|I]) :- ( A=suspension(_, active, _, _, _, _) -> ( A=suspension(_, _, _, _, B, C), setarg(2, A, removed), term_variables(term(B, C), H), ( arg(4, A, D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', F), ( F=[G|_] -> setarg(4, G, _) ; true ) ; D=[_, _|F], setarg(2, D, F), ( F=[G|_] -> setarg(4, G, D) ; true ) ) ), 'detach_known/1_1_$special_=/2___2'(H, A) ), cleanup___0__14__0__15(I) ; cleanup___0__14__0__15(I) ). cleanup___0__14 :- cleanup___0__15. cleanup___0__15 :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', A), !, cleanup___0__15__0__17(A). cleanup___0__15__0__17([]) :- cleanup___0__16. cleanup___0__15__0__17([A|I]) :- ( A=suspension(_, active, _, _, _, _, _) -> ( A=suspension(_, _, _, _, _, B, C), setarg(2, A, removed), term_variables(term(B, C), H), ( arg(5, A, D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', F), ( F=[G|_] -> setarg(5, G, _) ; true ) ; D=[_, _|F], setarg(2, D, F), ( F=[G|_] -> setarg(5, G, D) ; true ) ) ), 'detach_known/1_1_$special_\\==/2___2'(H, A) ), cleanup___0__15__0__17(I) ; cleanup___0__15__0__17(I) ). cleanup___0__15 :- cleanup___0__16. cleanup___0__16 :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', A), !, cleanup___0__16__0__18(A). cleanup___0__16__0__18([]) :- cleanup___0__17. cleanup___0__16__0__18([A|I]) :- ( A=suspension(_, active, _, _, _, _, _) -> ( A=suspension(_, _, _, _, _, B, C), setarg(2, A, removed), term_variables(term(B, C), H), ( arg(5, A, D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', F), ( F=[G|_] -> setarg(5, G, _) ; true ) ; D=[_, _|F], setarg(2, D, F), ( F=[G|_] -> setarg(5, G, D) ; true ) ) ), 'detach_known/1_1_$special_==/2___2'(H, A) ), cleanup___0__16__0__18(I) ; cleanup___0__16__0__18(I) ). cleanup___0__16 :- cleanup___0__17. cleanup___0__17 :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= ( A=suspension(_, _, _, _, _, B, C), setarg(2, A, removed), term_variables(term(B, C), H), ( arg(5, A, D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5, G, _) ; true ) ; D=[_, _|F], setarg(2, D, F), ( F=[G|_] -> setarg(5, G, D) ; true ) ) ), 'detach_known/1_1_$special_= ( A=suspension(_, _, _, _, _, B, C), setarg(2, A, removed), term_variables(term(B, C), H), ( arg(5, A, D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', F), ( F=[G|_] -> setarg(5, G, _) ; true ) ; D=[_, _|F], setarg(2, D, F), ( F=[G|_] -> setarg(5, G, D) ; true ) ) ), 'detach_known/1_1_$special_=:=/2___2'(H, A) ), cleanup___0__18__0__24(I) ; cleanup___0__18__0__24(I) ). cleanup___0__18 :- cleanup___0__19. cleanup___0__19 :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), !, cleanup___0__19__0__25(A). cleanup___0__19__0__25([]) :- cleanup___0__20. cleanup___0__19__0__25([A|F]) :- ( A=suspension(_, active, _) -> ( setarg(2, A, removed), arg(3, A, B), ( var(B) -> nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', C), C=[_|D], b_setval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', D), ( D=[E|_] -> setarg(3, E, _) ; true ) ; B=[_, _|D], setarg(2, B, D), ( D=[E|_] -> setarg(3, E, B) ; true ) ) ), cleanup___0__19__0__25(F) ; cleanup___0__19__0__25(F) ). cleanup___0__19 :- cleanup___0__20. cleanup___0__20 :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', A), !, cleanup___0__20__0__26(A). cleanup___0__20__0__26([]) :- cleanup___0__21. cleanup___0__20__0__26([A|H]) :- ( A=suspension(_, active, _, _, _) -> ( A=suspension(_, _, _, _, B), setarg(2, A, removed), term_variables(B, G), ( arg(4, A, C), ( var(C) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', D), D=[_|E], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', E), ( E=[F|_] -> setarg(4, F, _) ; true ) ; C=[_, _|E], setarg(2, C, E), ( E=[F|_] -> setarg(4, F, C) ; true ) ) ), 'detach_known/1_1_$default___1'(G, A) ), cleanup___0__20__0__26(H) ; cleanup___0__20__0__26(H) ). cleanup___0__20 :- cleanup___0__21. cleanup___0__21 :- nb_getval('$chr_store_global_list_guard_entailment____variables___1', A), !, cleanup___0__21__0__27(A). cleanup___0__21__0__27([]) :- cleanup___0__22. cleanup___0__21__0__27([A|H]) :- ( A=suspension(_, active, _, _) -> ( A=suspension(_, _, _, B), setarg(2, A, removed), term_variables(B, G), ( arg(3, A, C), ( var(C) -> nb_getval('$chr_store_global_list_guard_entailment____variables___1', D), D=[_|E], b_setval('$chr_store_global_list_guard_entailment____variables___1', E), ( E=[F|_] -> setarg(3, F, _) ; true ) ; C=[_, _|E], setarg(2, C, E), ( E=[F|_] -> setarg(3, F, C) ; true ) ) ), detach_variables___1(G, A) ), cleanup___0__21__0__27(H) ; cleanup___0__21__0__27(H) ). cleanup___0__21 :- cleanup___0__22. cleanup___0__22. variables(A) :- variables___1__0(A, _). variables___1__0(V, N) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', A), 'chr sbag_member'(B, A), B=suspension(_, active, _, _, E, D, C), ground(C), ground(D), var(E), !, B=suspension(_, _, _, _, F, G, H), setarg(2, B, removed), term_variables(term(F, G, H), M), arg(4, B, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ), 'detach_known/1_1_$special_functor/3___3'(M, B), ( var(N) -> true ; N=suspension(_, _, _, O), setarg(2, N, removed), term_variables(O, T), ( arg(3, N, P), ( var(P) -> nb_getval('$chr_store_global_list_guard_entailment____variables___1', Q), Q=[_|R], b_setval('$chr_store_global_list_guard_entailment____variables___1', R), ( R=[S|_] -> setarg(3, S, _) ; true ) ; P=[_, _|R], setarg(2, P, R), ( R=[S|_] -> setarg(3, S, P) ; true ) ) ), detach_variables___1(T, N) ), functor(E, D, C), E=..[_|U], append(U, V, W), variables(W). variables___1__0(B, A) :- ( var(A) -> ( A=suspension(D, active, _, B), term_variables(B, C), 'chr none_locked'(C), 'chr gen_id'(D) ), ( nb_getval('$chr_store_global_list_guard_entailment____variables___1', E), F=[A|E], b_setval('$chr_store_global_list_guard_entailment____variables___1', F), ( E=[G|_] -> setarg(3, G, F) ; true ) ), attach_variables___1(C, A) ; setarg(2, A, active) ). 'test/1_1_$default'(_) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !. 'test/1_1_$default'(A) :- nonvar(A), ( ( ( ( ( A=nonvar(B), ( 'chr newvia_1'(B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, G), G==B, ! ; A=var(H), ( 'chr newvia_1'(H, I) -> get_attr(I, guard_entailment, J), J=v(_, _, _, _, _, K, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', K) ), 'chr sbag_member'(L, K), L=suspension(_, active, _, _, M), M==H, ! ) ; A=atom(N), ( 'chr newvia_1'(N, O) -> get_attr(O, guard_entailment, P), P=v(_, _, _, _, _, _, Q, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', Q) ), 'chr sbag_member'(R, Q), R=suspension(_, active, _, _, _, S), S==N, ! ) ; A=atomic(T), ( 'chr newvia_1'(T, U) -> get_attr(U, guard_entailment, V), V=v(_, _, _, _, _, _, _, W, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', W) ), 'chr sbag_member'(X, W), X=suspension(_, active, _, _, _, Y), Y==T, ! ) ; A=compound(Z), ( 'chr newvia_1'(Z, A1) -> get_attr(A1, guard_entailment, B1), B1=v(_, _, _, _, _, _, _, _, C1, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', C1) ), 'chr sbag_member'(D1, C1), D1=suspension(_, active, _, _, _, E1), E1==Z, ! ) ; A= (F1\=G1), ( 'chr newvia_2'(F1, G1, H1) -> get_attr(H1, guard_entailment, I1), I1=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, J1, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', J1) ), 'chr sbag_member'(K1, J1), K1=suspension(_, active, _, _, _, L1, M1), L1==F1, M1==G1, ! ). 'test/1_1_$default'(A) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, F), F==A, !. 'test/1_1_$default'(K) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', A), 'chr sbag_member'(B, A), B=suspension(_, active, _, _, J, M), !, B=suspension(_, _, _, _, C, D), setarg(2, B, removed), term_variables(term(C, D), I), arg(4, B, E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', G), ( G=[H|_] -> setarg(4, H, _) ; true ) ; E=[_, _|G], setarg(2, E, G), ( G=[H|_] -> setarg(4, H, E) ; true ) ), 'detach_known/1_1_$special_;/2___2'(I, B), \+ try(J, K), !, negate_b(J, L), known(L), \+ try(M, K). 'test/1_1_$default'(_) :- fail. 'test/1_1_$special_,/2'(_, _) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !. 'test/1_1_$special_,/2'(A, B) :- test(A), known(A), test(B). 'test/1_1_$special_\\+/1'(_) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !. 'test/1_1_$special_\\+/1'(A) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, F), F==A, !. 'test/1_1_$special_\\+/1'(A) :- nonvar(A), ( ( ( ( ( ( ( A=functor(B, C, D), nonvar(B), ( 'chr lock'(B), 'chr lock'(C), 'chr lock'(D), functor(B, C, D), 'chr unlock'(B), 'chr unlock'(C), 'chr unlock'(D), !, fail ; ! ) ; A=ground(E), ground(E), !, fail ) ; A=number(F), number(F), !, fail ) ; A=float(G), float(G), !, fail ) ; A=integer(H), integer(H), !, fail ) ; A=number(I), nonvar(I), ! ) ; A=float(J), nonvar(J), ! ) ; A=integer(K), nonvar(K), ! ). 'test/1_1_$special_\\+/1'(K) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', A), 'chr sbag_member'(B, A), B=suspension(_, active, _, _, J, M), !, B=suspension(_, _, _, _, C, D), setarg(2, B, removed), term_variables(term(C, D), I), arg(4, B, E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', G), ( G=[H|_] -> setarg(4, H, _) ; true ) ; E=[_, _|G], setarg(2, E, G), ( G=[H|_] -> setarg(4, H, E) ; true ) ), 'detach_known/1_1_$special_;/2___2'(I, B), \+ try(J, \+K), !, negate_b(J, L), known(L), \+ try(M, \+K). 'test/1_1_$special_\\+/1'(_) :- fail. 'test/1_1_$special_integer/1'(_) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !. 'test/1_1_$special_integer/1'(A) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, _, F), F==A, !. 'test/1_1_$special_integer/1'(A) :- integer(A), !. 'test/1_1_$special_integer/1'(A) :- nonvar(A), !, fail. 'test/1_1_$special_integer/1'(K) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', A), 'chr sbag_member'(B, A), B=suspension(_, active, _, _, J, M), !, B=suspension(_, _, _, _, C, D), setarg(2, B, removed), term_variables(term(C, D), I), arg(4, B, E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', G), ( G=[H|_] -> setarg(4, H, _) ; true ) ; E=[_, _|G], setarg(2, E, G), ( G=[H|_] -> setarg(4, H, E) ; true ) ), 'detach_known/1_1_$special_;/2___2'(I, B), \+ try(J, integer(K)), !, negate_b(J, L), known(L), \+ try(M, integer(K)). 'test/1_1_$special_integer/1'(_) :- fail. 'test/1_1_$special_float/1'(_) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !. 'test/1_1_$special_float/1'(A) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, _, F), F==A, !. 'test/1_1_$special_float/1'(A) :- float(A), !. 'test/1_1_$special_float/1'(A) :- nonvar(A), !, fail. 'test/1_1_$special_float/1'(K) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', A), 'chr sbag_member'(B, A), B=suspension(_, active, _, _, J, M), !, B=suspension(_, _, _, _, C, D), setarg(2, B, removed), term_variables(term(C, D), I), arg(4, B, E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', G), ( G=[H|_] -> setarg(4, H, _) ; true ) ; E=[_, _|G], setarg(2, E, G), ( G=[H|_] -> setarg(4, H, E) ; true ) ), 'detach_known/1_1_$special_;/2___2'(I, B), \+ try(J, float(K)), !, negate_b(J, L), known(L), \+ try(M, float(K)). 'test/1_1_$special_float/1'(_) :- fail. 'test/1_1_$special_number/1'(_) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !. 'test/1_1_$special_number/1'(A) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, _, F), F==A, !. 'test/1_1_$special_number/1'(A) :- number(A), !. 'test/1_1_$special_number/1'(A) :- nonvar(A), !, fail. 'test/1_1_$special_number/1'(K) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', A), 'chr sbag_member'(B, A), B=suspension(_, active, _, _, J, M), !, B=suspension(_, _, _, _, C, D), setarg(2, B, removed), term_variables(term(C, D), I), arg(4, B, E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', G), ( G=[H|_] -> setarg(4, H, _) ; true ) ; E=[_, _|G], setarg(2, E, G), ( G=[H|_] -> setarg(4, H, E) ; true ) ), 'detach_known/1_1_$special_;/2___2'(I, B), \+ try(J, number(K)), !, negate_b(J, L), known(L), \+ try(M, number(K)). 'test/1_1_$special_number/1'(_) :- fail. 'test/1_1_$special_ground/1'(_) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !. 'test/1_1_$special_ground/1'(A) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, _, F), F==A, !. 'test/1_1_$special_ground/1'(A) :- ground(A), !. 'test/1_1_$special_ground/1'(K) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', A), 'chr sbag_member'(B, A), B=suspension(_, active, _, _, J, M), !, B=suspension(_, _, _, _, C, D), setarg(2, B, removed), term_variables(term(C, D), I), arg(4, B, E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', G), ( G=[H|_] -> setarg(4, H, _) ; true ) ; E=[_, _|G], setarg(2, E, G), ( G=[H|_] -> setarg(4, H, E) ; true ) ), 'detach_known/1_1_$special_;/2___2'(I, B), \+ try(J, ground(K)), !, negate_b(J, L), known(L), \+ try(M, ground(K)). 'test/1_1_$special_ground/1'(_) :- fail. 'test/1_1_$special_=:=/2'(_, _) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !. 'test/1_1_$special_=:=/2'(A, B) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, _, G, H), G==A, H==B, !. 'test/1_1_$special_=:=/2'(A, B) :- A==B, !. 'test/1_1_$special_=:=/2'(B, A) :- ( ground(A), ground(B) ), ( B=:=A, ! ; !, fail ). 'test/1_1_$special_=:=/2'(K, L) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', A), 'chr sbag_member'(B, A), B=suspension(_, active, _, _, J, N), !, B=suspension(_, _, _, _, C, D), setarg(2, B, removed), term_variables(term(C, D), I), arg(4, B, E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', G), ( G=[H|_] -> setarg(4, H, _) ; true ) ; E=[_, _|G], setarg(2, E, G), ( G=[H|_] -> setarg(4, H, E) ; true ) ), 'detach_known/1_1_$special_;/2___2'(I, B), \+ try(J, K=:=L), !, negate_b(J, M), known(M), \+ try(N, K=:=L). 'test/1_1_$special_=:=/2'(_, _) :- fail. 'test/1_1_$special_==/2'(_, _) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !. 'test/1_1_$special_==/2'(A, B) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, _, G, H), G==A, H==B, !. 'test/1_1_$special_==/2'(A, B) :- A==B, !. 'test/1_1_$special_==/2'(K, L) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', A), 'chr sbag_member'(B, A), B=suspension(_, active, _, _, J, N), !, B=suspension(_, _, _, _, C, D), setarg(2, B, removed), term_variables(term(C, D), I), arg(4, B, E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', G), ( G=[H|_] -> setarg(4, H, _) ; true ) ; E=[_, _|G], setarg(2, E, G), ( G=[H|_] -> setarg(4, H, E) ; true ) ), 'detach_known/1_1_$special_;/2___2'(I, B), \+ try(J, K==L), !, negate_b(J, M), known(M), \+ try(N, K==L). 'test/1_1_$special_==/2'(_, _) :- fail. 'test/1_1_$special_true/0' :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !. 'test/1_1_$special_true/0'. 'test/1_1_$special_functor/3'(_, _, _) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !. 'test/1_1_$special_functor/3'(A, B, C) :- ( 'chr newvia'([A, B, C], D) -> get_attr(D, guard_entailment, E), E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', F) ), 'chr sbag_member'(G, F), G=suspension(_, active, _, _, H, I, J), H==A, I==B, J==C, !. 'test/1_1_$special_functor/3'(C, B, A) :- ground(A), ground(B), var(C), nb_getval('$chr_store_global_list_guard_entailment____variables___1', D), 'chr sbag_member'(E, D), E=suspension(_, active, _, F), 'chr lock'(C), 'chr lock'(F), \+ memberchk_eq(C, F), 'chr unlock'(C), 'chr unlock'(F), !, functor(C, B, A). 'test/1_1_$special_functor/3'(A, B, C) :- nonvar(A), ( 'chr lock'(A), 'chr lock'(B), 'chr lock'(C), functor(A, B, C), 'chr unlock'(A), 'chr unlock'(B), 'chr unlock'(C), ! ; !, fail ). 'test/1_1_$special_functor/3'(K, L, M) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', A), 'chr sbag_member'(B, A), B=suspension(_, active, _, _, J, O), !, B=suspension(_, _, _, _, C, D), setarg(2, B, removed), term_variables(term(C, D), I), arg(4, B, E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', G), ( G=[H|_] -> setarg(4, H, _) ; true ) ; E=[_, _|G], setarg(2, E, G), ( G=[H|_] -> setarg(4, H, E) ; true ) ), 'detach_known/1_1_$special_;/2___2'(I, B), \+ try(J, functor(K, L, M)), !, negate_b(J, N), known(N), \+ try(O, functor(K, L, M)). 'test/1_1_$special_functor/3'(_, _, _) :- fail. 'test/1_1_$special_=/2'(_, _) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !. 'test/1_1_$special_=/2'(A, B) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, G, H), G==A, H==B, !. 'test/1_1_$special_=/2'(B, A) :- ground(A), ground(B), !, B=A. 'test/1_1_$special_=/2'(K, L) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', A), 'chr sbag_member'(B, A), B=suspension(_, active, _, _, J, N), !, B=suspension(_, _, _, _, C, D), setarg(2, B, removed), term_variables(term(C, D), I), arg(4, B, E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', G), ( G=[H|_] -> setarg(4, H, _) ; true ) ; E=[_, _|G], setarg(2, E, G), ( G=[H|_] -> setarg(4, H, E) ; true ) ), 'detach_known/1_1_$special_;/2___2'(I, B), \+ try(J, K=L), !, negate_b(J, M), known(M), \+ try(N, K=L). 'test/1_1_$special_=/2'(_, _) :- fail. 'test/1_1_$special_;/2'(_, _) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !. 'test/1_1_$special_;/2'(A, B) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, G, H), G==A, H==B, !. 'test/1_1_$special_;/2'(A, B) :- A==fail, !, test(B). 'test/1_1_$special_;/2'(B, A) :- A==fail, !, test(B). 'test/1_1_$special_;/2'(A, B) :- negate_b(A, D), negate_b(B, C), ( known(C), test(A) ; known(D), test(B) ). 'test/1_1_$special_is/2'(_, _) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !. 'test/1_1_$special_is/2'(A, B) :- 'test/1_1_$special_=:=/2'(A, B). 'test/1_1_$special_=/2'(_, _) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !. 'test/1_1_$special_>=/2'(B, A) :- 'test/1_1_$special_=/2'(_, _) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !. 'test/1_1_$special_>/2'(B, A) :- 'test/1_1_$special_ get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, _, G, H), G==A, H==B, !. 'test/1_1_$special_=\\=/2'(B, A) :- ( number(A), ( 'chr newvia_1'(B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=H, ! ; H==B, number(G), A nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', G), ( G=[H|_] -> setarg(4, H, _) ; true ) ; E=[_, _|G], setarg(2, E, G), ( G=[H|_] -> setarg(4, H, E) ; true ) ), 'detach_known/1_1_$special_;/2___2'(I, B), \+ try(J, K=\=L), !, negate_b(J, M), known(M), \+ try(N, K=\=L). 'test/1_1_$special_=\\=/2'(_, _) :- fail. 'test/1_1_$special_= get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, _, G, H), G==A, H==B, !. 'test/1_1_$special_= get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, _, G, H), G==B, number(H), H= get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, _, G, H), G==B, number(H), A= get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', G), ( G=[H|_] -> setarg(4, H, _) ; true ) ; E=[_, _|G], setarg(2, E, G), ( G=[H|_] -> setarg(4, H, E) ; true ) ), 'detach_known/1_1_$special_;/2___2'(I, B), \+ try(J, K= get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, _, G, H), G==A, H==B, !. 'test/1_1_$special_\\==/2'(F, A) :- nonvar(A), 'chr lock'(A), functor(A, C, B), 'chr unlock'(A), !, A=..[_|E], length(D, B), G=..[C|D], add_args_nmatch(D, E, H), I= (\+functor(F, C, B);functor(F, C, B), F=G, H), test(I). 'test/1_1_$special_\\==/2'(A, B) :- nonvar(A), !, 'test/1_1_$special_\\==/2'(B, A). 'test/1_1_$special_\\==/2'(K, L) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', A), 'chr sbag_member'(B, A), B=suspension(_, active, _, _, J, N), !, B=suspension(_, _, _, _, C, D), setarg(2, B, removed), term_variables(term(C, D), I), arg(4, B, E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', G), ( G=[H|_] -> setarg(4, H, _) ; true ) ; E=[_, _|G], setarg(2, E, G), ( G=[H|_] -> setarg(4, H, E) ; true ) ), 'detach_known/1_1_$special_;/2___2'(I, B), \+ try(J, K\==L), !, negate_b(J, M), known(M), \+ try(N, K\==L). 'test/1_1_$special_\\==/2'(_, _) :- fail. 'known/1_1_$default'(A) :- 'known/1_1_$default___1__0'(A, _). 'known/1_1_$default___1__0'(A, G) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, F), F==A, !, ( var(G) -> true ; G=suspension(_, H, _, _, I), setarg(2, G, removed), ( H==not_stored_yet -> J=[] ; term_variables(I, J), ( arg(4, G, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', M), ( M=[N|_] -> setarg(4, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(4, N, K) ; true ) ) ), 'detach_known/1_1_$default___1'(J, G) ) ). 'known/1_1_$default___1__0'(_, C) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !, ( var(C) -> true ; C=suspension(_, D, _, _, E), setarg(2, C, removed), ( D==not_stored_yet -> F=[] ; term_variables(E, F), ( arg(4, C, G), ( var(G) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', H), H=[_|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', I), ( I=[J|_] -> setarg(4, J, _) ; true ) ; G=[_, _|I], setarg(2, G, I), ( I=[J|_] -> setarg(4, J, G) ; true ) ) ), 'detach_known/1_1_$default___1'(F, C) ) ). 'known/1_1_$default___1__0'(A, M) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, F), F==A, !, E=suspension(_, _, _, _, G), setarg(2, E, removed), term_variables(G, L), arg(4, E, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', J), ( J=[K|_] -> setarg(4, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(4, K, H) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(L, E), ( var(M) -> true ; M=suspension(_, N, _, _, O), setarg(2, M, removed), ( N==not_stored_yet -> P=[] ; term_variables(O, P), ( arg(4, M, Q), ( var(Q) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', R), R=[_|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', S), ( S=[T|_] -> setarg(4, T, _) ; true ) ; Q=[_, _|S], setarg(2, Q, S), ( S=[T|_] -> setarg(4, T, Q) ; true ) ) ), 'detach_known/1_1_$default___1'(P, M) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$default___1__0'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, ( var(E) -> E=suspension(F, not_stored_yet, 0, _, A), 'chr gen_id'(F) ; true ), 'known/1_1_$default___1__0__0__6'(D, A, E). 'known/1_1_$default___1__0__0__6'([], A, B) :- 'known/1_1_$default___1__1'(A, B). 'known/1_1_$default___1__0__0__6'([A|V], D, L) :- ( A=suspension(_, active, _, _, B, U), nonvar(B), B= (\+C), C==D -> ( A=suspension(_, _, _, _, E, F), setarg(2, A, removed), term_variables(term(E, F), K), ( arg(4, A, G), ( var(G) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', H), H=[_|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', I), ( I=[J|_] -> setarg(4, J, _) ; true ) ; G=[_, _|I], setarg(2, G, I), ( I=[J|_] -> setarg(4, J, G) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(K, A) ), ( arg(2, L, O), setarg(2, L, active), ( arg(3, L, M), N is M+1, setarg(3, L, N) ), ( O==not_stored_yet -> L=suspension(_, _, _, _, P), term_variables(P, Q), 'chr none_locked'(Q), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', R), S=[L|R], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', S), ( R=[T|_] -> setarg(4, T, S) ; true ) ), 'attach_known/1_1_$default___1'(Q, L) ; true ) ), known(U), ( L=suspension(_, active, N, _, _) -> setarg(2, L, inactive), 'known/1_1_$default___1__0__0__6'(V, D, L) ; true ) ; 'known/1_1_$default___1__0__0__6'(V, D, L) ). 'known/1_1_$default___1__0'(B, A) :- ( var(A) -> A=suspension(C, not_stored_yet, 0, _, B), 'chr gen_id'(C) ; true ), 'known/1_1_$default___1__1'(B, A). 'known/1_1_$default___1__1'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, 'known/1_1_$default___1__1__0__7'(D, A, E). 'known/1_1_$default___1__1__0__7'([], A, B) :- 'known/1_1_$default___1__2'(A, B). 'known/1_1_$default___1__1__0__7'([A|W], E, M) :- ( A=suspension(_, active, _, _, B, V), nonvar(B), B= (C, _), nonvar(C), C= (\+D), D==E -> ( A=suspension(_, _, _, _, F, G), setarg(2, A, removed), term_variables(term(F, G), L), ( arg(4, A, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J), ( J=[K|_] -> setarg(4, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(4, K, H) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(L, A) ), ( arg(2, M, P), setarg(2, M, active), ( arg(3, M, N), O is N+1, setarg(3, M, O) ), ( P==not_stored_yet -> M=suspension(_, _, _, _, Q), term_variables(Q, R), 'chr none_locked'(R), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', S), T=[M|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', T), ( S=[U|_] -> setarg(4, U, T) ; true ) ), 'attach_known/1_1_$default___1'(R, M) ; true ) ), known(V), ( M=suspension(_, active, O, _, _) -> setarg(2, M, inactive), 'known/1_1_$default___1__1__0__7'(W, E, M) ; true ) ; 'known/1_1_$default___1__1__0__7'(W, E, M) ). 'known/1_1_$default___1__1'(A, B) :- 'known/1_1_$default___1__2'(A, B). 'known/1_1_$default___1__2'(_, A) :- arg(2, A, D), setarg(2, A, active), arg(3, A, B), C is B+1, setarg(3, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, E), term_variables(E, F), 'chr none_locked'(F), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', G), H=[A|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', H), ( G=[I|_] -> setarg(4, I, H) ; true ) ), 'attach_known/1_1_$default___1'(F, A) ; true ). 'known/1_1_$special_;/2'(A, B) :- 'known/1_1_$special_;/2___2__0'(A, B, _). 'known/1_1_$special_;/2___2__0'(A, B, I) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, G, H), G==A, H==B, !, ( var(I) -> true ; I=suspension(_, J, _, _, K, L), setarg(2, I, removed), ( J==not_stored_yet -> M=[] ; term_variables(term(K, L), M), ( arg(4, I, N), ( var(N) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', O), O=[_|P], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', P), ( P=[Q|_] -> setarg(4, Q, _) ; true ) ; N=[_, _|P], setarg(2, N, P), ( P=[Q|_] -> setarg(4, Q, N) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(M, I) ) ). 'known/1_1_$special_;/2___2__0'(_, _, C) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !, ( var(C) -> true ; C=suspension(_, D, _, _, E, F), setarg(2, C, removed), ( D==not_stored_yet -> G=[] ; term_variables(term(E, F), G), ( arg(4, C, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J), ( J=[K|_] -> setarg(4, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(4, K, H) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(G, C) ) ). 'known/1_1_$special_;/2___2__0'(A, B, P) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, G), nonvar(G), G= (H;I), H==A, I==B, !, F=suspension(_, _, _, _, J), setarg(2, F, removed), term_variables(J, O), arg(4, F, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', M), ( M=[N|_] -> setarg(4, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(4, N, K) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(O, F), ( var(P) -> true ; P=suspension(_, Q, _, _, R, S), setarg(2, P, removed), ( Q==not_stored_yet -> T=[] ; term_variables(term(R, S), T), ( arg(4, P, U), ( var(U) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', V), V=[_|W], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', W), ( W=[X|_] -> setarg(4, X, _) ; true ) ; U=[_, _|W], setarg(2, U, W), ( W=[X|_] -> setarg(4, X, U) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(T, P) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_;/2___2__0'(A, T, K) :- nonvar(A), A= (\+B), nonvar(B), B= (C;D), ( 'chr newvia_2'(C, D, E) -> get_attr(E, guard_entailment, F), F=v(_, _, _, G, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', G) ), 'chr sbag_member'(H, G), H=suspension(_, active, _, _, I, J), I==C, J==D, !, ( var(K) -> true ; K=suspension(_, L, _, _, M, N), setarg(2, K, removed), ( L==not_stored_yet -> O=[] ; term_variables(term(M, N), O), ( arg(4, K, P), ( var(P) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', Q), Q=[_|R], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', R), ( R=[S|_] -> setarg(4, S, _) ; true ) ; P=[_, _|R], setarg(2, P, R), ( R=[S|_] -> setarg(4, S, P) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(O, K) ) ), known(T). 'known/1_1_$special_;/2___2__0'(A, B, F) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', E) ), !, ( var(F) -> F=suspension(G, not_stored_yet, 0, _, A, B), 'chr gen_id'(G) ; true ), 'known/1_1_$special_;/2___2__0__0__7'(E, A, B, F). 'known/1_1_$special_;/2___2__0__0__7'([], A, B, C) :- 'known/1_1_$special_;/2___2__1'(A, B, C). 'known/1_1_$special_;/2___2__0__0__7'([A|Z], E, G, O) :- ( A=suspension(_, active, _, _, B, Y), nonvar(B), B= (\+C), nonvar(C), C= (D;F), D==E, F==G -> ( A=suspension(_, _, _, _, H, I), setarg(2, A, removed), term_variables(term(H, I), N), ( arg(4, A, J), ( var(J) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', K), K=[_|L], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', L), ( L=[M|_] -> setarg(4, M, _) ; true ) ; J=[_, _|L], setarg(2, J, L), ( L=[M|_] -> setarg(4, M, J) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(N, A) ), ( arg(2, O, R), setarg(2, O, active), ( arg(3, O, P), Q is P+1, setarg(3, O, Q) ), ( R==not_stored_yet -> O=suspension(_, _, _, _, S, T), term_variables(term(S, T), U), 'chr none_locked'(U), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', V), W=[O|V], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', W), ( V=[X|_] -> setarg(4, X, W) ; true ) ), 'attach_known/1_1_$special_;/2___2'(U, O) ; true ) ), known(Y), ( O=suspension(_, active, Q, _, _, _) -> setarg(2, O, inactive), 'known/1_1_$special_;/2___2__0__0__7'(Z, E, G, O) ; true ) ; 'known/1_1_$special_;/2___2__0__0__7'(Z, E, G, O) ). 'known/1_1_$special_;/2___2__0'(B, C, A) :- ( var(A) -> A=suspension(D, not_stored_yet, 0, _, B, C), 'chr gen_id'(D) ; true ), 'known/1_1_$special_;/2___2__1'(B, C, A). 'known/1_1_$special_;/2___2__1'(A, R, I) :- nonvar(A), ( A= (\+B), ( nonvar(B), ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( B=nonvar(C), ( 'chr newvia_1'(C, D) -> get_attr(D, guard_entailment, E), E=v(_, _, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', F) ), 'chr sbag_member'(G, F), G=suspension(_, active, _, _, H), H==C, !, ( var(I) -> true ; I=suspension(_, J, _, _, K, L), setarg(2, I, removed), ( J==not_stored_yet -> M=[] ; term_variables(term(K, L), M), ( arg(4, I, N), ( var(N) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', O), O=[_|P], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', P), ( P=[Q|_] -> setarg(4, Q, _) ; true ) ; N=[_, _|P], setarg(2, N, P), ( P=[Q|_] -> setarg(4, Q, N) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(M, I) ) ), known(R) ; B=var(S), ( 'chr newvia_1'(S, T) -> get_attr(T, guard_entailment, U), U=v(_, _, _, _, _, V, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', V) ), 'chr sbag_member'(W, V), W=suspension(_, active, _, _, X), X==S, !, ( var(I) -> true ; I=suspension(_, Y, _, _, Z, A1), setarg(2, I, removed), ( Y==not_stored_yet -> B1=[] ; term_variables(term(Z, A1), B1), ( arg(4, I, C1), ( var(C1) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D1), D1=[_|E1], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', E1), ( E1=[F1|_] -> setarg(4, F1, _) ; true ) ; C1=[_, _|E1], setarg(2, C1, E1), ( E1=[F1|_] -> setarg(4, F1, C1) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(B1, I) ) ), known(R) ) ; B=atom(G1), ( 'chr newvia_1'(G1, H1) -> get_attr(H1, guard_entailment, I1), I1=v(_, _, _, _, _, _, J1, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', J1) ), 'chr sbag_member'(K1, J1), K1=suspension(_, active, _, _, _, L1), L1==G1, !, ( var(I) -> true ; I=suspension(_, M1, _, _, N1, O1), setarg(2, I, removed), ( M1==not_stored_yet -> P1=[] ; term_variables(term(N1, O1), P1), ( arg(4, I, Q1), ( var(Q1) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', R1), R1=[_|S1], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', S1), ( S1=[T1|_] -> setarg(4, T1, _) ; true ) ; Q1=[_, _|S1], setarg(2, Q1, S1), ( S1=[T1|_] -> setarg(4, T1, Q1) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(P1, I) ) ), known(R) ) ; B=atomic(U1), ( 'chr newvia_1'(U1, V1) -> get_attr(V1, guard_entailment, W1), W1=v(_, _, _, _, _, _, _, X1, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', X1) ), 'chr sbag_member'(Y1, X1), Y1=suspension(_, active, _, _, _, Z1), Z1==U1, !, ( var(I) -> true ; I=suspension(_, A2, _, _, B2, C2), setarg(2, I, removed), ( A2==not_stored_yet -> D2=[] ; term_variables(term(B2, C2), D2), ( arg(4, I, E2), ( var(E2) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', F2), F2=[_|G2], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', G2), ( G2=[H2|_] -> setarg(4, H2, _) ; true ) ; E2=[_, _|G2], setarg(2, E2, G2), ( G2=[H2|_] -> setarg(4, H2, E2) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(D2, I) ) ), known(R) ) ; B=compound(I2), ( 'chr newvia_1'(I2, J2) -> get_attr(J2, guard_entailment, K2), K2=v(_, _, _, _, _, _, _, _, L2, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', L2) ), 'chr sbag_member'(M2, L2), M2=suspension(_, active, _, _, _, N2), N2==I2, !, ( var(I) -> true ; I=suspension(_, O2, _, _, P2, Q2), setarg(2, I, removed), ( O2==not_stored_yet -> R2=[] ; term_variables(term(P2, Q2), R2), ( arg(4, I, S2), ( var(S2) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', T2), T2=[_|U2], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', U2), ( U2=[V2|_] -> setarg(4, V2, _) ; true ) ; S2=[_, _|U2], setarg(2, S2, U2), ( U2=[V2|_] -> setarg(4, V2, S2) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(R2, I) ) ), known(R) ) ; B=ground(W2), ( 'chr newvia_1'(W2, X2) -> get_attr(X2, guard_entailment, Y2), Y2=v(_, _, _, _, _, _, _, _, _, Z2, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', Z2) ), 'chr sbag_member'(A3, Z2), A3=suspension(_, active, _, _, _, B3), B3==W2, !, ( var(I) -> true ; I=suspension(_, C3, _, _, D3, E3), setarg(2, I, removed), ( C3==not_stored_yet -> F3=[] ; term_variables(term(D3, E3), F3), ( arg(4, I, G3), ( var(G3) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', H3), H3=[_|I3], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', I3), ( I3=[J3|_] -> setarg(4, J3, _) ; true ) ; G3=[_, _|I3], setarg(2, G3, I3), ( I3=[J3|_] -> setarg(4, J3, G3) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(F3, I) ) ), known(R) ) ; B=integer(K3), ( 'chr newvia_1'(K3, L3) -> get_attr(L3, guard_entailment, M3), M3=v(_, _, _, _, _, _, _, _, _, _, N3, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', N3) ), 'chr sbag_member'(O3, N3), O3=suspension(_, active, _, _, _, P3), P3==K3, !, ( var(I) -> true ; I=suspension(_, Q3, _, _, R3, S3), setarg(2, I, removed), ( Q3==not_stored_yet -> T3=[] ; term_variables(term(R3, S3), T3), ( arg(4, I, U3), ( var(U3) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', V3), V3=[_|W3], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', W3), ( W3=[X3|_] -> setarg(4, X3, _) ; true ) ; U3=[_, _|W3], setarg(2, U3, W3), ( W3=[X3|_] -> setarg(4, X3, U3) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(T3, I) ) ), known(R) ) ; B=float(Y3), ( 'chr newvia_1'(Y3, Z3) -> get_attr(Z3, guard_entailment, A4), A4=v(_, _, _, _, _, _, _, _, _, _, _, B4, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', B4) ), 'chr sbag_member'(C4, B4), C4=suspension(_, active, _, _, _, D4), D4==Y3, !, ( var(I) -> true ; I=suspension(_, E4, _, _, F4, G4), setarg(2, I, removed), ( E4==not_stored_yet -> H4=[] ; term_variables(term(F4, G4), H4), ( arg(4, I, I4), ( var(I4) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J4), J4=[_|K4], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', K4), ( K4=[L4|_] -> setarg(4, L4, _) ; true ) ; I4=[_, _|K4], setarg(2, I4, K4), ( K4=[L4|_] -> setarg(4, L4, I4) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(H4, I) ) ), known(R) ) ; B=number(M4), ( 'chr newvia_1'(M4, N4) -> get_attr(N4, guard_entailment, O4), O4=v(_, _, _, _, _, _, _, _, _, _, _, _, P4, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', P4) ), 'chr sbag_member'(Q4, P4), Q4=suspension(_, active, _, _, _, R4), R4==M4, !, ( var(I) -> true ; I=suspension(_, S4, _, _, T4, U4), setarg(2, I, removed), ( S4==not_stored_yet -> V4=[] ; term_variables(term(T4, U4), V4), ( arg(4, I, W4), ( var(W4) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', X4), X4=[_|Y4], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', Y4), ( Y4=[Z4|_] -> setarg(4, Z4, _) ; true ) ; W4=[_, _|Y4], setarg(2, W4, Y4), ( Y4=[Z4|_] -> setarg(4, Z4, W4) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(V4, I) ) ), known(R) ) ; B= (A5=\=B5), ( 'chr newvia_2'(A5, B5, C5) -> get_attr(C5, guard_entailment, D5), D5=v(_, _, _, _, _, _, _, _, _, _, _, _, _, E5, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', E5) ), 'chr sbag_member'(F5, E5), F5=suspension(_, active, _, _, _, G5, H5), G5==A5, H5==B5, !, ( var(I) -> true ; I=suspension(_, I5, _, _, J5, K5), setarg(2, I, removed), ( I5==not_stored_yet -> L5=[] ; term_variables(term(J5, K5), L5), ( arg(4, I, M5), ( var(M5) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', N5), N5=[_|O5], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', O5), ( O5=[P5|_] -> setarg(4, P5, _) ; true ) ; M5=[_, _|O5], setarg(2, M5, O5), ( O5=[P5|_] -> setarg(4, P5, M5) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(L5, I) ) ), known(R) ) ; B= (\+Q5), ( 'chr newvia_1'(Q5, R5) -> get_attr(R5, guard_entailment, S5), S5=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, T5, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', T5) ), 'chr sbag_member'(U5, T5), U5=suspension(_, active, _, _, V5), V5==Q5, !, ( var(I) -> true ; I=suspension(_, W5, _, _, X5, Y5), setarg(2, I, removed), ( W5==not_stored_yet -> Z5=[] ; term_variables(term(X5, Y5), Z5), ( arg(4, I, A6), ( var(A6) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', B6), B6=[_|C6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', C6), ( C6=[D6|_] -> setarg(4, D6, _) ; true ) ; A6=[_, _|C6], setarg(2, A6, C6), ( C6=[D6|_] -> setarg(4, D6, A6) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(Z5, I) ) ), known(R) ) ; B=functor(E6, F6, G6), ( 'chr newvia'( [ E6, F6, G6 ], H6) -> get_attr(H6, guard_entailment, I6), I6=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, J6, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', J6) ), 'chr sbag_member'(K6, J6), K6=suspension(_, active, _, _, L6, M6, N6), L6==E6, M6==F6, N6==G6, !, ( var(I) -> true ; I=suspension(_, O6, _, _, P6, Q6), setarg(2, I, removed), ( O6==not_stored_yet -> R6=[] ; term_variables(term(P6, Q6), R6), ( arg(4, I, S6), ( var(S6) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', T6), T6=[_|U6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', U6), ( U6=[V6|_] -> setarg(4, V6, _) ; true ) ; S6=[_, _|U6], setarg(2, S6, U6), ( U6=[V6|_] -> setarg(4, V6, S6) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(R6, I) ) ), known(R) ) ; B= (W6\=X6), ( 'chr newvia_2'(W6, X6, Y6) -> get_attr(Y6, guard_entailment, Z6), Z6=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, A7, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', A7) ), 'chr sbag_member'(B7, A7), B7=suspension(_, active, _, _, _, C7, D7), C7==W6, D7==X6, !, ( var(I) -> true ; I=suspension(_, E7, _, _, F7, G7), setarg(2, I, removed), ( E7==not_stored_yet -> H7=[] ; term_variables(term(F7, G7), H7), ( arg(4, I, I7), ( var(I7) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J7), J7=[_|K7], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', K7), ( K7=[L7|_] -> setarg(4, L7, _) ; true ) ; I7=[_, _|K7], setarg(2, I7, K7), ( K7=[L7|_] -> setarg(4, L7, I7) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(H7, I) ) ), known(R) ) ; B= (M7=N7), ( 'chr newvia_2'(M7, N7, O7) -> get_attr(O7, guard_entailment, P7), P7=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, Q7, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', Q7) ), 'chr sbag_member'(R7, Q7), R7=suspension(_, active, _, _, S7, T7), S7==M7, T7==N7, !, ( var(I) -> true ; I=suspension(_, U7, _, _, V7, W7), setarg(2, I, removed), ( U7==not_stored_yet -> X7=[] ; term_variables(term(V7, W7), X7), ( arg(4, I, Y7), ( var(Y7) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', Z7), Z7=[_|A8], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', A8), ( A8=[B8|_] -> setarg(4, B8, _) ; true ) ; Y7=[_, _|A8], setarg(2, Y7, A8), ( A8=[B8|_] -> setarg(4, B8, Y7) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(X7, I) ) ), known(R) ) ; B= (C8\==D8), ( 'chr newvia_2'(C8, D8, E8) -> get_attr(E8, guard_entailment, F8), F8=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, G8, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', G8) ), 'chr sbag_member'(H8, G8), H8=suspension(_, active, _, _, _, I8, J8), I8==C8, J8==D8, !, ( var(I) -> true ; I=suspension(_, K8, _, _, L8, M8), setarg(2, I, removed), ( K8==not_stored_yet -> N8=[] ; term_variables(term(L8, M8), N8), ( arg(4, I, O8), ( var(O8) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', P8), P8=[_|Q8], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', Q8), ( Q8=[R8|_] -> setarg(4, R8, _) ; true ) ; O8=[_, _|Q8], setarg(2, O8, Q8), ( Q8=[R8|_] -> setarg(4, R8, O8) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(N8, I) ) ), known(R) ) ; B= (S8==T8), ( 'chr newvia_2'(S8, T8, U8) -> get_attr(U8, guard_entailment, V8), V8=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, W8, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', W8) ), 'chr sbag_member'(X8, W8), X8=suspension(_, active, _, _, _, Y8, Z8), Y8==S8, Z8==T8, !, ( var(I) -> true ; I=suspension(_, A9, _, _, B9, C9), setarg(2, I, removed), ( A9==not_stored_yet -> D9=[] ; term_variables(term(B9, C9), D9), ( arg(4, I, E9), ( var(E9) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', F9), F9=[_|G9], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', G9), ( G9=[H9|_] -> setarg(4, H9, _) ; true ) ; E9=[_, _|G9], setarg(2, E9, G9), ( G9=[H9|_] -> setarg(4, H9, E9) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(D9, I) ) ), known(R) ) ; B= (I9= get_attr(K9, guard_entailment, L9), L9=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, M9, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= true ; I=suspension(_, Q9, _, _, R9, S9), setarg(2, I, removed), ( Q9==not_stored_yet -> T9=[] ; term_variables(term(R9, S9), T9), ( arg(4, I, U9), ( var(U9) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', V9), V9=[_|W9], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', W9), ( W9=[X9|_] -> setarg(4, X9, _) ; true ) ; U9=[_, _|W9], setarg(2, U9, W9), ( W9=[X9|_] -> setarg(4, X9, U9) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(T9, I) ) ), known(R) ) ; B= (Y9=:=Z9), ( 'chr newvia_2'(Y9, Z9, A10) -> get_attr(A10, guard_entailment, B10), B10=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, C10) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', C10) ), 'chr sbag_member'(D10, C10), D10=suspension(_, active, _, _, _, E10, F10), E10==Y9, F10==Z9, !, ( var(I) -> true ; I=suspension(_, G10, _, _, H10, I10), setarg(2, I, removed), ( G10==not_stored_yet -> J10=[] ; term_variables(term(H10, I10), J10), ( arg(4, I, K10), ( var(K10) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', L10), L10=[_|M10], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', M10), ( M10=[N10|_] -> setarg(4, N10, _) ; true ) ; K10=[_, _|M10], setarg(2, K10, M10), ( M10=[N10|_] -> setarg(4, N10, K10) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(J10, I) ) ), known(R) ) ; ( 'chr newvia_1'(B, O10) -> get_attr(O10, guard_entailment, P10), P10=v(_, _, Q10, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', Q10) ), 'chr sbag_member'(R10, Q10), R10=suspension(_, active, _, _, S10), S10==B, !, ( var(I) -> true ; I=suspension(_, T10, _, _, U10, V10), setarg(2, I, removed), ( T10==not_stored_yet -> W10=[] ; term_variables(term(U10, V10), W10), ( arg(4, I, X10), ( var(X10) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', Y10), Y10=[_|Z10], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', Z10), ( Z10=[A11|_] -> setarg(4, A11, _) ; true ) ; X10=[_, _|Z10], setarg(2, X10, Z10), ( Z10=[A11|_] -> setarg(4, A11, X10) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(W10, I) ) ), known(R) ) ; A= (B11, _), nonvar(B11), B11= (\+C11), nonvar(C11), C11= (D11;E11), ( 'chr newvia_2'(D11, E11, F11) -> get_attr(F11, guard_entailment, G11), G11=v(_, _, _, H11, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', H11) ), 'chr sbag_member'(I11, H11), I11=suspension(_, active, _, _, J11, K11), J11==D11, K11==E11, !, ( var(I) -> true ; I=suspension(_, L11, _, _, M11, N11), setarg(2, I, removed), ( L11==not_stored_yet -> O11=[] ; term_variables(term(M11, N11), O11), ( arg(4, I, P11), ( var(P11) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', Q11), Q11=[_|R11], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', R11), ( R11=[S11|_] -> setarg(4, S11, _) ; true ) ; P11=[_, _|R11], setarg(2, P11, R11), ( R11=[S11|_] -> setarg(4, S11, P11) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(O11, I) ) ), known(R) ). 'known/1_1_$special_;/2___2__1'(A, B, F) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', E) ), !, 'known/1_1_$special_;/2___2__1__0__34'(E, A, B, F). 'known/1_1_$special_;/2___2__1__0__34'([], A, B, C) :- 'known/1_1_$special_;/2___2__2'(A, B, C). 'known/1_1_$special_;/2___2__1__0__34'([A|A1], F, H, P) :- ( A=suspension(_, active, _, _, B, Z), nonvar(B), B= (C, _), nonvar(C), C= (\+D), nonvar(D), D= (E;G), E==F, G==H -> ( A=suspension(_, _, _, _, I, J), setarg(2, A, removed), term_variables(term(I, J), O), ( arg(4, A, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', M), ( M=[N|_] -> setarg(4, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(4, N, K) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(O, A) ), ( arg(2, P, S), setarg(2, P, active), ( arg(3, P, Q), R is Q+1, setarg(3, P, R) ), ( S==not_stored_yet -> P=suspension(_, _, _, _, T, U), term_variables(term(T, U), V), 'chr none_locked'(V), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', W), X=[P|W], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', X), ( W=[Y|_] -> setarg(4, Y, X) ; true ) ), 'attach_known/1_1_$special_;/2___2'(V, P) ; true ) ), known(Z), ( P=suspension(_, active, R, _, _, _) -> setarg(2, P, inactive), 'known/1_1_$special_;/2___2__1__0__34'(A1, F, H, P) ; true ) ; 'known/1_1_$special_;/2___2__1__0__34'(A1, F, H, P) ). 'known/1_1_$special_;/2___2__1'(A, B, C) :- 'known/1_1_$special_;/2___2__2'(A, B, C). 'known/1_1_$special_;/2___2__2'(A, S, J) :- ( nonvar(A), A= (B, _), nonvar(B), B= (\+C) ), ( nonvar(C), ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( C=nonvar(D), ( 'chr newvia_1'(D, E) -> get_attr(E, guard_entailment, F), F=v(_, _, _, _, G, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', G) ), 'chr sbag_member'(H, G), H=suspension(_, active, _, _, I), I==D, !, ( var(J) -> true ; J=suspension(_, K, _, _, L, M), setarg(2, J, removed), ( K==not_stored_yet -> N=[] ; term_variables(term(L, M), N), ( arg(4, J, O), ( var(O) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', P), P=[_|Q], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', Q), ( Q=[R|_] -> setarg(4, R, _) ; true ) ; O=[_, _|Q], setarg(2, O, Q), ( Q=[R|_] -> setarg(4, R, O) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(N, J) ) ), known(S) ; C=var(T), ( 'chr newvia_1'(T, U) -> get_attr(U, guard_entailment, V), V=v(_, _, _, _, _, W, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', W) ), 'chr sbag_member'(X, W), X=suspension(_, active, _, _, Y), Y==T, !, ( var(J) -> true ; J=suspension(_, Z, _, _, A1, B1), setarg(2, J, removed), ( Z==not_stored_yet -> C1=[] ; term_variables(term(A1, B1), C1), ( arg(4, J, D1), ( var(D1) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', E1), E1=[_|F1], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', F1), ( F1=[G1|_] -> setarg(4, G1, _) ; true ) ; D1=[_, _|F1], setarg(2, D1, F1), ( F1=[G1|_] -> setarg(4, G1, D1) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(C1, J) ) ), known(S) ) ; C=atom(H1), ( 'chr newvia_1'(H1, I1) -> get_attr(I1, guard_entailment, J1), J1=v(_, _, _, _, _, _, K1, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', K1) ), 'chr sbag_member'(L1, K1), L1=suspension(_, active, _, _, _, M1), M1==H1, !, ( var(J) -> true ; J=suspension(_, N1, _, _, O1, P1), setarg(2, J, removed), ( N1==not_stored_yet -> Q1=[] ; term_variables(term(O1, P1), Q1), ( arg(4, J, R1), ( var(R1) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', S1), S1=[_|T1], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', T1), ( T1=[U1|_] -> setarg(4, U1, _) ; true ) ; R1=[_, _|T1], setarg(2, R1, T1), ( T1=[U1|_] -> setarg(4, U1, R1) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(Q1, J) ) ), known(S) ) ; C=atomic(V1), ( 'chr newvia_1'(V1, W1) -> get_attr(W1, guard_entailment, X1), X1=v(_, _, _, _, _, _, _, Y1, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', Y1) ), 'chr sbag_member'(Z1, Y1), Z1=suspension(_, active, _, _, _, A2), A2==V1, !, ( var(J) -> true ; J=suspension(_, B2, _, _, C2, D2), setarg(2, J, removed), ( B2==not_stored_yet -> E2=[] ; term_variables(term(C2, D2), E2), ( arg(4, J, F2), ( var(F2) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', G2), G2=[_|H2], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', H2), ( H2=[I2|_] -> setarg(4, I2, _) ; true ) ; F2=[_, _|H2], setarg(2, F2, H2), ( H2=[I2|_] -> setarg(4, I2, F2) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(E2, J) ) ), known(S) ) ; C=compound(J2), ( 'chr newvia_1'(J2, K2) -> get_attr(K2, guard_entailment, L2), L2=v(_, _, _, _, _, _, _, _, M2, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', M2) ), 'chr sbag_member'(N2, M2), N2=suspension(_, active, _, _, _, O2), O2==J2, !, ( var(J) -> true ; J=suspension(_, P2, _, _, Q2, R2), setarg(2, J, removed), ( P2==not_stored_yet -> S2=[] ; term_variables(term(Q2, R2), S2), ( arg(4, J, T2), ( var(T2) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', U2), U2=[_|V2], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', V2), ( V2=[W2|_] -> setarg(4, W2, _) ; true ) ; T2=[_, _|V2], setarg(2, T2, V2), ( V2=[W2|_] -> setarg(4, W2, T2) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(S2, J) ) ), known(S) ) ; C=ground(X2), ( 'chr newvia_1'(X2, Y2) -> get_attr(Y2, guard_entailment, Z2), Z2=v(_, _, _, _, _, _, _, _, _, A3, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', A3) ), 'chr sbag_member'(B3, A3), B3=suspension(_, active, _, _, _, C3), C3==X2, !, ( var(J) -> true ; J=suspension(_, D3, _, _, E3, F3), setarg(2, J, removed), ( D3==not_stored_yet -> G3=[] ; term_variables(term(E3, F3), G3), ( arg(4, J, H3), ( var(H3) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', I3), I3=[_|J3], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J3), ( J3=[K3|_] -> setarg(4, K3, _) ; true ) ; H3=[_, _|J3], setarg(2, H3, J3), ( J3=[K3|_] -> setarg(4, K3, H3) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(G3, J) ) ), known(S) ) ; C=integer(L3), ( 'chr newvia_1'(L3, M3) -> get_attr(M3, guard_entailment, N3), N3=v(_, _, _, _, _, _, _, _, _, _, O3, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', O3) ), 'chr sbag_member'(P3, O3), P3=suspension(_, active, _, _, _, Q3), Q3==L3, !, ( var(J) -> true ; J=suspension(_, R3, _, _, S3, T3), setarg(2, J, removed), ( R3==not_stored_yet -> U3=[] ; term_variables(term(S3, T3), U3), ( arg(4, J, V3), ( var(V3) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', W3), W3=[_|X3], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', X3), ( X3=[Y3|_] -> setarg(4, Y3, _) ; true ) ; V3=[_, _|X3], setarg(2, V3, X3), ( X3=[Y3|_] -> setarg(4, Y3, V3) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(U3, J) ) ), known(S) ) ; C=float(Z3), ( 'chr newvia_1'(Z3, A4) -> get_attr(A4, guard_entailment, B4), B4=v(_, _, _, _, _, _, _, _, _, _, _, C4, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', C4) ), 'chr sbag_member'(D4, C4), D4=suspension(_, active, _, _, _, E4), E4==Z3, !, ( var(J) -> true ; J=suspension(_, F4, _, _, G4, H4), setarg(2, J, removed), ( F4==not_stored_yet -> I4=[] ; term_variables(term(G4, H4), I4), ( arg(4, J, J4), ( var(J4) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', K4), K4=[_|L4], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', L4), ( L4=[M4|_] -> setarg(4, M4, _) ; true ) ; J4=[_, _|L4], setarg(2, J4, L4), ( L4=[M4|_] -> setarg(4, M4, J4) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(I4, J) ) ), known(S) ) ; C=number(N4), ( 'chr newvia_1'(N4, O4) -> get_attr(O4, guard_entailment, P4), P4=v(_, _, _, _, _, _, _, _, _, _, _, _, Q4, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', Q4) ), 'chr sbag_member'(R4, Q4), R4=suspension(_, active, _, _, _, S4), S4==N4, !, ( var(J) -> true ; J=suspension(_, T4, _, _, U4, V4), setarg(2, J, removed), ( T4==not_stored_yet -> W4=[] ; term_variables(term(U4, V4), W4), ( arg(4, J, X4), ( var(X4) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', Y4), Y4=[_|Z4], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', Z4), ( Z4=[A5|_] -> setarg(4, A5, _) ; true ) ; X4=[_, _|Z4], setarg(2, X4, Z4), ( Z4=[A5|_] -> setarg(4, A5, X4) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(W4, J) ) ), known(S) ) ; C= (B5=\=C5), ( 'chr newvia_2'(B5, C5, D5) -> get_attr(D5, guard_entailment, E5), E5=v(_, _, _, _, _, _, _, _, _, _, _, _, _, F5, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', F5) ), 'chr sbag_member'(G5, F5), G5=suspension(_, active, _, _, _, H5, I5), H5==B5, I5==C5, !, ( var(J) -> true ; J=suspension(_, J5, _, _, K5, L5), setarg(2, J, removed), ( J5==not_stored_yet -> M5=[] ; term_variables(term(K5, L5), M5), ( arg(4, J, N5), ( var(N5) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', O5), O5=[_|P5], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', P5), ( P5=[Q5|_] -> setarg(4, Q5, _) ; true ) ; N5=[_, _|P5], setarg(2, N5, P5), ( P5=[Q5|_] -> setarg(4, Q5, N5) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(M5, J) ) ), known(S) ) ; C= (\+R5), ( 'chr newvia_1'(R5, S5) -> get_attr(S5, guard_entailment, T5), T5=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, U5, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', U5) ), 'chr sbag_member'(V5, U5), V5=suspension(_, active, _, _, W5), W5==R5, !, ( var(J) -> true ; J=suspension(_, X5, _, _, Y5, Z5), setarg(2, J, removed), ( X5==not_stored_yet -> A6=[] ; term_variables(term(Y5, Z5), A6), ( arg(4, J, B6), ( var(B6) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', C6), C6=[_|D6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D6), ( D6=[E6|_] -> setarg(4, E6, _) ; true ) ; B6=[_, _|D6], setarg(2, B6, D6), ( D6=[E6|_] -> setarg(4, E6, B6) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(A6, J) ) ), known(S) ) ; C=functor(F6, G6, H6), ( 'chr newvia'( [ F6, G6, H6 ], I6) -> get_attr(I6, guard_entailment, J6), J6=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, K6, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', K6) ), 'chr sbag_member'(L6, K6), L6=suspension(_, active, _, _, M6, N6, O6), M6==F6, N6==G6, O6==H6, !, ( var(J) -> true ; J=suspension(_, P6, _, _, Q6, R6), setarg(2, J, removed), ( P6==not_stored_yet -> S6=[] ; term_variables(term(Q6, R6), S6), ( arg(4, J, T6), ( var(T6) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', U6), U6=[_|V6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', V6), ( V6=[W6|_] -> setarg(4, W6, _) ; true ) ; T6=[_, _|V6], setarg(2, T6, V6), ( V6=[W6|_] -> setarg(4, W6, T6) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(S6, J) ) ), known(S) ) ; C= (X6\=Y6), ( 'chr newvia_2'(X6, Y6, Z6) -> get_attr(Z6, guard_entailment, A7), A7=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, B7, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', B7) ), 'chr sbag_member'(C7, B7), C7=suspension(_, active, _, _, _, D7, E7), D7==X6, E7==Y6, !, ( var(J) -> true ; J=suspension(_, F7, _, _, G7, H7), setarg(2, J, removed), ( F7==not_stored_yet -> I7=[] ; term_variables(term(G7, H7), I7), ( arg(4, J, J7), ( var(J7) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', K7), K7=[_|L7], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', L7), ( L7=[M7|_] -> setarg(4, M7, _) ; true ) ; J7=[_, _|L7], setarg(2, J7, L7), ( L7=[M7|_] -> setarg(4, M7, J7) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(I7, J) ) ), known(S) ) ; C= (N7=O7), ( 'chr newvia_2'(N7, O7, P7) -> get_attr(P7, guard_entailment, Q7), Q7=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, R7, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', R7) ), 'chr sbag_member'(S7, R7), S7=suspension(_, active, _, _, T7, U7), T7==N7, U7==O7, !, ( var(J) -> true ; J=suspension(_, V7, _, _, W7, X7), setarg(2, J, removed), ( V7==not_stored_yet -> Y7=[] ; term_variables(term(W7, X7), Y7), ( arg(4, J, Z7), ( var(Z7) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', A8), A8=[_|B8], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', B8), ( B8=[C8|_] -> setarg(4, C8, _) ; true ) ; Z7=[_, _|B8], setarg(2, Z7, B8), ( B8=[C8|_] -> setarg(4, C8, Z7) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(Y7, J) ) ), known(S) ) ; C= (D8\==E8), ( 'chr newvia_2'(D8, E8, F8) -> get_attr(F8, guard_entailment, G8), G8=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, H8, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', H8) ), 'chr sbag_member'(I8, H8), I8=suspension(_, active, _, _, _, J8, K8), J8==D8, K8==E8, !, ( var(J) -> true ; J=suspension(_, L8, _, _, M8, N8), setarg(2, J, removed), ( L8==not_stored_yet -> O8=[] ; term_variables(term(M8, N8), O8), ( arg(4, J, P8), ( var(P8) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', Q8), Q8=[_|R8], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', R8), ( R8=[S8|_] -> setarg(4, S8, _) ; true ) ; P8=[_, _|R8], setarg(2, P8, R8), ( R8=[S8|_] -> setarg(4, S8, P8) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(O8, J) ) ), known(S) ) ; C= (T8==U8), ( 'chr newvia_2'(T8, U8, V8) -> get_attr(V8, guard_entailment, W8), W8=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, X8, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', X8) ), 'chr sbag_member'(Y8, X8), Y8=suspension(_, active, _, _, _, Z8, A9), Z8==T8, A9==U8, !, ( var(J) -> true ; J=suspension(_, B9, _, _, C9, D9), setarg(2, J, removed), ( B9==not_stored_yet -> E9=[] ; term_variables(term(C9, D9), E9), ( arg(4, J, F9), ( var(F9) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', G9), G9=[_|H9], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', H9), ( H9=[I9|_] -> setarg(4, I9, _) ; true ) ; F9=[_, _|H9], setarg(2, F9, H9), ( H9=[I9|_] -> setarg(4, I9, F9) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(E9, J) ) ), known(S) ) ; C= (J9= get_attr(L9, guard_entailment, M9), M9=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, N9, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= true ; J=suspension(_, R9, _, _, S9, T9), setarg(2, J, removed), ( R9==not_stored_yet -> U9=[] ; term_variables(term(S9, T9), U9), ( arg(4, J, V9), ( var(V9) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', W9), W9=[_|X9], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', X9), ( X9=[Y9|_] -> setarg(4, Y9, _) ; true ) ; V9=[_, _|X9], setarg(2, V9, X9), ( X9=[Y9|_] -> setarg(4, Y9, V9) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(U9, J) ) ), known(S) ) ; C= (Z9=:=A10), ( 'chr newvia_2'(Z9, A10, B10) -> get_attr(B10, guard_entailment, C10), C10=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D10) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', D10) ), 'chr sbag_member'(E10, D10), E10=suspension(_, active, _, _, _, F10, G10), F10==Z9, G10==A10, !, ( var(J) -> true ; J=suspension(_, H10, _, _, I10, J10), setarg(2, J, removed), ( H10==not_stored_yet -> K10=[] ; term_variables(term(I10, J10), K10), ( arg(4, J, L10), ( var(L10) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', M10), M10=[_|N10], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', N10), ( N10=[O10|_] -> setarg(4, O10, _) ; true ) ; L10=[_, _|N10], setarg(2, L10, N10), ( N10=[O10|_] -> setarg(4, O10, L10) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(K10, J) ) ), known(S) ) ; ( 'chr newvia_1'(C, P10) -> get_attr(P10, guard_entailment, Q10), Q10=v(_, _, R10, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', R10) ), 'chr sbag_member'(S10, R10), S10=suspension(_, active, _, _, T10), T10==C, !, ( var(J) -> true ; J=suspension(_, U10, _, _, V10, W10), setarg(2, J, removed), ( U10==not_stored_yet -> X10=[] ; term_variables(term(V10, W10), X10), ( arg(4, J, Y10), ( var(Y10) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', Z10), Z10=[_|A11], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', A11), ( A11=[B11|_] -> setarg(4, B11, _) ; true ) ; Y10=[_, _|A11], setarg(2, Y10, A11), ( A11=[B11|_] -> setarg(4, B11, Y10) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(X10, J) ) ), known(S) ). 'known/1_1_$special_;/2___2__2'(A, P, G) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, F), F==A, !, ( var(G) -> true ; G=suspension(_, H, _, _, I, J), setarg(2, G, removed), ( H==not_stored_yet -> K=[] ; term_variables(term(I, J), K), ( arg(4, G, L), ( var(L) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', M), M=[_|N], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', N), ( N=[O|_] -> setarg(4, O, _) ; true ) ; L=[_, _|N], setarg(2, L, N), ( N=[O|_] -> setarg(4, O, L) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(K, G) ) ), known(P). 'known/1_1_$special_;/2___2__2'(A, Q, H) :- nonvar(A), A= (B, _), ( 'chr newvia_1'(B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, G), G==B, !, ( var(H) -> true ; H=suspension(_, I, _, _, J, K), setarg(2, H, removed), ( I==not_stored_yet -> L=[] ; term_variables(term(J, K), L), ( arg(4, H, M), ( var(M) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', N), N=[_|O], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', O), ( O=[P|_] -> setarg(4, P, _) ; true ) ; M=[_, _|O], setarg(2, M, O), ( O=[P|_] -> setarg(4, P, M) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(L, H) ) ), known(Q). 'known/1_1_$special_;/2___2__2'(A, K, B) :- A==fail, !, ( var(B) -> true ; B=suspension(_, C, _, _, D, E), setarg(2, B, removed), ( C==not_stored_yet -> F=[] ; term_variables(term(D, E), F), ( arg(4, B, G), ( var(G) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', H), H=[_|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', I), ( I=[J|_] -> setarg(4, J, _) ; true ) ; G=[_, _|I], setarg(2, G, I), ( I=[J|_] -> setarg(4, J, G) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(F, B) ) ), known(K). 'known/1_1_$special_;/2___2__2'(K, A, B) :- A==fail, !, ( var(B) -> true ; B=suspension(_, C, _, _, D, E), setarg(2, B, removed), ( C==not_stored_yet -> F=[] ; term_variables(term(D, E), F), ( arg(4, B, G), ( var(G) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', H), H=[_|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', I), ( I=[J|_] -> setarg(4, J, _) ; true ) ; G=[_, _|I], setarg(2, G, I), ( I=[J|_] -> setarg(4, J, G) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(F, B) ) ), known(K). 'known/1_1_$special_;/2___2__2'(A, _, B) :- A==true, !, ( var(B) -> true ; B=suspension(_, C, _, _, D, E), setarg(2, B, removed), ( C==not_stored_yet -> F=[] ; term_variables(term(D, E), F), ( arg(4, B, G), ( var(G) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', H), H=[_|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', I), ( I=[J|_] -> setarg(4, J, _) ; true ) ; G=[_, _|I], setarg(2, G, I), ( I=[J|_] -> setarg(4, J, G) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(F, B) ) ). 'known/1_1_$special_;/2___2__2'(_, A, B) :- A==true, !, ( var(B) -> true ; B=suspension(_, C, _, _, D, E), setarg(2, B, removed), ( C==not_stored_yet -> F=[] ; term_variables(term(D, E), F), ( arg(4, B, G), ( var(G) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', H), H=[_|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', I), ( I=[J|_] -> setarg(4, J, _) ; true ) ; G=[_, _|I], setarg(2, G, I), ( I=[J|_] -> setarg(4, J, G) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(F, B) ) ). 'known/1_1_$special_;/2___2__2'(A, B1, I) :- ( nonvar(A), A= (\+B), nonvar(B), B=functor(C, R, S) ), ( ( ( 'chr newvia_1'(C, D) -> get_attr(D, guard_entailment, E), E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', F) ), 'chr sbag_member'(G, F), G=suspension(_, active, _, _, H, _, _), H==C, !, ( var(I) -> true ; I=suspension(_, J, _, _, K, L), setarg(2, I, removed), ( J==not_stored_yet -> M=[] ; term_variables(term(K, L), M), ( arg(4, I, N), ( var(N) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', O), O=[_|P], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', P), ( P=[Q|_] -> setarg(4, Q, _) ; true ) ; N=[_, _|P], setarg(2, N, P), ( P=[Q|_] -> setarg(4, Q, N) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(M, I) ) ) ; nonvar(C), 'chr lock'(C), 'chr lock'(R), 'chr lock'(S), functor(C, R, S), 'chr unlock'(C), 'chr unlock'(R), 'chr unlock'(S), !, ( var(I) -> true ; I=suspension(_, T, _, _, U, V), setarg(2, I, removed), ( T==not_stored_yet -> W=[] ; term_variables(term(U, V), W), ( arg(4, I, X), ( var(X) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', Y), Y=[_|Z], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', Z), ( Z=[A1|_] -> setarg(4, A1, _) ; true ) ; X=[_, _|Z], setarg(2, X, Z), ( Z=[A1|_] -> setarg(4, A1, X) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(W, I) ) ), known(B1) ) ; nonvar(C), 'chr lock'(C), 'chr lock'(R), 'chr lock'(S), \+ functor(C, R, S), 'chr unlock'(C), 'chr unlock'(R), 'chr unlock'(S), !, ( var(I) -> true ; I=suspension(_, C1, _, _, D1, E1), setarg(2, I, removed), ( C1==not_stored_yet -> F1=[] ; term_variables(term(D1, E1), F1), ( arg(4, I, G1), ( var(G1) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', H1), H1=[_|I1], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', I1), ( I1=[J1|_] -> setarg(4, J1, _) ; true ) ; G1=[_, _|I1], setarg(2, G1, I1), ( I1=[J1|_] -> setarg(4, J1, G1) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(F1, I) ) ) ). 'known/1_1_$special_;/2___2__2'(_, _, A) :- arg(2, A, D), setarg(2, A, active), arg(3, A, B), C is B+1, setarg(3, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, E, F), term_variables(term(E, F), G), 'chr none_locked'(G), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', H), I=[A|H], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', I), ( H=[J|_] -> setarg(4, J, I) ; true ) ), 'attach_known/1_1_$special_;/2___2'(G, A) ; true ). 'known/1_1_$special_nonvar/1'(A) :- 'known/1_1_$special_nonvar/1___1__0'(A, _). 'known/1_1_$special_nonvar/1___1__0'(A, G) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, F), F==A, !, ( var(G) -> true ; G=suspension(_, H, _, _, I), setarg(2, G, removed), ( H==not_stored_yet -> J=[] ; term_variables(I, J), ( arg(4, G, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', M), ( M=[N|_] -> setarg(4, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(4, N, K) ; true ) ) ), 'detach_known/1_1_$special_nonvar/1___1'(J, G) ) ). 'known/1_1_$special_nonvar/1___1__0'(_, C) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !, ( var(C) -> true ; C=suspension(_, D, _, _, E), setarg(2, C, removed), ( D==not_stored_yet -> F=[] ; term_variables(E, F), ( arg(4, C, G), ( var(G) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', H), H=[_|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', I), ( I=[J|_] -> setarg(4, J, _) ; true ) ; G=[_, _|I], setarg(2, G, I), ( I=[J|_] -> setarg(4, J, G) ; true ) ) ), 'detach_known/1_1_$special_nonvar/1___1'(F, C) ) ). 'known/1_1_$special_nonvar/1___1__0'(A, N) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, F), nonvar(F), F=nonvar(G), G==A, !, E=suspension(_, _, _, _, H), setarg(2, E, removed), term_variables(H, M), arg(4, E, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(M, E), ( var(N) -> true ; N=suspension(_, O, _, _, P), setarg(2, N, removed), ( O==not_stored_yet -> Q=[] ; term_variables(P, Q), ( arg(4, N, R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', T), ( T=[U|_] -> setarg(4, U, _) ; true ) ; R=[_, _|T], setarg(2, R, T), ( T=[U|_] -> setarg(4, U, R) ; true ) ) ), 'detach_known/1_1_$special_nonvar/1___1'(Q, N) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_nonvar/1___1__0'(A, M) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, F), F==A, !, E=suspension(_, _, _, _, G), setarg(2, E, removed), term_variables(G, L), arg(4, E, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', J), ( J=[K|_] -> setarg(4, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(4, K, H) ; true ) ), 'detach_known/1_1_$special_var/1___1'(L, E), ( var(M) -> true ; M=suspension(_, N, _, _, O), setarg(2, M, removed), ( N==not_stored_yet -> P=[] ; term_variables(O, P), ( arg(4, M, Q), ( var(Q) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', R), R=[_|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', S), ( S=[T|_] -> setarg(4, T, _) ; true ) ; Q=[_, _|S], setarg(2, Q, S), ( S=[T|_] -> setarg(4, T, Q) ; true ) ) ), 'detach_known/1_1_$special_nonvar/1___1'(P, M) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_nonvar/1___1__0'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, ( var(E) -> E=suspension(F, not_stored_yet, 0, _, A), 'chr gen_id'(F) ; true ), 'known/1_1_$special_nonvar/1___1__0__0__7'(D, A, E). 'known/1_1_$special_nonvar/1___1__0__0__7'([], A, B) :- 'known/1_1_$special_nonvar/1___1__1'(A, B). 'known/1_1_$special_nonvar/1___1__0__0__7'([A|W], E, M) :- ( A=suspension(_, active, _, _, B, V), nonvar(B), B= (\+C), nonvar(C), C=nonvar(D), D==E -> ( A=suspension(_, _, _, _, F, G), setarg(2, A, removed), term_variables(term(F, G), L), ( arg(4, A, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J), ( J=[K|_] -> setarg(4, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(4, K, H) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(L, A) ), ( arg(2, M, P), setarg(2, M, active), ( arg(3, M, N), O is N+1, setarg(3, M, O) ), ( P==not_stored_yet -> M=suspension(_, _, _, _, Q), term_variables(Q, R), 'chr none_locked'(R), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', S), T=[M|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', T), ( S=[U|_] -> setarg(4, U, T) ; true ) ), 'attach_known/1_1_$special_nonvar/1___1'(R, M) ; true ) ), known(V), ( M=suspension(_, active, O, _, _) -> setarg(2, M, inactive), 'known/1_1_$special_nonvar/1___1__0__0__7'(W, E, M) ; true ) ; 'known/1_1_$special_nonvar/1___1__0__0__7'(W, E, M) ). 'known/1_1_$special_nonvar/1___1__0'(B, A) :- ( var(A) -> A=suspension(C, not_stored_yet, 0, _, B), 'chr gen_id'(C) ; true ), 'known/1_1_$special_nonvar/1___1__1'(B, A). 'known/1_1_$special_nonvar/1___1__1'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, 'known/1_1_$special_nonvar/1___1__1__0__8'(D, A, E). 'known/1_1_$special_nonvar/1___1__1__0__8'([], A, B) :- 'known/1_1_$special_nonvar/1___1__2'(A, B). 'known/1_1_$special_nonvar/1___1__1__0__8'([A|X], F, N) :- ( A=suspension(_, active, _, _, B, W), nonvar(B), B= (C, _), nonvar(C), C= (\+D), nonvar(D), D=nonvar(E), E==F -> ( A=suspension(_, _, _, _, G, H), setarg(2, A, removed), term_variables(term(G, H), M), ( arg(4, A, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(M, A) ), ( arg(2, N, Q), setarg(2, N, active), ( arg(3, N, O), P is O+1, setarg(3, N, P) ), ( Q==not_stored_yet -> N=suspension(_, _, _, _, R), term_variables(R, S), 'chr none_locked'(S), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', T), U=[N|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', U), ( T=[V|_] -> setarg(4, V, U) ; true ) ), 'attach_known/1_1_$special_nonvar/1___1'(S, N) ; true ) ), known(W), ( N=suspension(_, active, P, _, _) -> setarg(2, N, inactive), 'known/1_1_$special_nonvar/1___1__1__0__8'(X, F, N) ; true ) ; 'known/1_1_$special_nonvar/1___1__1__0__8'(X, F, N) ). 'known/1_1_$special_nonvar/1___1__1'(A, B) :- 'known/1_1_$special_nonvar/1___1__2'(A, B). 'known/1_1_$special_nonvar/1___1__2'(_, A) :- arg(2, A, D), setarg(2, A, active), arg(3, A, B), C is B+1, setarg(3, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, E), term_variables(E, F), 'chr none_locked'(F), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', G), H=[A|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', H), ( G=[I|_] -> setarg(4, I, H) ; true ) ), 'attach_known/1_1_$special_nonvar/1___1'(F, A) ; true ). 'known/1_1_$special_var/1'(A) :- 'known/1_1_$special_var/1___1__0'(A, _). 'known/1_1_$special_var/1___1__0'(A, G) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, F), F==A, !, ( var(G) -> true ; G=suspension(_, H, _, _, I), setarg(2, G, removed), ( H==not_stored_yet -> J=[] ; term_variables(I, J), ( arg(4, G, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', M), ( M=[N|_] -> setarg(4, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(4, N, K) ; true ) ) ), 'detach_known/1_1_$special_var/1___1'(J, G) ) ). 'known/1_1_$special_var/1___1__0'(_, C) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !, ( var(C) -> true ; C=suspension(_, D, _, _, E), setarg(2, C, removed), ( D==not_stored_yet -> F=[] ; term_variables(E, F), ( arg(4, C, G), ( var(G) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', H), H=[_|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', I), ( I=[J|_] -> setarg(4, J, _) ; true ) ; G=[_, _|I], setarg(2, G, I), ( I=[J|_] -> setarg(4, J, G) ; true ) ) ), 'detach_known/1_1_$special_var/1___1'(F, C) ) ). 'known/1_1_$special_var/1___1__0'(A, N) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, F), nonvar(F), F=var(G), G==A, !, E=suspension(_, _, _, _, H), setarg(2, E, removed), term_variables(H, M), arg(4, E, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(M, E), ( var(N) -> true ; N=suspension(_, O, _, _, P), setarg(2, N, removed), ( O==not_stored_yet -> Q=[] ; term_variables(P, Q), ( arg(4, N, R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', T), ( T=[U|_] -> setarg(4, U, _) ; true ) ; R=[_, _|T], setarg(2, R, T), ( T=[U|_] -> setarg(4, U, R) ; true ) ) ), 'detach_known/1_1_$special_var/1___1'(Q, N) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_var/1___1__0'(A, M) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, F), F==A, !, E=suspension(_, _, _, _, G), setarg(2, E, removed), term_variables(G, L), arg(4, E, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', J), ( J=[K|_] -> setarg(4, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(4, K, H) ; true ) ), 'detach_known/1_1_$special_nonvar/1___1'(L, E), ( var(M) -> true ; M=suspension(_, N, _, _, O), setarg(2, M, removed), ( N==not_stored_yet -> P=[] ; term_variables(O, P), ( arg(4, M, Q), ( var(Q) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', R), R=[_|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', S), ( S=[T|_] -> setarg(4, T, _) ; true ) ; Q=[_, _|S], setarg(2, Q, S), ( S=[T|_] -> setarg(4, T, Q) ; true ) ) ), 'detach_known/1_1_$special_var/1___1'(P, M) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_var/1___1__0'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, ( var(E) -> E=suspension(F, not_stored_yet, 0, _, A), 'chr gen_id'(F) ; true ), 'known/1_1_$special_var/1___1__0__0__7'(D, A, E). 'known/1_1_$special_var/1___1__0__0__7'([], A, B) :- 'known/1_1_$special_var/1___1__1'(A, B). 'known/1_1_$special_var/1___1__0__0__7'([A|W], E, M) :- ( A=suspension(_, active, _, _, B, V), nonvar(B), B= (\+C), nonvar(C), C=var(D), D==E -> ( A=suspension(_, _, _, _, F, G), setarg(2, A, removed), term_variables(term(F, G), L), ( arg(4, A, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J), ( J=[K|_] -> setarg(4, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(4, K, H) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(L, A) ), ( arg(2, M, P), setarg(2, M, active), ( arg(3, M, N), O is N+1, setarg(3, M, O) ), ( P==not_stored_yet -> M=suspension(_, _, _, _, Q), term_variables(Q, R), 'chr none_locked'(R), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', S), T=[M|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', T), ( S=[U|_] -> setarg(4, U, T) ; true ) ), 'attach_known/1_1_$special_var/1___1'(R, M) ; true ) ), known(V), ( M=suspension(_, active, O, _, _) -> setarg(2, M, inactive), 'known/1_1_$special_var/1___1__0__0__7'(W, E, M) ; true ) ; 'known/1_1_$special_var/1___1__0__0__7'(W, E, M) ). 'known/1_1_$special_var/1___1__0'(B, A) :- ( var(A) -> A=suspension(C, not_stored_yet, 0, _, B), 'chr gen_id'(C) ; true ), 'known/1_1_$special_var/1___1__1'(B, A). 'known/1_1_$special_var/1___1__1'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, 'known/1_1_$special_var/1___1__1__0__8'(D, A, E). 'known/1_1_$special_var/1___1__1__0__8'([], A, B) :- 'known/1_1_$special_var/1___1__2'(A, B). 'known/1_1_$special_var/1___1__1__0__8'([A|X], F, N) :- ( A=suspension(_, active, _, _, B, W), nonvar(B), B= (C, _), nonvar(C), C= (\+D), nonvar(D), D=var(E), E==F -> ( A=suspension(_, _, _, _, G, H), setarg(2, A, removed), term_variables(term(G, H), M), ( arg(4, A, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(M, A) ), ( arg(2, N, Q), setarg(2, N, active), ( arg(3, N, O), P is O+1, setarg(3, N, P) ), ( Q==not_stored_yet -> N=suspension(_, _, _, _, R), term_variables(R, S), 'chr none_locked'(S), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', T), U=[N|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', U), ( T=[V|_] -> setarg(4, V, U) ; true ) ), 'attach_known/1_1_$special_var/1___1'(S, N) ; true ) ), known(W), ( N=suspension(_, active, P, _, _) -> setarg(2, N, inactive), 'known/1_1_$special_var/1___1__1__0__8'(X, F, N) ; true ) ; 'known/1_1_$special_var/1___1__1__0__8'(X, F, N) ). 'known/1_1_$special_var/1___1__1'(A, B) :- 'known/1_1_$special_var/1___1__2'(A, B). 'known/1_1_$special_var/1___1__2'(_, A) :- arg(2, A, D), setarg(2, A, active), arg(3, A, B), C is B+1, setarg(3, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, E), term_variables(E, F), 'chr none_locked'(F), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', G), H=[A|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', H), ( G=[I|_] -> setarg(4, I, H) ; true ) ), 'attach_known/1_1_$special_var/1___1'(F, A) ; true ). 'known/1_1_$special_atom/1'(A) :- 'known/1_1_$special_atom/1___1__0'(A, _). 'known/1_1_$special_atom/1___1__0'(A, G) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, _, F), F==A, !, ( var(G) -> true ; G=suspension(_, H, _, _, _, I), setarg(2, G, removed), ( H==not_stored_yet -> J=[] ; term_variables(I, J), ( arg(5, G, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', M), ( M=[N|_] -> setarg(5, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(5, N, K) ; true ) ) ), 'detach_known/1_1_$special_atom/1___1'(J, G) ) ). 'known/1_1_$special_atom/1___1__0'(_, C) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !, ( var(C) -> true ; C=suspension(_, D, _, _, _, E), setarg(2, C, removed), ( D==not_stored_yet -> F=[] ; term_variables(E, F), ( arg(5, C, G), ( var(G) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', H), H=[_|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', I), ( I=[J|_] -> setarg(5, J, _) ; true ) ; G=[_, _|I], setarg(2, G, I), ( I=[J|_] -> setarg(5, J, G) ; true ) ) ), 'detach_known/1_1_$special_atom/1___1'(F, C) ) ). 'known/1_1_$special_atom/1___1__0'(A, N) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, F), nonvar(F), F=atom(G), G==A, !, E=suspension(_, _, _, _, H), setarg(2, E, removed), term_variables(H, M), arg(4, E, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(M, E), ( var(N) -> true ; N=suspension(_, O, _, _, _, P), setarg(2, N, removed), ( O==not_stored_yet -> Q=[] ; term_variables(P, Q), ( arg(5, N, R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', T), ( T=[U|_] -> setarg(5, U, _) ; true ) ; R=[_, _|T], setarg(2, R, T), ( T=[U|_] -> setarg(5, U, R) ; true ) ) ), 'detach_known/1_1_$special_atom/1___1'(Q, N) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_atom/1___1__0'(B, A) :- ( var(A) -> A=suspension(C, not_stored_yet, t, 0, _, B), 'chr gen_id'(C) ; true ), ( '$novel_production'(A, 239), !, '$extend_history'(A, 239), arg(2, A, F), setarg(2, A, active), arg(4, A, D), E is D+1, setarg(4, A, E), ( F==not_stored_yet -> A=suspension(_, _, _, _, _, G), term_variables(G, H), 'chr none_locked'(H), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', I), J=[A|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', J), ( I=[K|_] -> setarg(5, K, J) ; true ) ), 'attach_known/1_1_$special_atom/1___1'(H, A) ; true ), 'known/1_1_$special_nonvar/1'(B), ( A=suspension(_, active, _, E, _, _) -> setarg(2, A, inactive), 'known/1_1_$special_atom/1___1__1'(B, A) ; true ) ; 'known/1_1_$special_atom/1___1__1'(B, A) ). 'known/1_1_$special_atom/1___1__1'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, 'known/1_1_$special_atom/1___1__1__0__7'(D, A, E). 'known/1_1_$special_atom/1___1__1__0__7'([], A, B) :- 'known/1_1_$special_atom/1___1__2'(A, B). 'known/1_1_$special_atom/1___1__1__0__7'([A|W], E, M) :- ( A=suspension(_, active, _, _, B, V), nonvar(B), B= (\+C), nonvar(C), C=atom(D), D==E -> ( A=suspension(_, _, _, _, F, G), setarg(2, A, removed), term_variables(term(F, G), L), ( arg(4, A, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J), ( J=[K|_] -> setarg(4, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(4, K, H) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(L, A) ), ( arg(2, M, P), setarg(2, M, active), ( arg(4, M, N), O is N+1, setarg(4, M, O) ), ( P==not_stored_yet -> M=suspension(_, _, _, _, _, Q), term_variables(Q, R), 'chr none_locked'(R), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', S), T=[M|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', T), ( S=[U|_] -> setarg(5, U, T) ; true ) ), 'attach_known/1_1_$special_atom/1___1'(R, M) ; true ) ), known(V), ( M=suspension(_, active, _, O, _, _) -> setarg(2, M, inactive), 'known/1_1_$special_atom/1___1__1__0__7'(W, E, M) ; true ) ; 'known/1_1_$special_atom/1___1__1__0__7'(W, E, M) ). 'known/1_1_$special_atom/1___1__1'(A, B) :- 'known/1_1_$special_atom/1___1__2'(A, B). 'known/1_1_$special_atom/1___1__2'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, 'known/1_1_$special_atom/1___1__2__0__8'(D, A, E). 'known/1_1_$special_atom/1___1__2__0__8'([], A, B) :- 'known/1_1_$special_atom/1___1__3'(A, B). 'known/1_1_$special_atom/1___1__2__0__8'([A|X], F, N) :- ( A=suspension(_, active, _, _, B, W), nonvar(B), B= (C, _), nonvar(C), C= (\+D), nonvar(D), D=atom(E), E==F -> ( A=suspension(_, _, _, _, G, H), setarg(2, A, removed), term_variables(term(G, H), M), ( arg(4, A, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(M, A) ), ( arg(2, N, Q), setarg(2, N, active), ( arg(4, N, O), P is O+1, setarg(4, N, P) ), ( Q==not_stored_yet -> N=suspension(_, _, _, _, _, R), term_variables(R, S), 'chr none_locked'(S), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', T), U=[N|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', U), ( T=[V|_] -> setarg(5, V, U) ; true ) ), 'attach_known/1_1_$special_atom/1___1'(S, N) ; true ) ), known(W), ( N=suspension(_, active, _, P, _, _) -> setarg(2, N, inactive), 'known/1_1_$special_atom/1___1__2__0__8'(X, F, N) ; true ) ; 'known/1_1_$special_atom/1___1__2__0__8'(X, F, N) ). 'known/1_1_$special_atom/1___1__2'(A, B) :- 'known/1_1_$special_atom/1___1__3'(A, B). 'known/1_1_$special_atom/1___1__3'(_, A) :- arg(2, A, D), setarg(2, A, active), arg(4, A, B), C is B+1, setarg(4, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, _, E), term_variables(E, F), 'chr none_locked'(F), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', G), H=[A|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', H), ( G=[I|_] -> setarg(5, I, H) ; true ) ), 'attach_known/1_1_$special_atom/1___1'(F, A) ; true ). 'known/1_1_$special_atomic/1'(A) :- 'known/1_1_$special_atomic/1___1__0'(A, _). 'known/1_1_$special_atomic/1___1__0'(A, G) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, _, F), F==A, !, ( var(G) -> true ; G=suspension(_, H, _, _, _, I), setarg(2, G, removed), ( H==not_stored_yet -> J=[] ; term_variables(I, J), ( arg(5, G, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', M), ( M=[N|_] -> setarg(5, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(5, N, K) ; true ) ) ), 'detach_known/1_1_$special_atomic/1___1'(J, G) ) ). 'known/1_1_$special_atomic/1___1__0'(_, C) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !, ( var(C) -> true ; C=suspension(_, D, _, _, _, E), setarg(2, C, removed), ( D==not_stored_yet -> F=[] ; term_variables(E, F), ( arg(5, C, G), ( var(G) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', H), H=[_|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', I), ( I=[J|_] -> setarg(5, J, _) ; true ) ; G=[_, _|I], setarg(2, G, I), ( I=[J|_] -> setarg(5, J, G) ; true ) ) ), 'detach_known/1_1_$special_atomic/1___1'(F, C) ) ). 'known/1_1_$special_atomic/1___1__0'(A, N) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, F), nonvar(F), F=atomic(G), G==A, !, E=suspension(_, _, _, _, H), setarg(2, E, removed), term_variables(H, M), arg(4, E, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(M, E), ( var(N) -> true ; N=suspension(_, O, _, _, _, P), setarg(2, N, removed), ( O==not_stored_yet -> Q=[] ; term_variables(P, Q), ( arg(5, N, R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', T), ( T=[U|_] -> setarg(5, U, _) ; true ) ; R=[_, _|T], setarg(2, R, T), ( T=[U|_] -> setarg(5, U, R) ; true ) ) ), 'detach_known/1_1_$special_atomic/1___1'(Q, N) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_atomic/1___1__0'(B, A) :- ( var(A) -> A=suspension(C, not_stored_yet, t, 0, _, B), 'chr gen_id'(C) ; true ), ( '$novel_production'(A, 237), !, '$extend_history'(A, 237), arg(2, A, F), setarg(2, A, active), arg(4, A, D), E is D+1, setarg(4, A, E), ( F==not_stored_yet -> A=suspension(_, _, _, _, _, G), term_variables(G, H), 'chr none_locked'(H), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', I), J=[A|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', J), ( I=[K|_] -> setarg(5, K, J) ; true ) ), 'attach_known/1_1_$special_atomic/1___1'(H, A) ; true ), 'known/1_1_$special_nonvar/1'(B), ( A=suspension(_, active, _, E, _, _) -> setarg(2, A, inactive), 'known/1_1_$special_atomic/1___1__1'(B, A) ; true ) ; 'known/1_1_$special_atomic/1___1__1'(B, A) ). 'known/1_1_$special_atomic/1___1__1'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, 'known/1_1_$special_atomic/1___1__1__0__7'(D, A, E). 'known/1_1_$special_atomic/1___1__1__0__7'([], A, B) :- 'known/1_1_$special_atomic/1___1__2'(A, B). 'known/1_1_$special_atomic/1___1__1__0__7'([A|W], E, M) :- ( A=suspension(_, active, _, _, B, V), nonvar(B), B= (\+C), nonvar(C), C=atomic(D), D==E -> ( A=suspension(_, _, _, _, F, G), setarg(2, A, removed), term_variables(term(F, G), L), ( arg(4, A, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J), ( J=[K|_] -> setarg(4, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(4, K, H) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(L, A) ), ( arg(2, M, P), setarg(2, M, active), ( arg(4, M, N), O is N+1, setarg(4, M, O) ), ( P==not_stored_yet -> M=suspension(_, _, _, _, _, Q), term_variables(Q, R), 'chr none_locked'(R), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', S), T=[M|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', T), ( S=[U|_] -> setarg(5, U, T) ; true ) ), 'attach_known/1_1_$special_atomic/1___1'(R, M) ; true ) ), known(V), ( M=suspension(_, active, _, O, _, _) -> setarg(2, M, inactive), 'known/1_1_$special_atomic/1___1__1__0__7'(W, E, M) ; true ) ; 'known/1_1_$special_atomic/1___1__1__0__7'(W, E, M) ). 'known/1_1_$special_atomic/1___1__1'(A, B) :- 'known/1_1_$special_atomic/1___1__2'(A, B). 'known/1_1_$special_atomic/1___1__2'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, 'known/1_1_$special_atomic/1___1__2__0__8'(D, A, E). 'known/1_1_$special_atomic/1___1__2__0__8'([], A, B) :- 'known/1_1_$special_atomic/1___1__3'(A, B). 'known/1_1_$special_atomic/1___1__2__0__8'([A|X], F, N) :- ( A=suspension(_, active, _, _, B, W), nonvar(B), B= (C, _), nonvar(C), C= (\+D), nonvar(D), D=atomic(E), E==F -> ( A=suspension(_, _, _, _, G, H), setarg(2, A, removed), term_variables(term(G, H), M), ( arg(4, A, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(M, A) ), ( arg(2, N, Q), setarg(2, N, active), ( arg(4, N, O), P is O+1, setarg(4, N, P) ), ( Q==not_stored_yet -> N=suspension(_, _, _, _, _, R), term_variables(R, S), 'chr none_locked'(S), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', T), U=[N|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', U), ( T=[V|_] -> setarg(5, V, U) ; true ) ), 'attach_known/1_1_$special_atomic/1___1'(S, N) ; true ) ), known(W), ( N=suspension(_, active, _, P, _, _) -> setarg(2, N, inactive), 'known/1_1_$special_atomic/1___1__2__0__8'(X, F, N) ; true ) ; 'known/1_1_$special_atomic/1___1__2__0__8'(X, F, N) ). 'known/1_1_$special_atomic/1___1__2'(A, B) :- 'known/1_1_$special_atomic/1___1__3'(A, B). 'known/1_1_$special_atomic/1___1__3'(_, A) :- arg(2, A, D), setarg(2, A, active), arg(4, A, B), C is B+1, setarg(4, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, _, E), term_variables(E, F), 'chr none_locked'(F), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', G), H=[A|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', H), ( G=[I|_] -> setarg(5, I, H) ; true ) ), 'attach_known/1_1_$special_atomic/1___1'(F, A) ; true ). 'known/1_1_$special_compound/1'(A) :- 'known/1_1_$special_compound/1___1__0'(A, _). 'known/1_1_$special_compound/1___1__0'(A, G) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, _, F), F==A, !, ( var(G) -> true ; G=suspension(_, H, _, _, _, I), setarg(2, G, removed), ( H==not_stored_yet -> J=[] ; term_variables(I, J), ( arg(5, G, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', M), ( M=[N|_] -> setarg(5, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(5, N, K) ; true ) ) ), 'detach_known/1_1_$special_compound/1___1'(J, G) ) ). 'known/1_1_$special_compound/1___1__0'(_, C) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !, ( var(C) -> true ; C=suspension(_, D, _, _, _, E), setarg(2, C, removed), ( D==not_stored_yet -> F=[] ; term_variables(E, F), ( arg(5, C, G), ( var(G) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', H), H=[_|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', I), ( I=[J|_] -> setarg(5, J, _) ; true ) ; G=[_, _|I], setarg(2, G, I), ( I=[J|_] -> setarg(5, J, G) ; true ) ) ), 'detach_known/1_1_$special_compound/1___1'(F, C) ) ). 'known/1_1_$special_compound/1___1__0'(A, N) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, F), nonvar(F), F=compound(G), G==A, !, E=suspension(_, _, _, _, H), setarg(2, E, removed), term_variables(H, M), arg(4, E, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(M, E), ( var(N) -> true ; N=suspension(_, O, _, _, _, P), setarg(2, N, removed), ( O==not_stored_yet -> Q=[] ; term_variables(P, Q), ( arg(5, N, R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', T), ( T=[U|_] -> setarg(5, U, _) ; true ) ; R=[_, _|T], setarg(2, R, T), ( T=[U|_] -> setarg(5, U, R) ; true ) ) ), 'detach_known/1_1_$special_compound/1___1'(Q, N) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_compound/1___1__0'(B, A) :- ( var(A) -> A=suspension(C, not_stored_yet, t, 0, _, B), 'chr gen_id'(C) ; true ), ( '$novel_production'(A, 236), !, '$extend_history'(A, 236), arg(2, A, F), setarg(2, A, active), arg(4, A, D), E is D+1, setarg(4, A, E), ( F==not_stored_yet -> A=suspension(_, _, _, _, _, G), term_variables(G, H), 'chr none_locked'(H), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', I), J=[A|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', J), ( I=[K|_] -> setarg(5, K, J) ; true ) ), 'attach_known/1_1_$special_compound/1___1'(H, A) ; true ), 'known/1_1_$special_nonvar/1'(B), ( A=suspension(_, active, _, E, _, _) -> setarg(2, A, inactive), 'known/1_1_$special_compound/1___1__1'(B, A) ; true ) ; 'known/1_1_$special_compound/1___1__1'(B, A) ). 'known/1_1_$special_compound/1___1__1'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, 'known/1_1_$special_compound/1___1__1__0__7'(D, A, E). 'known/1_1_$special_compound/1___1__1__0__7'([], A, B) :- 'known/1_1_$special_compound/1___1__2'(A, B). 'known/1_1_$special_compound/1___1__1__0__7'([A|W], E, M) :- ( A=suspension(_, active, _, _, B, V), nonvar(B), B= (\+C), nonvar(C), C=compound(D), D==E -> ( A=suspension(_, _, _, _, F, G), setarg(2, A, removed), term_variables(term(F, G), L), ( arg(4, A, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J), ( J=[K|_] -> setarg(4, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(4, K, H) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(L, A) ), ( arg(2, M, P), setarg(2, M, active), ( arg(4, M, N), O is N+1, setarg(4, M, O) ), ( P==not_stored_yet -> M=suspension(_, _, _, _, _, Q), term_variables(Q, R), 'chr none_locked'(R), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', S), T=[M|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', T), ( S=[U|_] -> setarg(5, U, T) ; true ) ), 'attach_known/1_1_$special_compound/1___1'(R, M) ; true ) ), known(V), ( M=suspension(_, active, _, O, _, _) -> setarg(2, M, inactive), 'known/1_1_$special_compound/1___1__1__0__7'(W, E, M) ; true ) ; 'known/1_1_$special_compound/1___1__1__0__7'(W, E, M) ). 'known/1_1_$special_compound/1___1__1'(A, B) :- 'known/1_1_$special_compound/1___1__2'(A, B). 'known/1_1_$special_compound/1___1__2'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, 'known/1_1_$special_compound/1___1__2__0__8'(D, A, E). 'known/1_1_$special_compound/1___1__2__0__8'([], A, B) :- 'known/1_1_$special_compound/1___1__3'(A, B). 'known/1_1_$special_compound/1___1__2__0__8'([A|X], F, N) :- ( A=suspension(_, active, _, _, B, W), nonvar(B), B= (C, _), nonvar(C), C= (\+D), nonvar(D), D=compound(E), E==F -> ( A=suspension(_, _, _, _, G, H), setarg(2, A, removed), term_variables(term(G, H), M), ( arg(4, A, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(M, A) ), ( arg(2, N, Q), setarg(2, N, active), ( arg(4, N, O), P is O+1, setarg(4, N, P) ), ( Q==not_stored_yet -> N=suspension(_, _, _, _, _, R), term_variables(R, S), 'chr none_locked'(S), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', T), U=[N|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', U), ( T=[V|_] -> setarg(5, V, U) ; true ) ), 'attach_known/1_1_$special_compound/1___1'(S, N) ; true ) ), known(W), ( N=suspension(_, active, _, P, _, _) -> setarg(2, N, inactive), 'known/1_1_$special_compound/1___1__2__0__8'(X, F, N) ; true ) ; 'known/1_1_$special_compound/1___1__2__0__8'(X, F, N) ). 'known/1_1_$special_compound/1___1__2'(A, B) :- 'known/1_1_$special_compound/1___1__3'(A, B). 'known/1_1_$special_compound/1___1__3'(_, A) :- arg(2, A, D), setarg(2, A, active), arg(4, A, B), C is B+1, setarg(4, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, _, E), term_variables(E, F), 'chr none_locked'(F), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', G), H=[A|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', H), ( G=[I|_] -> setarg(5, I, H) ; true ) ), 'attach_known/1_1_$special_compound/1___1'(F, A) ; true ). 'known/1_1_$special_ground/1'(A) :- 'known/1_1_$special_ground/1___1__0'(A, _). 'known/1_1_$special_ground/1___1__0'(A, G) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, _, F), F==A, !, ( var(G) -> true ; G=suspension(_, H, _, _, _, I), setarg(2, G, removed), ( H==not_stored_yet -> J=[] ; term_variables(I, J), ( arg(5, G, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', M), ( M=[N|_] -> setarg(5, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(5, N, K) ; true ) ) ), 'detach_known/1_1_$special_ground/1___1'(J, G) ) ). 'known/1_1_$special_ground/1___1__0'(_, C) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !, ( var(C) -> true ; C=suspension(_, D, _, _, _, E), setarg(2, C, removed), ( D==not_stored_yet -> F=[] ; term_variables(E, F), ( arg(5, C, G), ( var(G) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', H), H=[_|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', I), ( I=[J|_] -> setarg(5, J, _) ; true ) ; G=[_, _|I], setarg(2, G, I), ( I=[J|_] -> setarg(5, J, G) ; true ) ) ), 'detach_known/1_1_$special_ground/1___1'(F, C) ) ). 'known/1_1_$special_ground/1___1__0'(A, N) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, F), nonvar(F), F=ground(G), G==A, !, E=suspension(_, _, _, _, H), setarg(2, E, removed), term_variables(H, M), arg(4, E, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(M, E), ( var(N) -> true ; N=suspension(_, O, _, _, _, P), setarg(2, N, removed), ( O==not_stored_yet -> Q=[] ; term_variables(P, Q), ( arg(5, N, R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', T), ( T=[U|_] -> setarg(5, U, _) ; true ) ; R=[_, _|T], setarg(2, R, T), ( T=[U|_] -> setarg(5, U, R) ; true ) ) ), 'detach_known/1_1_$special_ground/1___1'(Q, N) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_ground/1___1__0'(B, A) :- ( var(A) -> A=suspension(C, not_stored_yet, t, 0, _, B), 'chr gen_id'(C) ; true ), ( '$novel_production'(A, 235), !, '$extend_history'(A, 235), arg(2, A, F), setarg(2, A, active), arg(4, A, D), E is D+1, setarg(4, A, E), ( F==not_stored_yet -> A=suspension(_, _, _, _, _, G), term_variables(G, H), 'chr none_locked'(H), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', I), J=[A|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', J), ( I=[K|_] -> setarg(5, K, J) ; true ) ), 'attach_known/1_1_$special_ground/1___1'(H, A) ; true ), 'known/1_1_$special_nonvar/1'(B), ( A=suspension(_, active, _, E, _, _) -> setarg(2, A, inactive), 'known/1_1_$special_ground/1___1__1'(B, A) ; true ) ; 'known/1_1_$special_ground/1___1__1'(B, A) ). 'known/1_1_$special_ground/1___1__1'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, 'known/1_1_$special_ground/1___1__1__0__7'(D, A, E). 'known/1_1_$special_ground/1___1__1__0__7'([], A, B) :- 'known/1_1_$special_ground/1___1__2'(A, B). 'known/1_1_$special_ground/1___1__1__0__7'([A|W], E, M) :- ( A=suspension(_, active, _, _, B, V), nonvar(B), B= (\+C), nonvar(C), C=ground(D), D==E -> ( A=suspension(_, _, _, _, F, G), setarg(2, A, removed), term_variables(term(F, G), L), ( arg(4, A, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J), ( J=[K|_] -> setarg(4, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(4, K, H) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(L, A) ), ( arg(2, M, P), setarg(2, M, active), ( arg(4, M, N), O is N+1, setarg(4, M, O) ), ( P==not_stored_yet -> M=suspension(_, _, _, _, _, Q), term_variables(Q, R), 'chr none_locked'(R), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', S), T=[M|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', T), ( S=[U|_] -> setarg(5, U, T) ; true ) ), 'attach_known/1_1_$special_ground/1___1'(R, M) ; true ) ), known(V), ( M=suspension(_, active, _, O, _, _) -> setarg(2, M, inactive), 'known/1_1_$special_ground/1___1__1__0__7'(W, E, M) ; true ) ; 'known/1_1_$special_ground/1___1__1__0__7'(W, E, M) ). 'known/1_1_$special_ground/1___1__1'(A, B) :- 'known/1_1_$special_ground/1___1__2'(A, B). 'known/1_1_$special_ground/1___1__2'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, 'known/1_1_$special_ground/1___1__2__0__8'(D, A, E). 'known/1_1_$special_ground/1___1__2__0__8'([], A, B) :- 'known/1_1_$special_ground/1___1__3'(A, B). 'known/1_1_$special_ground/1___1__2__0__8'([A|X], F, N) :- ( A=suspension(_, active, _, _, B, W), nonvar(B), B= (C, _), nonvar(C), C= (\+D), nonvar(D), D=ground(E), E==F -> ( A=suspension(_, _, _, _, G, H), setarg(2, A, removed), term_variables(term(G, H), M), ( arg(4, A, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(M, A) ), ( arg(2, N, Q), setarg(2, N, active), ( arg(4, N, O), P is O+1, setarg(4, N, P) ), ( Q==not_stored_yet -> N=suspension(_, _, _, _, _, R), term_variables(R, S), 'chr none_locked'(S), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', T), U=[N|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', U), ( T=[V|_] -> setarg(5, V, U) ; true ) ), 'attach_known/1_1_$special_ground/1___1'(S, N) ; true ) ), known(W), ( N=suspension(_, active, _, P, _, _) -> setarg(2, N, inactive), 'known/1_1_$special_ground/1___1__2__0__8'(X, F, N) ; true ) ; 'known/1_1_$special_ground/1___1__2__0__8'(X, F, N) ). 'known/1_1_$special_ground/1___1__2'(A, B) :- 'known/1_1_$special_ground/1___1__3'(A, B). 'known/1_1_$special_ground/1___1__3'(_, A) :- arg(2, A, D), setarg(2, A, active), arg(4, A, B), C is B+1, setarg(4, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, _, E), term_variables(E, F), 'chr none_locked'(F), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', G), H=[A|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', H), ( G=[I|_] -> setarg(5, I, H) ; true ) ), 'attach_known/1_1_$special_ground/1___1'(F, A) ; true ). 'known/1_1_$special_integer/1'(A) :- 'known/1_1_$special_integer/1___1__0'(A, _). 'known/1_1_$special_integer/1___1__0'(A, G) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, _, F), F==A, !, ( var(G) -> true ; G=suspension(_, H, _, _, _, I), setarg(2, G, removed), ( H==not_stored_yet -> J=[] ; term_variables(I, J), ( arg(5, G, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', M), ( M=[N|_] -> setarg(5, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(5, N, K) ; true ) ) ), 'detach_known/1_1_$special_integer/1___1'(J, G) ) ). 'known/1_1_$special_integer/1___1__0'(_, C) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !, ( var(C) -> true ; C=suspension(_, D, _, _, _, E), setarg(2, C, removed), ( D==not_stored_yet -> F=[] ; term_variables(E, F), ( arg(5, C, G), ( var(G) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', H), H=[_|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', I), ( I=[J|_] -> setarg(5, J, _) ; true ) ; G=[_, _|I], setarg(2, G, I), ( I=[J|_] -> setarg(5, J, G) ; true ) ) ), 'detach_known/1_1_$special_integer/1___1'(F, C) ) ). 'known/1_1_$special_integer/1___1__0'(A, B) :- nonvar(A), \+ integer(A), !, ( var(B) -> true ; B=suspension(_, C, _, _, _, D), setarg(2, B, removed), ( C==not_stored_yet -> E=[] ; term_variables(D, E), ( arg(5, B, F), ( var(F) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', G), G=[_|H], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', H), ( H=[I|_] -> setarg(5, I, _) ; true ) ; F=[_, _|H], setarg(2, F, H), ( H=[I|_] -> setarg(5, I, F) ; true ) ) ), 'detach_known/1_1_$special_integer/1___1'(E, B) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_integer/1___1__0'(B, A) :- ( var(A) -> A=suspension(C, not_stored_yet, t, 0, _, B), 'chr gen_id'(C) ; true ), ( '$novel_production'(A, 199), !, '$extend_history'(A, 199), arg(2, A, F), setarg(2, A, active), arg(4, A, D), E is D+1, setarg(4, A, E), ( F==not_stored_yet -> A=suspension(_, _, _, _, _, G), term_variables(G, H), 'chr none_locked'(H), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', I), J=[A|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', J), ( I=[K|_] -> setarg(5, K, J) ; true ) ), 'attach_known/1_1_$special_integer/1___1'(H, A) ; true ), 'known/1_1_$special_number/1'(B), ( A=suspension(_, active, _, E, _, _) -> setarg(2, A, inactive), 'known/1_1_$special_integer/1___1__1'(B, A) ; true ) ; 'known/1_1_$special_integer/1___1__1'(B, A) ). 'known/1_1_$special_integer/1___1__1'(A, N) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, F), nonvar(F), F=integer(G), G==A, !, E=suspension(_, _, _, _, H), setarg(2, E, removed), term_variables(H, M), arg(4, E, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(M, E), ( var(N) -> true ; N=suspension(_, O, _, _, _, P), setarg(2, N, removed), ( O==not_stored_yet -> Q=[] ; term_variables(P, Q), ( arg(5, N, R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', T), ( T=[U|_] -> setarg(5, U, _) ; true ) ; R=[_, _|T], setarg(2, R, T), ( T=[U|_] -> setarg(5, U, R) ; true ) ) ), 'detach_known/1_1_$special_integer/1___1'(Q, N) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_integer/1___1__1'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, 'known/1_1_$special_integer/1___1__1__0__8'(D, A, E). 'known/1_1_$special_integer/1___1__1__0__8'([], A, B) :- 'known/1_1_$special_integer/1___1__2'(A, B). 'known/1_1_$special_integer/1___1__1__0__8'([A|W], E, M) :- ( A=suspension(_, active, _, _, B, V), nonvar(B), B= (\+C), nonvar(C), C=integer(D), D==E -> ( A=suspension(_, _, _, _, F, G), setarg(2, A, removed), term_variables(term(F, G), L), ( arg(4, A, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J), ( J=[K|_] -> setarg(4, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(4, K, H) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(L, A) ), ( arg(2, M, P), setarg(2, M, active), ( arg(4, M, N), O is N+1, setarg(4, M, O) ), ( P==not_stored_yet -> M=suspension(_, _, _, _, _, Q), term_variables(Q, R), 'chr none_locked'(R), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', S), T=[M|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', T), ( S=[U|_] -> setarg(5, U, T) ; true ) ), 'attach_known/1_1_$special_integer/1___1'(R, M) ; true ) ), known(V), ( M=suspension(_, active, _, O, _, _) -> setarg(2, M, inactive), 'known/1_1_$special_integer/1___1__1__0__8'(W, E, M) ; true ) ; 'known/1_1_$special_integer/1___1__1__0__8'(W, E, M) ). 'known/1_1_$special_integer/1___1__1'(A, B) :- 'known/1_1_$special_integer/1___1__2'(A, B). 'known/1_1_$special_integer/1___1__2'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, 'known/1_1_$special_integer/1___1__2__0__9'(D, A, E). 'known/1_1_$special_integer/1___1__2__0__9'([], A, B) :- 'known/1_1_$special_integer/1___1__3'(A, B). 'known/1_1_$special_integer/1___1__2__0__9'([A|X], F, N) :- ( A=suspension(_, active, _, _, B, W), nonvar(B), B= (C, _), nonvar(C), C= (\+D), nonvar(D), D=integer(E), E==F -> ( A=suspension(_, _, _, _, G, H), setarg(2, A, removed), term_variables(term(G, H), M), ( arg(4, A, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(M, A) ), ( arg(2, N, Q), setarg(2, N, active), ( arg(4, N, O), P is O+1, setarg(4, N, P) ), ( Q==not_stored_yet -> N=suspension(_, _, _, _, _, R), term_variables(R, S), 'chr none_locked'(S), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', T), U=[N|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', U), ( T=[V|_] -> setarg(5, V, U) ; true ) ), 'attach_known/1_1_$special_integer/1___1'(S, N) ; true ) ), known(W), ( N=suspension(_, active, _, P, _, _) -> setarg(2, N, inactive), 'known/1_1_$special_integer/1___1__2__0__9'(X, F, N) ; true ) ; 'known/1_1_$special_integer/1___1__2__0__9'(X, F, N) ). 'known/1_1_$special_integer/1___1__2'(A, B) :- 'known/1_1_$special_integer/1___1__3'(A, B). 'known/1_1_$special_integer/1___1__3'(_, A) :- arg(2, A, D), setarg(2, A, active), arg(4, A, B), C is B+1, setarg(4, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, _, E), term_variables(E, F), 'chr none_locked'(F), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', G), H=[A|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', H), ( G=[I|_] -> setarg(5, I, H) ; true ) ), 'attach_known/1_1_$special_integer/1___1'(F, A) ; true ). 'known/1_1_$special_float/1'(A) :- 'known/1_1_$special_float/1___1__0'(A, _). 'known/1_1_$special_float/1___1__0'(A, G) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, _, F), F==A, !, ( var(G) -> true ; G=suspension(_, H, _, _, _, I), setarg(2, G, removed), ( H==not_stored_yet -> J=[] ; term_variables(I, J), ( arg(5, G, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', M), ( M=[N|_] -> setarg(5, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(5, N, K) ; true ) ) ), 'detach_known/1_1_$special_float/1___1'(J, G) ) ). 'known/1_1_$special_float/1___1__0'(_, C) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !, ( var(C) -> true ; C=suspension(_, D, _, _, _, E), setarg(2, C, removed), ( D==not_stored_yet -> F=[] ; term_variables(E, F), ( arg(5, C, G), ( var(G) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', H), H=[_|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', I), ( I=[J|_] -> setarg(5, J, _) ; true ) ; G=[_, _|I], setarg(2, G, I), ( I=[J|_] -> setarg(5, J, G) ; true ) ) ), 'detach_known/1_1_$special_float/1___1'(F, C) ) ). 'known/1_1_$special_float/1___1__0'(A, B) :- nonvar(A), \+ float(A), !, ( var(B) -> true ; B=suspension(_, C, _, _, _, D), setarg(2, B, removed), ( C==not_stored_yet -> E=[] ; term_variables(D, E), ( arg(5, B, F), ( var(F) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', G), G=[_|H], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', H), ( H=[I|_] -> setarg(5, I, _) ; true ) ; F=[_, _|H], setarg(2, F, H), ( H=[I|_] -> setarg(5, I, F) ; true ) ) ), 'detach_known/1_1_$special_float/1___1'(E, B) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_float/1___1__0'(B, A) :- ( var(A) -> A=suspension(C, not_stored_yet, t, 0, _, B), 'chr gen_id'(C) ; true ), ( '$novel_production'(A, 200), !, '$extend_history'(A, 200), arg(2, A, F), setarg(2, A, active), arg(4, A, D), E is D+1, setarg(4, A, E), ( F==not_stored_yet -> A=suspension(_, _, _, _, _, G), term_variables(G, H), 'chr none_locked'(H), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', I), J=[A|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', J), ( I=[K|_] -> setarg(5, K, J) ; true ) ), 'attach_known/1_1_$special_float/1___1'(H, A) ; true ), 'known/1_1_$special_number/1'(B), ( A=suspension(_, active, _, E, _, _) -> setarg(2, A, inactive), 'known/1_1_$special_float/1___1__1'(B, A) ; true ) ; 'known/1_1_$special_float/1___1__1'(B, A) ). 'known/1_1_$special_float/1___1__1'(A, N) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, F), nonvar(F), F=float(G), G==A, !, E=suspension(_, _, _, _, H), setarg(2, E, removed), term_variables(H, M), arg(4, E, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(M, E), ( var(N) -> true ; N=suspension(_, O, _, _, _, P), setarg(2, N, removed), ( O==not_stored_yet -> Q=[] ; term_variables(P, Q), ( arg(5, N, R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', T), ( T=[U|_] -> setarg(5, U, _) ; true ) ; R=[_, _|T], setarg(2, R, T), ( T=[U|_] -> setarg(5, U, R) ; true ) ) ), 'detach_known/1_1_$special_float/1___1'(Q, N) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_float/1___1__1'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, 'known/1_1_$special_float/1___1__1__0__8'(D, A, E). 'known/1_1_$special_float/1___1__1__0__8'([], A, B) :- 'known/1_1_$special_float/1___1__2'(A, B). 'known/1_1_$special_float/1___1__1__0__8'([A|W], E, M) :- ( A=suspension(_, active, _, _, B, V), nonvar(B), B= (\+C), nonvar(C), C=float(D), D==E -> ( A=suspension(_, _, _, _, F, G), setarg(2, A, removed), term_variables(term(F, G), L), ( arg(4, A, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J), ( J=[K|_] -> setarg(4, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(4, K, H) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(L, A) ), ( arg(2, M, P), setarg(2, M, active), ( arg(4, M, N), O is N+1, setarg(4, M, O) ), ( P==not_stored_yet -> M=suspension(_, _, _, _, _, Q), term_variables(Q, R), 'chr none_locked'(R), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', S), T=[M|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', T), ( S=[U|_] -> setarg(5, U, T) ; true ) ), 'attach_known/1_1_$special_float/1___1'(R, M) ; true ) ), known(V), ( M=suspension(_, active, _, O, _, _) -> setarg(2, M, inactive), 'known/1_1_$special_float/1___1__1__0__8'(W, E, M) ; true ) ; 'known/1_1_$special_float/1___1__1__0__8'(W, E, M) ). 'known/1_1_$special_float/1___1__1'(A, B) :- 'known/1_1_$special_float/1___1__2'(A, B). 'known/1_1_$special_float/1___1__2'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, 'known/1_1_$special_float/1___1__2__0__9'(D, A, E). 'known/1_1_$special_float/1___1__2__0__9'([], A, B) :- 'known/1_1_$special_float/1___1__3'(A, B). 'known/1_1_$special_float/1___1__2__0__9'([A|X], F, N) :- ( A=suspension(_, active, _, _, B, W), nonvar(B), B= (C, _), nonvar(C), C= (\+D), nonvar(D), D=float(E), E==F -> ( A=suspension(_, _, _, _, G, H), setarg(2, A, removed), term_variables(term(G, H), M), ( arg(4, A, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(M, A) ), ( arg(2, N, Q), setarg(2, N, active), ( arg(4, N, O), P is O+1, setarg(4, N, P) ), ( Q==not_stored_yet -> N=suspension(_, _, _, _, _, R), term_variables(R, S), 'chr none_locked'(S), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', T), U=[N|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', U), ( T=[V|_] -> setarg(5, V, U) ; true ) ), 'attach_known/1_1_$special_float/1___1'(S, N) ; true ) ), known(W), ( N=suspension(_, active, _, P, _, _) -> setarg(2, N, inactive), 'known/1_1_$special_float/1___1__2__0__9'(X, F, N) ; true ) ; 'known/1_1_$special_float/1___1__2__0__9'(X, F, N) ). 'known/1_1_$special_float/1___1__2'(A, B) :- 'known/1_1_$special_float/1___1__3'(A, B). 'known/1_1_$special_float/1___1__3'(_, A) :- arg(2, A, D), setarg(2, A, active), arg(4, A, B), C is B+1, setarg(4, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, _, E), term_variables(E, F), 'chr none_locked'(F), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', G), H=[A|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', H), ( G=[I|_] -> setarg(5, I, H) ; true ) ), 'attach_known/1_1_$special_float/1___1'(F, A) ; true ). 'known/1_1_$special_number/1'(A) :- 'known/1_1_$special_number/1___1__0'(A, _). 'known/1_1_$special_number/1___1__0'(A, G) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, _, F), F==A, !, ( var(G) -> true ; G=suspension(_, H, _, _, _, I), setarg(2, G, removed), ( H==not_stored_yet -> J=[] ; term_variables(I, J), ( arg(5, G, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', M), ( M=[N|_] -> setarg(5, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(5, N, K) ; true ) ) ), 'detach_known/1_1_$special_number/1___1'(J, G) ) ). 'known/1_1_$special_number/1___1__0'(_, C) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !, ( var(C) -> true ; C=suspension(_, D, _, _, _, E), setarg(2, C, removed), ( D==not_stored_yet -> F=[] ; term_variables(E, F), ( arg(5, C, G), ( var(G) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', H), H=[_|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', I), ( I=[J|_] -> setarg(5, J, _) ; true ) ; G=[_, _|I], setarg(2, G, I), ( I=[J|_] -> setarg(5, J, G) ; true ) ) ), 'detach_known/1_1_$special_number/1___1'(F, C) ) ). 'known/1_1_$special_number/1___1__0'(A, B) :- nonvar(A), \+ number(A), !, ( var(B) -> true ; B=suspension(_, C, _, _, _, D), setarg(2, B, removed), ( C==not_stored_yet -> E=[] ; term_variables(D, E), ( arg(5, B, F), ( var(F) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', G), G=[_|H], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', H), ( H=[I|_] -> setarg(5, I, _) ; true ) ; F=[_, _|H], setarg(2, F, H), ( H=[I|_] -> setarg(5, I, F) ; true ) ) ), 'detach_known/1_1_$special_number/1___1'(E, B) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_number/1___1__0'(A, N) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, F), nonvar(F), F=number(G), G==A, !, E=suspension(_, _, _, _, H), setarg(2, E, removed), term_variables(H, M), arg(4, E, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(M, E), ( var(N) -> true ; N=suspension(_, O, _, _, _, P), setarg(2, N, removed), ( O==not_stored_yet -> Q=[] ; term_variables(P, Q), ( arg(5, N, R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', T), ( T=[U|_] -> setarg(5, U, _) ; true ) ; R=[_, _|T], setarg(2, R, T), ( T=[U|_] -> setarg(5, U, R) ; true ) ) ), 'detach_known/1_1_$special_number/1___1'(Q, N) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_number/1___1__0'(B, A) :- ( var(A) -> A=suspension(C, not_stored_yet, t, 0, _, B), 'chr gen_id'(C) ; true ), ( '$novel_production'(A, 238), !, '$extend_history'(A, 238), arg(2, A, F), setarg(2, A, active), arg(4, A, D), E is D+1, setarg(4, A, E), ( F==not_stored_yet -> A=suspension(_, _, _, _, _, G), term_variables(G, H), 'chr none_locked'(H), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', I), J=[A|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', J), ( I=[K|_] -> setarg(5, K, J) ; true ) ), 'attach_known/1_1_$special_number/1___1'(H, A) ; true ), 'known/1_1_$special_nonvar/1'(B), ( A=suspension(_, active, _, E, _, _) -> setarg(2, A, inactive), 'known/1_1_$special_number/1___1__1'(B, A) ; true ) ; 'known/1_1_$special_number/1___1__1'(B, A) ). 'known/1_1_$special_number/1___1__1'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, 'known/1_1_$special_number/1___1__1__0__8'(D, A, E). 'known/1_1_$special_number/1___1__1__0__8'([], A, B) :- 'known/1_1_$special_number/1___1__2'(A, B). 'known/1_1_$special_number/1___1__1__0__8'([A|W], E, M) :- ( A=suspension(_, active, _, _, B, V), nonvar(B), B= (\+C), nonvar(C), C=number(D), D==E -> ( A=suspension(_, _, _, _, F, G), setarg(2, A, removed), term_variables(term(F, G), L), ( arg(4, A, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J), ( J=[K|_] -> setarg(4, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(4, K, H) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(L, A) ), ( arg(2, M, P), setarg(2, M, active), ( arg(4, M, N), O is N+1, setarg(4, M, O) ), ( P==not_stored_yet -> M=suspension(_, _, _, _, _, Q), term_variables(Q, R), 'chr none_locked'(R), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', S), T=[M|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', T), ( S=[U|_] -> setarg(5, U, T) ; true ) ), 'attach_known/1_1_$special_number/1___1'(R, M) ; true ) ), known(V), ( M=suspension(_, active, _, O, _, _) -> setarg(2, M, inactive), 'known/1_1_$special_number/1___1__1__0__8'(W, E, M) ; true ) ; 'known/1_1_$special_number/1___1__1__0__8'(W, E, M) ). 'known/1_1_$special_number/1___1__1'(A, B) :- 'known/1_1_$special_number/1___1__2'(A, B). 'known/1_1_$special_number/1___1__2'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, 'known/1_1_$special_number/1___1__2__0__9'(D, A, E). 'known/1_1_$special_number/1___1__2__0__9'([], A, B) :- 'known/1_1_$special_number/1___1__3'(A, B). 'known/1_1_$special_number/1___1__2__0__9'([A|X], F, N) :- ( A=suspension(_, active, _, _, B, W), nonvar(B), B= (C, _), nonvar(C), C= (\+D), nonvar(D), D=number(E), E==F -> ( A=suspension(_, _, _, _, G, H), setarg(2, A, removed), term_variables(term(G, H), M), ( arg(4, A, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(M, A) ), ( arg(2, N, Q), setarg(2, N, active), ( arg(4, N, O), P is O+1, setarg(4, N, P) ), ( Q==not_stored_yet -> N=suspension(_, _, _, _, _, R), term_variables(R, S), 'chr none_locked'(S), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', T), U=[N|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', U), ( T=[V|_] -> setarg(5, V, U) ; true ) ), 'attach_known/1_1_$special_number/1___1'(S, N) ; true ) ), known(W), ( N=suspension(_, active, _, P, _, _) -> setarg(2, N, inactive), 'known/1_1_$special_number/1___1__2__0__9'(X, F, N) ; true ) ; 'known/1_1_$special_number/1___1__2__0__9'(X, F, N) ). 'known/1_1_$special_number/1___1__2'(A, B) :- 'known/1_1_$special_number/1___1__3'(A, B). 'known/1_1_$special_number/1___1__3'(_, A) :- arg(2, A, D), setarg(2, A, active), arg(4, A, B), C is B+1, setarg(4, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, _, E), term_variables(E, F), 'chr none_locked'(F), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', G), H=[A|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', H), ( G=[I|_] -> setarg(5, I, H) ; true ) ), 'attach_known/1_1_$special_number/1___1'(F, A) ; true ). 'known/1_1_$special_=\\=/2'(A, B) :- 'known/1_1_$special_=\\=/2___2__0'(A, B, _). 'known/1_1_$special_=\\=/2___2__0'(A, B, I) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, _, G, H), G==A, H==B, !, ( var(I) -> true ; I=suspension(_, J, _, _, _, K, L), setarg(2, I, removed), ( J==not_stored_yet -> M=[] ; term_variables(term(K, L), M), ( arg(5, I, N), ( var(N) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', O), O=[_|P], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', P), ( P=[Q|_] -> setarg(5, Q, _) ; true ) ; N=[_, _|P], setarg(2, N, P), ( P=[Q|_] -> setarg(5, Q, N) ; true ) ) ), 'detach_known/1_1_$special_=\\=/2___2'(M, I) ) ). 'known/1_1_$special_=\\=/2___2__0'(_, _, C) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !, ( var(C) -> true ; C=suspension(_, D, _, _, _, E, F), setarg(2, C, removed), ( D==not_stored_yet -> G=[] ; term_variables(term(E, F), G), ( arg(5, C, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', J), ( J=[K|_] -> setarg(5, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(5, K, H) ; true ) ) ), 'detach_known/1_1_$special_=\\=/2___2'(G, C) ) ). 'known/1_1_$special_=\\=/2___2__0'(F, A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', D) ), !, ( var(E) -> E=suspension(G, not_stored_yet, t, 0, _, F, A), 'chr gen_id'(G) ; true ), 'known/1_1_$special_=\\=/2___2__0__0__5'(D, F, A, E). 'known/1_1_$special_=\\=/2___2__0__0__5'([], A, B, C) :- 'known/1_1_$special_=\\=/2___2__1'(A, B, C). 'known/1_1_$special_=\\=/2___2__0__0__5'([A|H], I, C, J) :- ( ( A=suspension(_, active, _, _, _, B, D), B==C ), ( 'chr newvia_2'(C, D, E) -> get_attr(E, guard_entailment, F), F=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, G, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= 'known/1_1_$special_=\\=/2___2__0__1__5'(G, D, A, H, I, C, J) ; 'known/1_1_$special_=\\=/2___2__0__0__5'(H, I, C, J) ). 'known/1_1_$special_=\\=/2___2__0__1__5'([], _, _, A, B, C, D) :- 'known/1_1_$special_=\\=/2___2__0__0__5'(A, B, C, D). 'known/1_1_$special_=\\=/2___2__0__1__5'([A|J], E, K, L, F, C, M) :- ( ( A=suspension(_, active, _, _, _, B, D), B==C, D==E ), ( 'chr newvia_2'(F, C, G) -> get_attr(G, guard_entailment, H), H=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, I, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= 'known/1_1_$special_=\\=/2___2__0__2__5'(I, A, J, E, K, L, F, C, M) ; 'known/1_1_$special_=\\=/2___2__0__1__5'(J, E, K, L, F, C, M) ). 'known/1_1_$special_=\\=/2___2__0__2__5'([], _, A, B, C, D, E, F, G) :- 'known/1_1_$special_=\\=/2___2__0__1__5'(A, B, C, D, E, F, G). 'known/1_1_$special_=\\=/2___2__0__2__5'([A|T], B, U, S, H, V, D, F, G) :- ( A=suspension(_, active, _, _, _, C, E), A\==B, ( C==D, E==F ), I=t(188, A, G, B, H), '$novel_production'(A, I), '$novel_production'(G, I), '$novel_production'(B, I), '$novel_production'(H, I) -> '$extend_history'(G, I), ( arg(2, G, L), setarg(2, G, active), ( arg(4, G, J), K is J+1, setarg(4, G, K) ), ( L==not_stored_yet -> G=suspension(_, _, _, _, _, M, N), term_variables(term(M, N), O), 'chr none_locked'(O), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', P), Q=[G|P], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', Q), ( P=[R|_] -> setarg(5, R, Q) ; true ) ), 'attach_known/1_1_$special_=\\=/2___2'(O, G) ; true ) ), 'known/1_1_$special_=\\=/2'(D, S), ( G=suspension(_, active, _, K, _, _, _) -> setarg(2, G, inactive), 'known/1_1_$special_=\\=/2___2__0__2__5'(T, B, U, S, H, V, D, F, G) ; true ) ; 'known/1_1_$special_=\\=/2___2__0__2__5'(T, B, U, S, H, V, D, F, G) ). 'known/1_1_$special_=\\=/2___2__0'(B, C, A) :- ( var(A) -> A=suspension(D, not_stored_yet, t, 0, _, B, C), 'chr gen_id'(D) ; true ), 'known/1_1_$special_=\\=/2___2__1'(B, C, A). 'known/1_1_$special_=\\=/2___2__1'(A, E, F) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= get_attr(E, guard_entailment, F), F=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, G, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= 'known/1_1_$special_=\\=/2___2__1__1__6'(G, H, A, I, C, D, J) ; 'known/1_1_$special_=\\=/2___2__1__0__6'(I, C, D, J) ). 'known/1_1_$special_=\\=/2___2__1__1__6'([], _, _, A, B, C, D) :- 'known/1_1_$special_=\\=/2___2__1__0__6'(A, B, C, D). 'known/1_1_$special_=\\=/2___2__1__1__6'([A|K], G, B, L, D, F, M) :- ( ( A=suspension(_, active, _, _, _, C, E), A\==B, C==D, E==F ), ( 'chr newvia_2'(G, D, H) -> get_attr(H, guard_entailment, I), I=v(_, _, _, _, _, _, _, _, _, _, _, _, _, J, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', J) ) -> 'known/1_1_$special_=\\=/2___2__1__2__6'(J, A, K, G, B, L, D, F, M) ; 'known/1_1_$special_=\\=/2___2__1__1__6'(K, G, B, L, D, F, M) ). 'known/1_1_$special_=\\=/2___2__1__2__6'([], _, A, B, C, D, E, F, G) :- 'known/1_1_$special_=\\=/2___2__1__1__6'(A, B, C, D, E, F, G). 'known/1_1_$special_=\\=/2___2__1__2__6'([A|T], G, U, C, F, V, E, S, H) :- ( A=suspension(_, active, _, _, _, B, D), ( B==C, D==E ), I=t(188, F, A, G, H), '$novel_production'(F, I), '$novel_production'(A, I), '$novel_production'(G, I), '$novel_production'(H, I) -> '$extend_history'(H, I), ( arg(2, H, L), setarg(2, H, active), ( arg(4, H, J), K is J+1, setarg(4, H, K) ), ( L==not_stored_yet -> H=suspension(_, _, _, _, _, M, N), term_variables(term(M, N), O), 'chr none_locked'(O), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', P), Q=[H|P], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', Q), ( P=[R|_] -> setarg(5, R, Q) ; true ) ), 'attach_known/1_1_$special_=\\=/2___2'(O, H) ; true ) ), 'known/1_1_$special_=\\=/2'(C, S), ( H=suspension(_, active, _, K, _, _, _) -> setarg(2, H, inactive), 'known/1_1_$special_=\\=/2___2__1__2__6'(T, G, U, C, F, V, E, S, H) ; true ) ; 'known/1_1_$special_=\\=/2___2__1__2__6'(T, G, U, C, F, V, E, S, H) ). 'known/1_1_$special_=\\=/2___2__1'(A, B, C) :- 'known/1_1_$special_=\\=/2___2__2'(A, B, C). 'known/1_1_$special_=\\=/2___2__2'(B, A, C) :- number(A), number(B), B=:=A, !, ( var(C) -> true ; C=suspension(_, D, _, _, _, E, F), setarg(2, C, removed), ( D==not_stored_yet -> G=[] ; term_variables(term(E, F), G), ( arg(5, C, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', J), ( J=[K|_] -> setarg(5, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(5, K, H) ; true ) ) ), 'detach_known/1_1_$special_=\\=/2___2'(G, C) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_=\\=/2___2__2'(B, A, C) :- A==B, !, ( var(C) -> true ; C=suspension(_, D, _, _, _, E, F), setarg(2, C, removed), ( D==not_stored_yet -> G=[] ; term_variables(term(E, F), G), ( arg(5, C, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', J), ( J=[K|_] -> setarg(5, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(5, K, H) ; true ) ) ), 'detach_known/1_1_$special_=\\=/2___2'(G, C) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_=\\=/2___2__2'(A, B, P) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, _, G, H), G==A, H==B, !, F=suspension(_, _, _, _, _, I, J), setarg(2, F, removed), term_variables(term(I, J), O), arg(5, F, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', M), ( M=[N|_] -> setarg(5, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(5, N, K) ; true ) ), 'detach_known/1_1_$special_=:=/2___2'(O, F), ( var(P) -> true ; P=suspension(_, Q, _, _, _, R, S), setarg(2, P, removed), ( Q==not_stored_yet -> T=[] ; term_variables(term(R, S), T), ( arg(5, P, U), ( var(U) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', V), V=[_|W], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', W), ( W=[X|_] -> setarg(5, X, _) ; true ) ; U=[_, _|W], setarg(2, U, W), ( W=[X|_] -> setarg(5, X, U) ; true ) ) ), 'detach_known/1_1_$special_=\\=/2___2'(T, P) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_=\\=/2___2__2'(L, K, A) :- '$novel_production'(A, 195), !, '$extend_history'(A, 195), arg(2, A, D), setarg(2, A, active), arg(4, A, B), C is B+1, setarg(4, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, _, E, F), term_variables(term(E, F), G), 'chr none_locked'(G), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', H), I=[A|H], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', I), ( H=[J|_] -> setarg(5, J, I) ; true ) ), 'attach_known/1_1_$special_=\\=/2___2'(G, A) ; true ), 'known/1_1_$special_=\\=/2'(K, L), ( A=suspension(_, active, _, C, _, _, _) -> setarg(2, A, inactive), 'known/1_1_$special_=\\=/2___2__3'(L, K, A) ; true ). 'known/1_1_$special_=\\=/2___2__2'(A, B, C) :- 'known/1_1_$special_=\\=/2___2__3'(A, B, C). 'known/1_1_$special_=\\=/2___2__3'(A, B, P) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, G), nonvar(G), G= (H=\=I), H==A, I==B, !, F=suspension(_, _, _, _, J), setarg(2, F, removed), term_variables(J, O), arg(4, F, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', M), ( M=[N|_] -> setarg(4, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(4, N, K) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(O, F), ( var(P) -> true ; P=suspension(_, Q, _, _, _, R, S), setarg(2, P, removed), ( Q==not_stored_yet -> T=[] ; term_variables(term(R, S), T), ( arg(5, P, U), ( var(U) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', V), V=[_|W], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', W), ( W=[X|_] -> setarg(5, X, _) ; true ) ; U=[_, _|W], setarg(2, U, W), ( W=[X|_] -> setarg(5, X, U) ; true ) ) ), 'detach_known/1_1_$special_=\\=/2___2'(T, P) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_=\\=/2___2__3'(A, B, F) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', E) ), !, 'known/1_1_$special_=\\=/2___2__3__0__12'(E, A, B, F). 'known/1_1_$special_=\\=/2___2__3__0__12'([], A, B, C) :- 'known/1_1_$special_=\\=/2___2__4'(A, B, C). 'known/1_1_$special_=\\=/2___2__3__0__12'([A|Z], E, G, O) :- ( A=suspension(_, active, _, _, B, Y), nonvar(B), B= (\+C), nonvar(C), C= (D=\=F), D==E, F==G -> ( A=suspension(_, _, _, _, H, I), setarg(2, A, removed), term_variables(term(H, I), N), ( arg(4, A, J), ( var(J) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', K), K=[_|L], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', L), ( L=[M|_] -> setarg(4, M, _) ; true ) ; J=[_, _|L], setarg(2, J, L), ( L=[M|_] -> setarg(4, M, J) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(N, A) ), ( arg(2, O, R), setarg(2, O, active), ( arg(4, O, P), Q is P+1, setarg(4, O, Q) ), ( R==not_stored_yet -> O=suspension(_, _, _, _, _, S, T), term_variables(term(S, T), U), 'chr none_locked'(U), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', V), W=[O|V], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', W), ( V=[X|_] -> setarg(5, X, W) ; true ) ), 'attach_known/1_1_$special_=\\=/2___2'(U, O) ; true ) ), known(Y), ( O=suspension(_, active, _, Q, _, _, _) -> setarg(2, O, inactive), 'known/1_1_$special_=\\=/2___2__3__0__12'(Z, E, G, O) ; true ) ; 'known/1_1_$special_=\\=/2___2__3__0__12'(Z, E, G, O) ). 'known/1_1_$special_=\\=/2___2__3'(A, B, C) :- 'known/1_1_$special_=\\=/2___2__4'(A, B, C). 'known/1_1_$special_=\\=/2___2__4'(A, B, F) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', E) ), !, 'known/1_1_$special_=\\=/2___2__4__0__13'(E, A, B, F). 'known/1_1_$special_=\\=/2___2__4__0__13'([], A, B, C) :- 'known/1_1_$special_=\\=/2___2__5'(A, B, C). 'known/1_1_$special_=\\=/2___2__4__0__13'([A|A1], F, H, P) :- ( A=suspension(_, active, _, _, B, Z), nonvar(B), B= (C, _), nonvar(C), C= (\+D), nonvar(D), D= (E=\=G), E==F, G==H -> ( A=suspension(_, _, _, _, I, J), setarg(2, A, removed), term_variables(term(I, J), O), ( arg(4, A, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', M), ( M=[N|_] -> setarg(4, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(4, N, K) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(O, A) ), ( arg(2, P, S), setarg(2, P, active), ( arg(4, P, Q), R is Q+1, setarg(4, P, R) ), ( S==not_stored_yet -> P=suspension(_, _, _, _, _, T, U), term_variables(term(T, U), V), 'chr none_locked'(V), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', W), X=[P|W], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', X), ( W=[Y|_] -> setarg(5, Y, X) ; true ) ), 'attach_known/1_1_$special_=\\=/2___2'(V, P) ; true ) ), known(Z), ( P=suspension(_, active, _, R, _, _, _) -> setarg(2, P, inactive), 'known/1_1_$special_=\\=/2___2__4__0__13'(A1, F, H, P) ; true ) ; 'known/1_1_$special_=\\=/2___2__4__0__13'(A1, F, H, P) ). 'known/1_1_$special_=\\=/2___2__4'(A, B, C) :- 'known/1_1_$special_=\\=/2___2__5'(A, B, C). 'known/1_1_$special_=\\=/2___2__5'(_, _, A) :- arg(2, A, D), setarg(2, A, active), arg(4, A, B), C is B+1, setarg(4, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, _, E, F), term_variables(term(E, F), G), 'chr none_locked'(G), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', H), I=[A|H], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', I), ( H=[J|_] -> setarg(5, J, I) ; true ) ), 'attach_known/1_1_$special_=\\=/2___2'(G, A) ; true ). 'known/1_1_$special_\\+/1'(A) :- 'known/1_1_$special_\\+/1___1__0'(A, _). 'known/1_1_$special_\\+/1___1__0'(A, G) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, F), F==A, !, ( var(G) -> true ; G=suspension(_, H, _, _, I), setarg(2, G, removed), ( H==not_stored_yet -> J=[] ; term_variables(I, J), ( arg(4, G, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', M), ( M=[N|_] -> setarg(4, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(4, N, K) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(J, G) ) ). 'known/1_1_$special_\\+/1___1__0'(_, C) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !, ( var(C) -> true ; C=suspension(_, D, _, _, E), setarg(2, C, removed), ( D==not_stored_yet -> F=[] ; term_variables(E, F), ( arg(4, C, G), ( var(G) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', H), H=[_|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', I), ( I=[J|_] -> setarg(4, J, _) ; true ) ; G=[_, _|I], setarg(2, G, I), ( I=[J|_] -> setarg(4, J, G) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(F, C) ) ). 'known/1_1_$special_\\+/1___1__0'(A, E) :- nonvar(A), ( ( ( ( ( ( ( ( ( ( ( A=functor(B, C, D), nonvar(B), 'chr lock'(B), 'chr lock'(C), 'chr lock'(D), functor(B, C, D), 'chr unlock'(B), 'chr unlock'(C), 'chr unlock'(D), !, ( var(E) -> true ; E=suspension(_, F, _, _, G), setarg(2, E, removed), ( F==not_stored_yet -> H=[] ; term_variables(G, H), ( arg(4, E, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(H, E) ) ), 'known/1_1_$special_fail/0' ; A= (M;N), ( 'chr newvia_2'(M, N, O) -> get_attr(O, guard_entailment, P), P=v(_, _, _, Q, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', Q) ), 'chr sbag_member'(R, Q), R=suspension(_, active, _, _, S, T), S==M, T==N, !, R=suspension(_, _, _, _, U, V), setarg(2, R, removed), term_variables(term(U, V), A1), arg(4, R, W), ( var(W) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', X), X=[_|Y], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', Y), ( Y=[Z|_] -> setarg(4, Z, _) ; true ) ; W=[_, _|Y], setarg(2, W, Y), ( Y=[Z|_] -> setarg(4, Z, W) ; true ) ), 'detach_known/1_1_$special_;/2___2'(A1, R), ( var(E) -> true ; E=suspension(_, B1, _, _, C1), setarg(2, E, removed), ( B1==not_stored_yet -> D1=[] ; term_variables(C1, D1), ( arg(4, E, E1), ( var(E1) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', F1), F1=[_|G1], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', G1), ( G1=[H1|_] -> setarg(4, H1, _) ; true ) ; E1=[_, _|G1], setarg(2, E1, G1), ( G1=[H1|_] -> setarg(4, H1, E1) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(D1, E) ) ), 'known/1_1_$special_fail/0' ) ; A=nonvar(I1), ( 'chr newvia_1'(I1, J1) -> get_attr(J1, guard_entailment, K1), K1=v(_, _, _, _, L1, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', L1) ), 'chr sbag_member'(M1, L1), M1=suspension(_, active, _, _, N1), N1==I1, !, M1=suspension(_, _, _, _, O1), setarg(2, M1, removed), term_variables(O1, T1), arg(4, M1, P1), ( var(P1) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', Q1), Q1=[_|R1], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', R1), ( R1=[S1|_] -> setarg(4, S1, _) ; true ) ; P1=[_, _|R1], setarg(2, P1, R1), ( R1=[S1|_] -> setarg(4, S1, P1) ; true ) ), 'detach_known/1_1_$special_nonvar/1___1'(T1, M1), ( var(E) -> true ; E=suspension(_, U1, _, _, V1), setarg(2, E, removed), ( U1==not_stored_yet -> W1=[] ; term_variables(V1, W1), ( arg(4, E, X1), ( var(X1) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', Y1), Y1=[_|Z1], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', Z1), ( Z1=[A2|_] -> setarg(4, A2, _) ; true ) ; X1=[_, _|Z1], setarg(2, X1, Z1), ( Z1=[A2|_] -> setarg(4, A2, X1) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(W1, E) ) ), 'known/1_1_$special_fail/0' ) ; A=var(B2), ( 'chr newvia_1'(B2, C2) -> get_attr(C2, guard_entailment, D2), D2=v(_, _, _, _, _, E2, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', E2) ), 'chr sbag_member'(F2, E2), F2=suspension(_, active, _, _, G2), G2==B2, !, F2=suspension(_, _, _, _, H2), setarg(2, F2, removed), term_variables(H2, M2), arg(4, F2, I2), ( var(I2) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', J2), J2=[_|K2], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', K2), ( K2=[L2|_] -> setarg(4, L2, _) ; true ) ; I2=[_, _|K2], setarg(2, I2, K2), ( K2=[L2|_] -> setarg(4, L2, I2) ; true ) ), 'detach_known/1_1_$special_var/1___1'(M2, F2), ( var(E) -> true ; E=suspension(_, N2, _, _, O2), setarg(2, E, removed), ( N2==not_stored_yet -> P2=[] ; term_variables(O2, P2), ( arg(4, E, Q2), ( var(Q2) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', R2), R2=[_|S2], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', S2), ( S2=[T2|_] -> setarg(4, T2, _) ; true ) ; Q2=[_, _|S2], setarg(2, Q2, S2), ( S2=[T2|_] -> setarg(4, T2, Q2) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(P2, E) ) ), 'known/1_1_$special_fail/0' ) ; A=atom(U2), ( 'chr newvia_1'(U2, V2) -> get_attr(V2, guard_entailment, W2), W2=v(_, _, _, _, _, _, X2, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', X2) ), 'chr sbag_member'(Y2, X2), Y2=suspension(_, active, _, _, _, Z2), Z2==U2, !, Y2=suspension(_, _, _, _, _, A3), setarg(2, Y2, removed), term_variables(A3, F3), arg(5, Y2, B3), ( var(B3) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', C3), C3=[_|D3], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', D3), ( D3=[E3|_] -> setarg(5, E3, _) ; true ) ; B3=[_, _|D3], setarg(2, B3, D3), ( D3=[E3|_] -> setarg(5, E3, B3) ; true ) ), 'detach_known/1_1_$special_atom/1___1'(F3, Y2), ( var(E) -> true ; E=suspension(_, G3, _, _, H3), setarg(2, E, removed), ( G3==not_stored_yet -> I3=[] ; term_variables(H3, I3), ( arg(4, E, J3), ( var(J3) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', K3), K3=[_|L3], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', L3), ( L3=[M3|_] -> setarg(4, M3, _) ; true ) ; J3=[_, _|L3], setarg(2, J3, L3), ( L3=[M3|_] -> setarg(4, M3, J3) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(I3, E) ) ), 'known/1_1_$special_fail/0' ) ; A=atomic(N3), ( 'chr newvia_1'(N3, O3) -> get_attr(O3, guard_entailment, P3), P3=v(_, _, _, _, _, _, _, Q3, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', Q3) ), 'chr sbag_member'(R3, Q3), R3=suspension(_, active, _, _, _, S3), S3==N3, !, R3=suspension(_, _, _, _, _, T3), setarg(2, R3, removed), term_variables(T3, Y3), arg(5, R3, U3), ( var(U3) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', V3), V3=[_|W3], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', W3), ( W3=[X3|_] -> setarg(5, X3, _) ; true ) ; U3=[_, _|W3], setarg(2, U3, W3), ( W3=[X3|_] -> setarg(5, X3, U3) ; true ) ), 'detach_known/1_1_$special_atomic/1___1'(Y3, R3), ( var(E) -> true ; E=suspension(_, Z3, _, _, A4), setarg(2, E, removed), ( Z3==not_stored_yet -> B4=[] ; term_variables(A4, B4), ( arg(4, E, C4), ( var(C4) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', D4), D4=[_|E4], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', E4), ( E4=[F4|_] -> setarg(4, F4, _) ; true ) ; C4=[_, _|E4], setarg(2, C4, E4), ( E4=[F4|_] -> setarg(4, F4, C4) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(B4, E) ) ), 'known/1_1_$special_fail/0' ) ; A=compound(G4), ( 'chr newvia_1'(G4, H4) -> get_attr(H4, guard_entailment, I4), I4=v(_, _, _, _, _, _, _, _, J4, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', J4) ), 'chr sbag_member'(K4, J4), K4=suspension(_, active, _, _, _, L4), L4==G4, !, K4=suspension(_, _, _, _, _, M4), setarg(2, K4, removed), term_variables(M4, R4), arg(5, K4, N4), ( var(N4) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', O4), O4=[_|P4], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', P4), ( P4=[Q4|_] -> setarg(5, Q4, _) ; true ) ; N4=[_, _|P4], setarg(2, N4, P4), ( P4=[Q4|_] -> setarg(5, Q4, N4) ; true ) ), 'detach_known/1_1_$special_compound/1___1'(R4, K4), ( var(E) -> true ; E=suspension(_, S4, _, _, T4), setarg(2, E, removed), ( S4==not_stored_yet -> U4=[] ; term_variables(T4, U4), ( arg(4, E, V4), ( var(V4) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', W4), W4=[_|X4], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', X4), ( X4=[Y4|_] -> setarg(4, Y4, _) ; true ) ; V4=[_, _|X4], setarg(2, V4, X4), ( X4=[Y4|_] -> setarg(4, Y4, V4) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(U4, E) ) ), 'known/1_1_$special_fail/0' ) ; A=ground(Z4), ( 'chr newvia_1'(Z4, A5) -> get_attr(A5, guard_entailment, B5), B5=v(_, _, _, _, _, _, _, _, _, C5, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', C5) ), 'chr sbag_member'(D5, C5), D5=suspension(_, active, _, _, _, E5), E5==Z4, !, D5=suspension(_, _, _, _, _, F5), setarg(2, D5, removed), term_variables(F5, K5), arg(5, D5, G5), ( var(G5) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', H5), H5=[_|I5], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', I5), ( I5=[J5|_] -> setarg(5, J5, _) ; true ) ; G5=[_, _|I5], setarg(2, G5, I5), ( I5=[J5|_] -> setarg(5, J5, G5) ; true ) ), 'detach_known/1_1_$special_ground/1___1'(K5, D5), ( var(E) -> true ; E=suspension(_, L5, _, _, M5), setarg(2, E, removed), ( L5==not_stored_yet -> N5=[] ; term_variables(M5, N5), ( arg(4, E, O5), ( var(O5) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', P5), P5=[_|Q5], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', Q5), ( Q5=[R5|_] -> setarg(4, R5, _) ; true ) ; O5=[_, _|Q5], setarg(2, O5, Q5), ( Q5=[R5|_] -> setarg(4, R5, O5) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(N5, E) ) ), 'known/1_1_$special_fail/0' ) ; A=integer(S5), ( 'chr newvia_1'(S5, T5) -> get_attr(T5, guard_entailment, U5), U5=v(_, _, _, _, _, _, _, _, _, _, V5, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', V5) ), 'chr sbag_member'(W5, V5), W5=suspension(_, active, _, _, _, X5), X5==S5, !, W5=suspension(_, _, _, _, _, Y5), setarg(2, W5, removed), term_variables(Y5, D6), arg(5, W5, Z5), ( var(Z5) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', A6), A6=[_|B6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', B6), ( B6=[C6|_] -> setarg(5, C6, _) ; true ) ; Z5=[_, _|B6], setarg(2, Z5, B6), ( B6=[C6|_] -> setarg(5, C6, Z5) ; true ) ), 'detach_known/1_1_$special_integer/1___1'(D6, W5), ( var(E) -> true ; E=suspension(_, E6, _, _, F6), setarg(2, E, removed), ( E6==not_stored_yet -> G6=[] ; term_variables(F6, G6), ( arg(4, E, H6), ( var(H6) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', I6), I6=[_|J6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', J6), ( J6=[K6|_] -> setarg(4, K6, _) ; true ) ; H6=[_, _|J6], setarg(2, H6, J6), ( J6=[K6|_] -> setarg(4, K6, H6) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(G6, E) ) ), 'known/1_1_$special_fail/0' ) ; A=float(L6), ( 'chr newvia_1'(L6, M6) -> get_attr(M6, guard_entailment, N6), N6=v(_, _, _, _, _, _, _, _, _, _, _, O6, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', O6) ), 'chr sbag_member'(P6, O6), P6=suspension(_, active, _, _, _, Q6), Q6==L6, !, P6=suspension(_, _, _, _, _, R6), setarg(2, P6, removed), term_variables(R6, W6), arg(5, P6, S6), ( var(S6) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', T6), T6=[_|U6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', U6), ( U6=[V6|_] -> setarg(5, V6, _) ; true ) ; S6=[_, _|U6], setarg(2, S6, U6), ( U6=[V6|_] -> setarg(5, V6, S6) ; true ) ), 'detach_known/1_1_$special_float/1___1'(W6, P6), ( var(E) -> true ; E=suspension(_, X6, _, _, Y6), setarg(2, E, removed), ( X6==not_stored_yet -> Z6=[] ; term_variables(Y6, Z6), ( arg(4, E, A7), ( var(A7) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', B7), B7=[_|C7], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', C7), ( C7=[D7|_] -> setarg(4, D7, _) ; true ) ; A7=[_, _|C7], setarg(2, A7, C7), ( C7=[D7|_] -> setarg(4, D7, A7) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(Z6, E) ) ), 'known/1_1_$special_fail/0' ) ; A=number(E7), ( 'chr newvia_1'(E7, F7) -> get_attr(F7, guard_entailment, G7), G7=v(_, _, _, _, _, _, _, _, _, _, _, _, H7, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', H7) ), 'chr sbag_member'(I7, H7), I7=suspension(_, active, _, _, _, J7), J7==E7, !, I7=suspension(_, _, _, _, _, K7), setarg(2, I7, removed), term_variables(K7, P7), arg(5, I7, L7), ( var(L7) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', M7), M7=[_|N7], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', N7), ( N7=[O7|_] -> setarg(5, O7, _) ; true ) ; L7=[_, _|N7], setarg(2, L7, N7), ( N7=[O7|_] -> setarg(5, O7, L7) ; true ) ), 'detach_known/1_1_$special_number/1___1'(P7, I7), ( var(E) -> true ; E=suspension(_, Q7, _, _, R7), setarg(2, E, removed), ( Q7==not_stored_yet -> S7=[] ; term_variables(R7, S7), ( arg(4, E, T7), ( var(T7) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', U7), U7=[_|V7], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', V7), ( V7=[W7|_] -> setarg(4, W7, _) ; true ) ; T7=[_, _|V7], setarg(2, T7, V7), ( V7=[W7|_] -> setarg(4, W7, T7) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(S7, E) ) ), 'known/1_1_$special_fail/0' ) ; A= (X7=\=Y7), ( 'chr newvia_2'(X7, Y7, Z7) -> get_attr(Z7, guard_entailment, A8), A8=v(_, _, _, _, _, _, _, _, _, _, _, _, _, B8, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', B8) ), 'chr sbag_member'(C8, B8), C8=suspension(_, active, _, _, _, D8, E8), D8==X7, E8==Y7, !, C8=suspension(_, _, _, _, _, F8, G8), setarg(2, C8, removed), term_variables(term(F8, G8), L8), arg(5, C8, H8), ( var(H8) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', I8), I8=[_|J8], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', J8), ( J8=[K8|_] -> setarg(5, K8, _) ; true ) ; H8=[_, _|J8], setarg(2, H8, J8), ( J8=[K8|_] -> setarg(5, K8, H8) ; true ) ), 'detach_known/1_1_$special_=\\=/2___2'(L8, C8), ( var(E) -> true ; E=suspension(_, M8, _, _, N8), setarg(2, E, removed), ( M8==not_stored_yet -> O8=[] ; term_variables(N8, O8), ( arg(4, E, P8), ( var(P8) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', Q8), Q8=[_|R8], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', R8), ( R8=[S8|_] -> setarg(4, S8, _) ; true ) ; P8=[_, _|R8], setarg(2, P8, R8), ( R8=[S8|_] -> setarg(4, S8, P8) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(O8, E) ) ), 'known/1_1_$special_fail/0' ). 'known/1_1_$special_\\+/1___1__0'(A, N) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, F), nonvar(F), F= (\+G), G==A, !, E=suspension(_, _, _, _, H), setarg(2, E, removed), term_variables(H, M), arg(4, E, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(M, E), ( var(N) -> true ; N=suspension(_, O, _, _, P), setarg(2, N, removed), ( O==not_stored_yet -> Q=[] ; term_variables(P, Q), ( arg(4, N, R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', T), ( T=[U|_] -> setarg(4, U, _) ; true ) ; R=[_, _|T], setarg(2, R, T), ( T=[U|_] -> setarg(4, U, R) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(Q, N) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_\\+/1___1__0'(A, N) :- nonvar(A), ( ( ( ( ( ( ( A= (\+B), ( 'chr newvia_1'(B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, G), G==B, !, F=suspension(_, _, _, _, H), setarg(2, F, removed), term_variables(H, M), arg(4, F, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(M, F), ( var(N) -> true ; N=suspension(_, O, _, _, P), setarg(2, N, removed), ( O==not_stored_yet -> Q=[] ; term_variables(P, Q), ( arg(4, N, R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', T), ( T=[U|_] -> setarg(4, U, _) ; true ) ; R=[_, _|T], setarg(2, R, T), ( T=[U|_] -> setarg(4, U, R) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(Q, N) ) ), 'known/1_1_$special_fail/0' ; A=functor(V, W, X), ( 'chr newvia'( [ V, W, X ], Y) -> get_attr(Y, guard_entailment, Z), Z=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, A1, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', A1) ), 'chr sbag_member'(B1, A1), B1=suspension(_, active, _, _, C1, D1, E1), C1==V, D1==W, E1==X, !, B1=suspension(_, _, _, _, F1, G1, H1), setarg(2, B1, removed), term_variables(term(F1, G1, H1), M1), arg(4, B1, I1), ( var(I1) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', J1), J1=[_|K1], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', K1), ( K1=[L1|_] -> setarg(4, L1, _) ; true ) ; I1=[_, _|K1], setarg(2, I1, K1), ( K1=[L1|_] -> setarg(4, L1, I1) ; true ) ), 'detach_known/1_1_$special_functor/3___3'(M1, B1), ( var(N) -> true ; N=suspension(_, N1, _, _, O1), setarg(2, N, removed), ( N1==not_stored_yet -> P1=[] ; term_variables(O1, P1), ( arg(4, N, Q1), ( var(Q1) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', R1), R1=[_|S1], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', S1), ( S1=[T1|_] -> setarg(4, T1, _) ; true ) ; Q1=[_, _|S1], setarg(2, Q1, S1), ( S1=[T1|_] -> setarg(4, T1, Q1) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(P1, N) ) ), 'known/1_1_$special_fail/0' ) ; A= (U1\=V1), ( 'chr newvia_2'(U1, V1, W1) -> get_attr(W1, guard_entailment, X1), X1=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, Y1, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', Y1) ), 'chr sbag_member'(Z1, Y1), Z1=suspension(_, active, _, _, _, A2, B2), A2==U1, B2==V1, !, Z1=suspension(_, _, _, _, _, C2, D2), setarg(2, Z1, removed), term_variables(term(C2, D2), I2), arg(5, Z1, E2), ( var(E2) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', F2), F2=[_|G2], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', G2), ( G2=[H2|_] -> setarg(5, H2, _) ; true ) ; E2=[_, _|G2], setarg(2, E2, G2), ( G2=[H2|_] -> setarg(5, H2, E2) ; true ) ), 'detach_known/1_1_$special_\\=/2___2'(I2, Z1), ( var(N) -> true ; N=suspension(_, J2, _, _, K2), setarg(2, N, removed), ( J2==not_stored_yet -> L2=[] ; term_variables(K2, L2), ( arg(4, N, M2), ( var(M2) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', N2), N2=[_|O2], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', O2), ( O2=[P2|_] -> setarg(4, P2, _) ; true ) ; M2=[_, _|O2], setarg(2, M2, O2), ( O2=[P2|_] -> setarg(4, P2, M2) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(L2, N) ) ), 'known/1_1_$special_fail/0' ) ; A= (Q2=R2), ( 'chr newvia_2'(Q2, R2, S2) -> get_attr(S2, guard_entailment, T2), T2=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, U2, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', U2) ), 'chr sbag_member'(V2, U2), V2=suspension(_, active, _, _, W2, X2), W2==Q2, X2==R2, !, V2=suspension(_, _, _, _, Y2, Z2), setarg(2, V2, removed), term_variables(term(Y2, Z2), E3), arg(4, V2, A3), ( var(A3) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', B3), B3=[_|C3], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', C3), ( C3=[D3|_] -> setarg(4, D3, _) ; true ) ; A3=[_, _|C3], setarg(2, A3, C3), ( C3=[D3|_] -> setarg(4, D3, A3) ; true ) ), 'detach_known/1_1_$special_=/2___2'(E3, V2), ( var(N) -> true ; N=suspension(_, F3, _, _, G3), setarg(2, N, removed), ( F3==not_stored_yet -> H3=[] ; term_variables(G3, H3), ( arg(4, N, I3), ( var(I3) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', J3), J3=[_|K3], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', K3), ( K3=[L3|_] -> setarg(4, L3, _) ; true ) ; I3=[_, _|K3], setarg(2, I3, K3), ( K3=[L3|_] -> setarg(4, L3, I3) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(H3, N) ) ), 'known/1_1_$special_fail/0' ) ; A= (M3\==N3), ( 'chr newvia_2'(M3, N3, O3) -> get_attr(O3, guard_entailment, P3), P3=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, Q3, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', Q3) ), 'chr sbag_member'(R3, Q3), R3=suspension(_, active, _, _, _, S3, T3), S3==M3, T3==N3, !, R3=suspension(_, _, _, _, _, U3, V3), setarg(2, R3, removed), term_variables(term(U3, V3), A4), arg(5, R3, W3), ( var(W3) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', X3), X3=[_|Y3], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', Y3), ( Y3=[Z3|_] -> setarg(5, Z3, _) ; true ) ; W3=[_, _|Y3], setarg(2, W3, Y3), ( Y3=[Z3|_] -> setarg(5, Z3, W3) ; true ) ), 'detach_known/1_1_$special_\\==/2___2'(A4, R3), ( var(N) -> true ; N=suspension(_, B4, _, _, C4), setarg(2, N, removed), ( B4==not_stored_yet -> D4=[] ; term_variables(C4, D4), ( arg(4, N, E4), ( var(E4) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', F4), F4=[_|G4], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', G4), ( G4=[H4|_] -> setarg(4, H4, _) ; true ) ; E4=[_, _|G4], setarg(2, E4, G4), ( G4=[H4|_] -> setarg(4, H4, E4) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(D4, N) ) ), 'known/1_1_$special_fail/0' ) ; A= (I4==J4), ( 'chr newvia_2'(I4, J4, K4) -> get_attr(K4, guard_entailment, L4), L4=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, M4, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', M4) ), 'chr sbag_member'(N4, M4), N4=suspension(_, active, _, _, _, O4, P4), O4==I4, P4==J4, !, N4=suspension(_, _, _, _, _, Q4, R4), setarg(2, N4, removed), term_variables(term(Q4, R4), W4), arg(5, N4, S4), ( var(S4) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', T4), T4=[_|U4], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', U4), ( U4=[V4|_] -> setarg(5, V4, _) ; true ) ; S4=[_, _|U4], setarg(2, S4, U4), ( U4=[V4|_] -> setarg(5, V4, S4) ; true ) ), 'detach_known/1_1_$special_==/2___2'(W4, N4), ( var(N) -> true ; N=suspension(_, X4, _, _, Y4), setarg(2, N, removed), ( X4==not_stored_yet -> Z4=[] ; term_variables(Y4, Z4), ( arg(4, N, A5), ( var(A5) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', B5), B5=[_|C5], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', C5), ( C5=[D5|_] -> setarg(4, D5, _) ; true ) ; A5=[_, _|C5], setarg(2, A5, C5), ( C5=[D5|_] -> setarg(4, D5, A5) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(Z4, N) ) ), 'known/1_1_$special_fail/0' ) ; A= (E5= get_attr(G5, guard_entailment, H5), H5=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, I5, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5, R5, _) ; true ) ; O5=[_, _|Q5], setarg(2, O5, Q5), ( Q5=[R5|_] -> setarg(5, R5, O5) ; true ) ), 'detach_known/1_1_$special_= true ; N=suspension(_, T5, _, _, U5), setarg(2, N, removed), ( T5==not_stored_yet -> V5=[] ; term_variables(U5, V5), ( arg(4, N, W5), ( var(W5) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', X5), X5=[_|Y5], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', Y5), ( Y5=[Z5|_] -> setarg(4, Z5, _) ; true ) ; W5=[_, _|Y5], setarg(2, W5, Y5), ( Y5=[Z5|_] -> setarg(4, Z5, W5) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(V5, N) ) ), 'known/1_1_$special_fail/0' ) ; A= (A6=:=B6), ( 'chr newvia_2'(A6, B6, C6) -> get_attr(C6, guard_entailment, D6), D6=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E6) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', E6) ), 'chr sbag_member'(F6, E6), F6=suspension(_, active, _, _, _, G6, H6), G6==A6, H6==B6, !, F6=suspension(_, _, _, _, _, I6, J6), setarg(2, F6, removed), term_variables(term(I6, J6), O6), arg(5, F6, K6), ( var(K6) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', L6), L6=[_|M6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', M6), ( M6=[N6|_] -> setarg(5, N6, _) ; true ) ; K6=[_, _|M6], setarg(2, K6, M6), ( M6=[N6|_] -> setarg(5, N6, K6) ; true ) ), 'detach_known/1_1_$special_=:=/2___2'(O6, F6), ( var(N) -> true ; N=suspension(_, P6, _, _, Q6), setarg(2, N, removed), ( P6==not_stored_yet -> R6=[] ; term_variables(Q6, R6), ( arg(4, N, S6), ( var(S6) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', T6), T6=[_|U6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', U6), ( U6=[V6|_] -> setarg(4, V6, _) ; true ) ; S6=[_, _|U6], setarg(2, S6, U6), ( U6=[V6|_] -> setarg(4, V6, S6) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(R6, N) ) ), 'known/1_1_$special_fail/0' ). 'known/1_1_$special_\\+/1___1__0'(A, M) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', D) ), 'chr sbag_member'(E, D), E=suspension(_, active, _, _, F), F==A, !, E=suspension(_, _, _, _, G), setarg(2, E, removed), term_variables(G, L), arg(4, E, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', J), ( J=[K|_] -> setarg(4, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(4, K, H) ; true ) ), 'detach_known/1_1_$default___1'(L, E), ( var(M) -> true ; M=suspension(_, N, _, _, O), setarg(2, M, removed), ( N==not_stored_yet -> P=[] ; term_variables(O, P), ( arg(4, M, Q), ( var(Q) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', R), R=[_|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', S), ( S=[T|_] -> setarg(4, T, _) ; true ) ; Q=[_, _|S], setarg(2, Q, S), ( S=[T|_] -> setarg(4, T, Q) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(P, M) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_\\+/1___1__0'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, ( var(E) -> E=suspension(F, not_stored_yet, 0, _, A), 'chr gen_id'(F) ; true ), 'known/1_1_$special_\\+/1___1__0__0__33'(D, A, E). 'known/1_1_$special_\\+/1___1__0__0__33'([], A, B) :- 'known/1_1_$special_\\+/1___1__1'(A, B). 'known/1_1_$special_\\+/1___1__0__0__33'([A|W], E, M) :- ( A=suspension(_, active, _, _, B, V), nonvar(B), B= (\+C), nonvar(C), C= (\+D), D==E -> ( A=suspension(_, _, _, _, F, G), setarg(2, A, removed), term_variables(term(F, G), L), ( arg(4, A, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J), ( J=[K|_] -> setarg(4, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(4, K, H) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(L, A) ), ( arg(2, M, P), setarg(2, M, active), ( arg(3, M, N), O is N+1, setarg(3, M, O) ), ( P==not_stored_yet -> M=suspension(_, _, _, _, Q), term_variables(Q, R), 'chr none_locked'(R), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', S), T=[M|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', T), ( S=[U|_] -> setarg(4, U, T) ; true ) ), 'attach_known/1_1_$special_\\+/1___1'(R, M) ; true ) ), known(V), ( M=suspension(_, active, O, _, _) -> setarg(2, M, inactive), 'known/1_1_$special_\\+/1___1__0__0__33'(W, E, M) ; true ) ; 'known/1_1_$special_\\+/1___1__0__0__33'(W, E, M) ). 'known/1_1_$special_\\+/1___1__0'(B, A) :- ( var(A) -> A=suspension(C, not_stored_yet, 0, _, B), 'chr gen_id'(C) ; true ), 'known/1_1_$special_\\+/1___1__1'(B, A). 'known/1_1_$special_\\+/1___1__1'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, 'known/1_1_$special_\\+/1___1__1__0__34'(D, A, E). 'known/1_1_$special_\\+/1___1__1__0__34'([], A, B) :- 'known/1_1_$special_\\+/1___1__2'(A, B). 'known/1_1_$special_\\+/1___1__1__0__34'([A|X], F, N) :- ( A=suspension(_, active, _, _, B, W), nonvar(B), B= (C, _), nonvar(C), C= (\+D), nonvar(D), D= (\+E), E==F -> ( A=suspension(_, _, _, _, G, H), setarg(2, A, removed), term_variables(term(G, H), M), ( arg(4, A, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(M, A) ), ( arg(2, N, Q), setarg(2, N, active), ( arg(3, N, O), P is O+1, setarg(3, N, P) ), ( Q==not_stored_yet -> N=suspension(_, _, _, _, R), term_variables(R, S), 'chr none_locked'(S), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', T), U=[N|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', U), ( T=[V|_] -> setarg(4, V, U) ; true ) ), 'attach_known/1_1_$special_\\+/1___1'(S, N) ; true ) ), known(W), ( N=suspension(_, active, P, _, _) -> setarg(2, N, inactive), 'known/1_1_$special_\\+/1___1__1__0__34'(X, F, N) ; true ) ; 'known/1_1_$special_\\+/1___1__1__0__34'(X, F, N) ). 'known/1_1_$special_\\+/1___1__1'(A, B) :- 'known/1_1_$special_\\+/1___1__2'(A, B). 'known/1_1_$special_\\+/1___1__2'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, 'known/1_1_$special_\\+/1___1__2__0__35'(D, A, E). 'known/1_1_$special_\\+/1___1__2__0__35'([], A, B) :- 'known/1_1_$special_\\+/1___1__3'(A, B). 'known/1_1_$special_\\+/1___1__2__0__35'([A|U], C, K) :- ( A=suspension(_, active, _, _, B, T), B==C -> ( A=suspension(_, _, _, _, D, E), setarg(2, A, removed), term_variables(term(D, E), J), ( arg(4, A, F), ( var(F) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', G), G=[_|H], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', H), ( H=[I|_] -> setarg(4, I, _) ; true ) ; F=[_, _|H], setarg(2, F, H), ( H=[I|_] -> setarg(4, I, F) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(J, A) ), ( arg(2, K, N), setarg(2, K, active), ( arg(3, K, L), M is L+1, setarg(3, K, M) ), ( N==not_stored_yet -> K=suspension(_, _, _, _, O), term_variables(O, P), 'chr none_locked'(P), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', Q), R=[K|Q], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', R), ( Q=[S|_] -> setarg(4, S, R) ; true ) ), 'attach_known/1_1_$special_\\+/1___1'(P, K) ; true ) ), known(T), ( K=suspension(_, active, M, _, _) -> setarg(2, K, inactive), 'known/1_1_$special_\\+/1___1__2__0__35'(U, C, K) ; true ) ; 'known/1_1_$special_\\+/1___1__2__0__35'(U, C, K) ). 'known/1_1_$special_\\+/1___1__2'(A, B) :- 'known/1_1_$special_\\+/1___1__3'(A, B). 'known/1_1_$special_\\+/1___1__3'(A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, 'known/1_1_$special_\\+/1___1__3__0__36'(D, A, E). 'known/1_1_$special_\\+/1___1__3__0__36'([], A, B) :- 'known/1_1_$special_\\+/1___1__4'(A, B). 'known/1_1_$special_\\+/1___1__3__0__36'([A|V], D, L) :- ( A=suspension(_, active, _, _, B, U), nonvar(B), B= (C, _), C==D -> ( A=suspension(_, _, _, _, E, F), setarg(2, A, removed), term_variables(term(E, F), K), ( arg(4, A, G), ( var(G) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', H), H=[_|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', I), ( I=[J|_] -> setarg(4, J, _) ; true ) ; G=[_, _|I], setarg(2, G, I), ( I=[J|_] -> setarg(4, J, G) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(K, A) ), ( arg(2, L, O), setarg(2, L, active), ( arg(3, L, M), N is M+1, setarg(3, L, N) ), ( O==not_stored_yet -> L=suspension(_, _, _, _, P), term_variables(P, Q), 'chr none_locked'(Q), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', R), S=[L|R], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', S), ( R=[T|_] -> setarg(4, T, S) ; true ) ), 'attach_known/1_1_$special_\\+/1___1'(Q, L) ; true ) ), known(U), ( L=suspension(_, active, N, _, _) -> setarg(2, L, inactive), 'known/1_1_$special_\\+/1___1__3__0__36'(V, D, L) ; true ) ; 'known/1_1_$special_\\+/1___1__3__0__36'(V, D, L) ). 'known/1_1_$special_\\+/1___1__3'(A, B) :- 'known/1_1_$special_\\+/1___1__4'(A, B). 'known/1_1_$special_\\+/1___1__4'(_, A) :- arg(2, A, D), setarg(2, A, active), arg(3, A, B), C is B+1, setarg(3, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, E), term_variables(E, F), 'chr none_locked'(F), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', G), H=[A|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', H), ( G=[I|_] -> setarg(4, I, H) ; true ) ), 'attach_known/1_1_$special_\\+/1___1'(F, A) ; true ). 'known/1_1_$special_functor/3'(A, B, C) :- 'known/1_1_$special_functor/3___3__0'(A, B, C, _). 'known/1_1_$special_functor/3___3__0'(A, B, C, K) :- ( 'chr newvia'([A, B, C], D) -> get_attr(D, guard_entailment, E), E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', F) ), 'chr sbag_member'(G, F), G=suspension(_, active, _, _, H, I, J), H==A, I==B, J==C, !, ( var(K) -> true ; K=suspension(_, L, _, _, M, N, O), setarg(2, K, removed), ( L==not_stored_yet -> P=[] ; term_variables(term(M, N, O), P), ( arg(4, K, Q), ( var(Q) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', R), R=[_|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', S), ( S=[T|_] -> setarg(4, T, _) ; true ) ; Q=[_, _|S], setarg(2, Q, S), ( S=[T|_] -> setarg(4, T, Q) ; true ) ) ), 'detach_known/1_1_$special_functor/3___3'(P, K) ) ). 'known/1_1_$special_functor/3___3__0'(_, _, _, C) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !, ( var(C) -> true ; C=suspension(_, D, _, _, E, F, G), setarg(2, C, removed), ( D==not_stored_yet -> H=[] ; term_variables(term(E, F, G), H), ( arg(4, C, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', K), ( K=[L|_] -> setarg(4, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(4, L, I) ; true ) ) ), 'detach_known/1_1_$special_functor/3___3'(H, C) ) ). 'known/1_1_$special_functor/3___3__0'(C, B, A, L) :- ground(A), ground(B), var(C), nb_getval('$chr_store_global_list_guard_entailment____variables___1', D), 'chr sbag_member'(E, D), E=suspension(_, active, _, W), !, E=suspension(_, _, _, F), setarg(2, E, removed), term_variables(F, K), arg(3, E, G), ( var(G) -> nb_getval('$chr_store_global_list_guard_entailment____variables___1', H), H=[_|I], b_setval('$chr_store_global_list_guard_entailment____variables___1', I), ( I=[J|_] -> setarg(3, J, _) ; true ) ; G=[_, _|I], setarg(2, G, I), ( I=[J|_] -> setarg(3, J, G) ; true ) ), detach_variables___1(K, E), ( var(L) -> true ; L=suspension(_, M, _, _, N, O, P), setarg(2, L, removed), ( M==not_stored_yet -> Q=[] ; term_variables(term(N, O, P), Q), ( arg(4, L, R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', T), ( T=[U|_] -> setarg(4, U, _) ; true ) ; R=[_, _|T], setarg(2, R, T), ( T=[U|_] -> setarg(4, U, R) ; true ) ) ), 'detach_known/1_1_$special_functor/3___3'(Q, L) ) ), functor(C, B, A), C=..[_|V], append(V, W, X), variables(X). 'known/1_1_$special_functor/3___3__0'(A, B, C, D) :- nonvar(A), 'chr lock'(A), 'chr lock'(B), 'chr lock'(C), \+ functor(A, B, C), 'chr unlock'(A), 'chr unlock'(B), 'chr unlock'(C), !, ( var(D) -> true ; D=suspension(_, E, _, _, F, G, H), setarg(2, D, removed), ( E==not_stored_yet -> I=[] ; term_variables(term(F, G, H), I), ( arg(4, D, J), ( var(J) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', K), K=[_|L], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', L), ( L=[M|_] -> setarg(4, M, _) ; true ) ; J=[_, _|L], setarg(2, J, L), ( L=[M|_] -> setarg(4, M, J) ; true ) ) ), 'detach_known/1_1_$special_functor/3___3'(I, D) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_functor/3___3__0'(C, B, A, S) :- nonvar(A), nonvar(B), ( 'chr newvia_1'(C, D) -> get_attr(D, guard_entailment, E), E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', F) ), 'chr sbag_member'(G, F), G=suspension(_, active, _, _, H, J, I), H==C, nonvar(I), nonvar(J), !, G=suspension(_, _, _, _, K, L, M), setarg(2, G, removed), term_variables(term(K, L, M), R), arg(4, G, N), ( var(N) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', O), O=[_|P], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', P), ( P=[Q|_] -> setarg(4, Q, _) ; true ) ; N=[_, _|P], setarg(2, N, P), ( P=[Q|_] -> setarg(4, Q, N) ; true ) ), 'detach_known/1_1_$special_functor/3___3'(R, G), ( var(S) -> true ; S=suspension(_, T, _, _, U, V, W), setarg(2, S, removed), ( T==not_stored_yet -> X=[] ; term_variables(term(U, V, W), X), ( arg(4, S, Y), ( var(Y) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', Z), Z=[_|A1], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', A1), ( A1=[B1|_] -> setarg(4, B1, _) ; true ) ; Y=[_, _|A1], setarg(2, Y, A1), ( A1=[B1|_] -> setarg(4, B1, Y) ; true ) ) ), 'detach_known/1_1_$special_functor/3___3'(X, S) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_functor/3___3__0'(A, B, C, R) :- ( 'chr newvia'([A, B, C], D) -> get_attr(D, guard_entailment, E), E=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, F, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', F) ), 'chr sbag_member'(G, F), G=suspension(_, active, _, _, H), nonvar(H), H=functor(I, J, K), I==A, J==B, K==C, !, G=suspension(_, _, _, _, L), setarg(2, G, removed), term_variables(L, Q), arg(4, G, M), ( var(M) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', N), N=[_|O], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', O), ( O=[P|_] -> setarg(4, P, _) ; true ) ; M=[_, _|O], setarg(2, M, O), ( O=[P|_] -> setarg(4, P, M) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(Q, G), ( var(R) -> true ; R=suspension(_, S, _, _, T, U, V), setarg(2, R, removed), ( S==not_stored_yet -> W=[] ; term_variables(term(T, U, V), W), ( arg(4, R, X), ( var(X) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', Y), Y=[_|Z], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', Z), ( Z=[A1|_] -> setarg(4, A1, _) ; true ) ; X=[_, _|Z], setarg(2, X, Z), ( Z=[A1|_] -> setarg(4, A1, X) ; true ) ) ), 'detach_known/1_1_$special_functor/3___3'(W, R) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_functor/3___3__0'(A, B, C, G) :- ( 'chr newvia'([A, B, C], D) -> get_attr(D, guard_entailment, E), E=v(_, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', F) ), !, ( var(G) -> G=suspension(H, not_stored_yet, 0, _, A, B, C), 'chr gen_id'(H) ; true ), 'known/1_1_$special_functor/3___3__0__0__10'(F, A, B, C, G). 'known/1_1_$special_functor/3___3__0__0__10'([], A, B, C, D) :- 'known/1_1_$special_functor/3___3__1'(A, B, C, D). 'known/1_1_$special_functor/3___3__0__0__10'([A|C1], E, G, I, Q) :- ( A=suspension(_, active, _, _, B, B1), nonvar(B), B= (\+C), nonvar(C), C=functor(D, F, H), D==E, F==G, H==I -> ( A=suspension(_, _, _, _, J, K), setarg(2, A, removed), term_variables(term(J, K), P), ( arg(4, A, L), ( var(L) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', M), M=[_|N], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', N), ( N=[O|_] -> setarg(4, O, _) ; true ) ; L=[_, _|N], setarg(2, L, N), ( N=[O|_] -> setarg(4, O, L) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(P, A) ), ( arg(2, Q, T), setarg(2, Q, active), ( arg(3, Q, R), S is R+1, setarg(3, Q, S) ), ( T==not_stored_yet -> Q=suspension(_, _, _, _, U, V, W), term_variables(term(U, V, W), X), 'chr none_locked'(X), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', Y), Z=[Q|Y], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', Z), ( Y=[A1|_] -> setarg(4, A1, Z) ; true ) ), 'attach_known/1_1_$special_functor/3___3'(X, Q) ; true ) ), known(B1), ( Q=suspension(_, active, S, _, _, _, _) -> setarg(2, Q, inactive), 'known/1_1_$special_functor/3___3__0__0__10'(C1, E, G, I, Q) ; true ) ; 'known/1_1_$special_functor/3___3__0__0__10'(C1, E, G, I, Q) ). 'known/1_1_$special_functor/3___3__0'(B, C, D, A) :- ( var(A) -> A=suspension(E, not_stored_yet, 0, _, B, C, D), 'chr gen_id'(E) ; true ), 'known/1_1_$special_functor/3___3__1'(B, C, D, A). 'known/1_1_$special_functor/3___3__1'(A, B, C, G) :- ( 'chr newvia'([A, B, C], D) -> get_attr(D, guard_entailment, E), E=v(_, _, _, F, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', F) ), !, 'known/1_1_$special_functor/3___3__1__0__11'(F, A, B, C, G). 'known/1_1_$special_functor/3___3__1__0__11'([], A, B, C, D) :- 'known/1_1_$special_functor/3___3__2'(A, B, C, D). 'known/1_1_$special_functor/3___3__1__0__11'([A|D1], F, H, J, R) :- ( A=suspension(_, active, _, _, B, C1), nonvar(B), B= (C, _), nonvar(C), C= (\+D), nonvar(D), D=functor(E, G, I), E==F, G==H, I==J -> ( A=suspension(_, _, _, _, K, L), setarg(2, A, removed), term_variables(term(K, L), Q), ( arg(4, A, M), ( var(M) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', N), N=[_|O], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', O), ( O=[P|_] -> setarg(4, P, _) ; true ) ; M=[_, _|O], setarg(2, M, O), ( O=[P|_] -> setarg(4, P, M) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(Q, A) ), ( arg(2, R, U), setarg(2, R, active), ( arg(3, R, S), T is S+1, setarg(3, R, T) ), ( U==not_stored_yet -> R=suspension(_, _, _, _, V, W, X), term_variables(term(V, W, X), Y), 'chr none_locked'(Y), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', Z), A1=[R|Z], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', A1), ( Z=[B1|_] -> setarg(4, B1, A1) ; true ) ), 'attach_known/1_1_$special_functor/3___3'(Y, R) ; true ) ), known(C1), ( R=suspension(_, active, T, _, _, _, _) -> setarg(2, R, inactive), 'known/1_1_$special_functor/3___3__1__0__11'(D1, F, H, J, R) ; true ) ; 'known/1_1_$special_functor/3___3__1__0__11'(D1, F, H, J, R) ). 'known/1_1_$special_functor/3___3__1'(A, B, C, D) :- 'known/1_1_$special_functor/3___3__2'(A, B, C, D). 'known/1_1_$special_functor/3___3__2'(A, E, F, G) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, D, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', D) ), !, 'known/1_1_$special_functor/3___3__2__0__12'(D, A, E, F, G). 'known/1_1_$special_functor/3___3__2__0__12'([], A, B, C, D) :- 'known/1_1_$special_functor/3___3__3'(A, B, C, D). 'known/1_1_$special_functor/3___3__2__0__12'([A|M], E, N, O, P) :- ( A=suspension(_, active, _, _, B, _), nonvar(B), B= (\+C), nonvar(C), C=functor(D, _, _), D==E -> ( A=suspension(_, _, _, _, F, G), setarg(2, A, removed), term_variables(term(F, G), L), ( arg(4, A, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', J), ( J=[K|_] -> setarg(4, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(4, K, H) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(L, A) ), 'known/1_1_$special_functor/3___3__2__0__12'(M, E, N, O, P) ; 'known/1_1_$special_functor/3___3__2__0__12'(M, E, N, O, P) ). 'known/1_1_$special_functor/3___3__2'(A, B, C, D) :- 'known/1_1_$special_functor/3___3__3'(A, B, C, D). 'known/1_1_$special_functor/3___3__3'(_, _, _, A) :- arg(2, A, D), setarg(2, A, active), arg(3, A, B), C is B+1, setarg(3, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, E, F, G), term_variables(term(E, F, G), H), 'chr none_locked'(H), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', I), J=[A|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', J), ( I=[K|_] -> setarg(4, K, J) ; true ) ), 'attach_known/1_1_$special_functor/3___3'(H, A) ; true ). 'known/1_1_$special_\\=/2'(A, B) :- 'known/1_1_$special_\\=/2___2__0'(A, B, _). 'known/1_1_$special_\\=/2___2__0'(A, B, I) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, _, G, H), G==A, H==B, !, ( var(I) -> true ; I=suspension(_, J, _, _, _, K, L), setarg(2, I, removed), ( J==not_stored_yet -> M=[] ; term_variables(term(K, L), M), ( arg(5, I, N), ( var(N) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', O), O=[_|P], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', P), ( P=[Q|_] -> setarg(5, Q, _) ; true ) ; N=[_, _|P], setarg(2, N, P), ( P=[Q|_] -> setarg(5, Q, N) ; true ) ) ), 'detach_known/1_1_$special_\\=/2___2'(M, I) ) ). 'known/1_1_$special_\\=/2___2__0'(_, _, C) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !, ( var(C) -> true ; C=suspension(_, D, _, _, _, E, F), setarg(2, C, removed), ( D==not_stored_yet -> G=[] ; term_variables(term(E, F), G), ( arg(5, C, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', J), ( J=[K|_] -> setarg(5, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(5, K, H) ; true ) ) ), 'detach_known/1_1_$special_\\=/2___2'(G, C) ) ). 'known/1_1_$special_\\=/2___2__0'(B, A, C) :- ground(A), ground(B), 'chr lock'(B), 'chr lock'(A), B=A, 'chr unlock'(B), 'chr unlock'(A), !, ( var(C) -> true ; C=suspension(_, D, _, _, _, E, F), setarg(2, C, removed), ( D==not_stored_yet -> G=[] ; term_variables(term(E, F), G), ( arg(5, C, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', J), ( J=[K|_] -> setarg(5, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(5, K, H) ; true ) ) ), 'detach_known/1_1_$special_\\=/2___2'(G, C) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_\\=/2___2__0'(B, A, C) :- A==B, !, ( var(C) -> true ; C=suspension(_, D, _, _, _, E, F), setarg(2, C, removed), ( D==not_stored_yet -> G=[] ; term_variables(term(E, F), G), ( arg(5, C, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', J), ( J=[K|_] -> setarg(5, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(5, K, H) ; true ) ) ), 'detach_known/1_1_$special_\\=/2___2'(G, C) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_\\=/2___2__0'(B, A, D) :- nonvar(A), ( var(B), 'chr lock'(A), functor(A, M, C), C>0, 'chr unlock'(A), !, ( var(D) -> true ; D=suspension(_, E, _, _, _, F, G), setarg(2, D, removed), ( E==not_stored_yet -> H=[] ; term_variables(term(F, G), H), ( arg(5, D, I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', K), ( K=[L|_] -> setarg(5, L, _) ; true ) ; I=[_, _|K], setarg(2, I, K), ( K=[L|_] -> setarg(5, L, I) ; true ) ) ), 'detach_known/1_1_$special_\\=/2___2'(H, D) ) ), length(N, C), A=..[M|O], P=..[M|N], add_args_nunif(O, N, Q), R= (\+functor(B, M, C);B=P, Q), known(R) ; nonvar(B), 'chr lock'(B), functor(B, A1, B1), 'chr unlock'(B), !, ( var(D) -> true ; D=suspension(_, S, _, _, _, T, U), setarg(2, D, removed), ( S==not_stored_yet -> V=[] ; term_variables(term(T, U), V), ( arg(5, D, W), ( var(W) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', X), X=[_|Y], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', Y), ( Y=[Z|_] -> setarg(5, Z, _) ; true ) ; W=[_, _|Y], setarg(2, W, Y), ( Y=[Z|_] -> setarg(5, Z, W) ; true ) ) ), 'detach_known/1_1_$special_\\=/2___2'(V, D) ) ), ( functor(A, A1, B1) -> B=..[A1|C1], A=..[A1|D1], add_args_nunif(C1, D1, E1), known(E1) ; true ) ). 'known/1_1_$special_\\=/2___2__0'(B, C, A) :- ( var(A) -> A=suspension(D, not_stored_yet, t, 0, _, B, C), 'chr gen_id'(D) ; true ), ( '$novel_production'(A, 182), !, '$extend_history'(A, 182), arg(2, A, G), setarg(2, A, active), arg(4, A, E), F is E+1, setarg(4, A, F), ( G==not_stored_yet -> A=suspension(_, _, _, _, _, H, I), term_variables(term(H, I), J), 'chr none_locked'(J), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', K), L=[A|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', L), ( K=[M|_] -> setarg(5, M, L) ; true ) ), 'attach_known/1_1_$special_\\=/2___2'(J, A) ; true ), 'known/1_1_$special_\\=/2'(C, B), ( A=suspension(_, active, _, F, _, _, _) -> setarg(2, A, inactive), 'known/1_1_$special_\\=/2___2__1'(B, C, A) ; true ) ; 'known/1_1_$special_\\=/2___2__1'(B, C, A) ). 'known/1_1_$special_\\=/2___2__1'(A, B, P) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, G), nonvar(G), G= (H\=I), H==A, I==B, !, F=suspension(_, _, _, _, J), setarg(2, F, removed), term_variables(J, O), arg(4, F, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', M), ( M=[N|_] -> setarg(4, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(4, N, K) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(O, F), ( var(P) -> true ; P=suspension(_, Q, _, _, _, R, S), setarg(2, P, removed), ( Q==not_stored_yet -> T=[] ; term_variables(term(R, S), T), ( arg(5, P, U), ( var(U) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', V), V=[_|W], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', W), ( W=[X|_] -> setarg(5, X, _) ; true ) ; U=[_, _|W], setarg(2, U, W), ( W=[X|_] -> setarg(5, X, U) ; true ) ) ), 'detach_known/1_1_$special_\\=/2___2'(T, P) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_\\=/2___2__1'(A, B, F) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', E) ), !, 'known/1_1_$special_\\=/2___2__1__0__11'(E, A, B, F). 'known/1_1_$special_\\=/2___2__1__0__11'([], A, B, C) :- 'known/1_1_$special_\\=/2___2__2'(A, B, C). 'known/1_1_$special_\\=/2___2__1__0__11'([A|Z], E, G, O) :- ( A=suspension(_, active, _, _, B, Y), nonvar(B), B= (\+C), nonvar(C), C= (D\=F), D==E, F==G -> ( A=suspension(_, _, _, _, H, I), setarg(2, A, removed), term_variables(term(H, I), N), ( arg(4, A, J), ( var(J) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', K), K=[_|L], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', L), ( L=[M|_] -> setarg(4, M, _) ; true ) ; J=[_, _|L], setarg(2, J, L), ( L=[M|_] -> setarg(4, M, J) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(N, A) ), ( arg(2, O, R), setarg(2, O, active), ( arg(4, O, P), Q is P+1, setarg(4, O, Q) ), ( R==not_stored_yet -> O=suspension(_, _, _, _, _, S, T), term_variables(term(S, T), U), 'chr none_locked'(U), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', V), W=[O|V], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', W), ( V=[X|_] -> setarg(5, X, W) ; true ) ), 'attach_known/1_1_$special_\\=/2___2'(U, O) ; true ) ), known(Y), ( O=suspension(_, active, _, Q, _, _, _) -> setarg(2, O, inactive), 'known/1_1_$special_\\=/2___2__1__0__11'(Z, E, G, O) ; true ) ; 'known/1_1_$special_\\=/2___2__1__0__11'(Z, E, G, O) ). 'known/1_1_$special_\\=/2___2__1'(A, B, C) :- 'known/1_1_$special_\\=/2___2__2'(A, B, C). 'known/1_1_$special_\\=/2___2__2'(A, B, F) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', E) ), !, 'known/1_1_$special_\\=/2___2__2__0__12'(E, A, B, F). 'known/1_1_$special_\\=/2___2__2__0__12'([], A, B, C) :- 'known/1_1_$special_\\=/2___2__3'(A, B, C). 'known/1_1_$special_\\=/2___2__2__0__12'([A|A1], F, H, P) :- ( A=suspension(_, active, _, _, B, Z), nonvar(B), B= (C, _), nonvar(C), C= (\+D), nonvar(D), D= (E\=G), E==F, G==H -> ( A=suspension(_, _, _, _, I, J), setarg(2, A, removed), term_variables(term(I, J), O), ( arg(4, A, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', M), ( M=[N|_] -> setarg(4, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(4, N, K) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(O, A) ), ( arg(2, P, S), setarg(2, P, active), ( arg(4, P, Q), R is Q+1, setarg(4, P, R) ), ( S==not_stored_yet -> P=suspension(_, _, _, _, _, T, U), term_variables(term(T, U), V), 'chr none_locked'(V), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', W), X=[P|W], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', X), ( W=[Y|_] -> setarg(5, Y, X) ; true ) ), 'attach_known/1_1_$special_\\=/2___2'(V, P) ; true ) ), known(Z), ( P=suspension(_, active, _, R, _, _, _) -> setarg(2, P, inactive), 'known/1_1_$special_\\=/2___2__2__0__12'(A1, F, H, P) ; true ) ; 'known/1_1_$special_\\=/2___2__2__0__12'(A1, F, H, P) ). 'known/1_1_$special_\\=/2___2__2'(A, B, C) :- 'known/1_1_$special_\\=/2___2__3'(A, B, C). 'known/1_1_$special_\\=/2___2__3'(_, _, A) :- arg(2, A, D), setarg(2, A, active), arg(4, A, B), C is B+1, setarg(4, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, _, E, F), term_variables(term(E, F), G), 'chr none_locked'(G), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', H), I=[A|H], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', I), ( H=[J|_] -> setarg(5, J, I) ; true ) ), 'attach_known/1_1_$special_\\=/2___2'(G, A) ; true ). 'known/1_1_$special_=/2'(A, B) :- 'known/1_1_$special_=/2___2__0'(A, B, _). 'known/1_1_$special_=/2___2__0'(A, B, I) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, G, H), G==A, H==B, !, ( var(I) -> true ; I=suspension(_, J, _, _, K, L), setarg(2, I, removed), ( J==not_stored_yet -> M=[] ; term_variables(term(K, L), M), ( arg(4, I, N), ( var(N) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', O), O=[_|P], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', P), ( P=[Q|_] -> setarg(4, Q, _) ; true ) ; N=[_, _|P], setarg(2, N, P), ( P=[Q|_] -> setarg(4, Q, N) ; true ) ) ), 'detach_known/1_1_$special_=/2___2'(M, I) ) ). 'known/1_1_$special_=/2___2__0'(_, _, C) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !, ( var(C) -> true ; C=suspension(_, D, _, _, E, F), setarg(2, C, removed), ( D==not_stored_yet -> G=[] ; term_variables(term(E, F), G), ( arg(4, C, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', J), ( J=[K|_] -> setarg(4, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(4, K, H) ; true ) ) ), 'detach_known/1_1_$special_=/2___2'(G, C) ) ). 'known/1_1_$special_=/2___2__0'(B, A, C) :- A==B, !, ( var(C) -> true ; C=suspension(_, D, _, _, E, F), setarg(2, C, removed), ( D==not_stored_yet -> G=[] ; term_variables(term(E, F), G), ( arg(4, C, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', J), ( J=[K|_] -> setarg(4, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(4, K, H) ; true ) ) ), 'detach_known/1_1_$special_=/2___2'(G, C) ) ). 'known/1_1_$special_=/2___2__0'(A, K, B) :- var(A), !, ( var(B) -> true ; B=suspension(_, C, _, _, D, E), setarg(2, B, removed), ( C==not_stored_yet -> F=[] ; term_variables(term(D, E), F), ( arg(4, B, G), ( var(G) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', H), H=[_|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', I), ( I=[J|_] -> setarg(4, J, _) ; true ) ; G=[_, _|I], setarg(2, G, I), ( I=[J|_] -> setarg(4, J, G) ; true ) ) ), 'detach_known/1_1_$special_=/2___2'(F, B) ) ), A=K. 'known/1_1_$special_=/2___2__0'(K, A, B) :- var(A), !, ( var(B) -> true ; B=suspension(_, C, _, _, D, E), setarg(2, B, removed), ( C==not_stored_yet -> F=[] ; term_variables(term(D, E), F), ( arg(4, B, G), ( var(G) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', H), H=[_|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', I), ( I=[J|_] -> setarg(4, J, _) ; true ) ; G=[_, _|I], setarg(2, G, I), ( I=[J|_] -> setarg(4, J, G) ; true ) ) ), 'detach_known/1_1_$special_=/2___2'(F, B) ) ), K=A. 'known/1_1_$special_=/2___2__0'(A, K, B) :- 'chr lock'(A), functor(A, L, M), 'chr unlock'(A), !, ( var(B) -> true ; B=suspension(_, C, _, _, D, E), setarg(2, B, removed), ( C==not_stored_yet -> F=[] ; term_variables(term(D, E), F), ( arg(4, B, G), ( var(G) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', H), H=[_|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', I), ( I=[J|_] -> setarg(4, J, _) ; true ) ; G=[_, _|I], setarg(2, G, I), ( I=[J|_] -> setarg(4, J, G) ; true ) ) ), 'detach_known/1_1_$special_=/2___2'(F, B) ) ), ( functor(K, L, M), A=K -> true ; 'known/1_1_$special_fail/0' ). 'known/1_1_$special_=/2___2__0'(A, B, P) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, G), nonvar(G), G= (H=I), H==A, I==B, !, F=suspension(_, _, _, _, J), setarg(2, F, removed), term_variables(J, O), arg(4, F, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', M), ( M=[N|_] -> setarg(4, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(4, N, K) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(O, F), ( var(P) -> true ; P=suspension(_, Q, _, _, R, S), setarg(2, P, removed), ( Q==not_stored_yet -> T=[] ; term_variables(term(R, S), T), ( arg(4, P, U), ( var(U) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', V), V=[_|W], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', W), ( W=[X|_] -> setarg(4, X, _) ; true ) ; U=[_, _|W], setarg(2, U, W), ( W=[X|_] -> setarg(4, X, U) ; true ) ) ), 'detach_known/1_1_$special_=/2___2'(T, P) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_=/2___2__0'(A, B, F) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', E) ), !, ( var(F) -> F=suspension(G, not_stored_yet, 0, _, A, B), 'chr gen_id'(G) ; true ), 'known/1_1_$special_=/2___2__0__0__10'(E, A, B, F). 'known/1_1_$special_=/2___2__0__0__10'([], A, B, C) :- 'known/1_1_$special_=/2___2__1'(A, B, C). 'known/1_1_$special_=/2___2__0__0__10'([A|Z], E, G, O) :- ( A=suspension(_, active, _, _, B, Y), nonvar(B), B= (\+C), nonvar(C), C= (D=F), D==E, F==G -> ( A=suspension(_, _, _, _, H, I), setarg(2, A, removed), term_variables(term(H, I), N), ( arg(4, A, J), ( var(J) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', K), K=[_|L], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', L), ( L=[M|_] -> setarg(4, M, _) ; true ) ; J=[_, _|L], setarg(2, J, L), ( L=[M|_] -> setarg(4, M, J) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(N, A) ), ( arg(2, O, R), setarg(2, O, active), ( arg(3, O, P), Q is P+1, setarg(3, O, Q) ), ( R==not_stored_yet -> O=suspension(_, _, _, _, S, T), term_variables(term(S, T), U), 'chr none_locked'(U), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', V), W=[O|V], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', W), ( V=[X|_] -> setarg(4, X, W) ; true ) ), 'attach_known/1_1_$special_=/2___2'(U, O) ; true ) ), known(Y), ( O=suspension(_, active, Q, _, _, _) -> setarg(2, O, inactive), 'known/1_1_$special_=/2___2__0__0__10'(Z, E, G, O) ; true ) ; 'known/1_1_$special_=/2___2__0__0__10'(Z, E, G, O) ). 'known/1_1_$special_=/2___2__0'(B, C, A) :- ( var(A) -> A=suspension(D, not_stored_yet, 0, _, B, C), 'chr gen_id'(D) ; true ), 'known/1_1_$special_=/2___2__1'(B, C, A). 'known/1_1_$special_=/2___2__1'(A, B, F) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', E) ), !, 'known/1_1_$special_=/2___2__1__0__11'(E, A, B, F). 'known/1_1_$special_=/2___2__1__0__11'([], A, B, C) :- 'known/1_1_$special_=/2___2__2'(A, B, C). 'known/1_1_$special_=/2___2__1__0__11'([A|A1], F, H, P) :- ( A=suspension(_, active, _, _, B, Z), nonvar(B), B= (C, _), nonvar(C), C= (\+D), nonvar(D), D= (E=G), E==F, G==H -> ( A=suspension(_, _, _, _, I, J), setarg(2, A, removed), term_variables(term(I, J), O), ( arg(4, A, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', M), ( M=[N|_] -> setarg(4, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(4, N, K) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(O, A) ), ( arg(2, P, S), setarg(2, P, active), ( arg(3, P, Q), R is Q+1, setarg(3, P, R) ), ( S==not_stored_yet -> P=suspension(_, _, _, _, T, U), term_variables(term(T, U), V), 'chr none_locked'(V), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', W), X=[P|W], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', X), ( W=[Y|_] -> setarg(4, Y, X) ; true ) ), 'attach_known/1_1_$special_=/2___2'(V, P) ; true ) ), known(Z), ( P=suspension(_, active, R, _, _, _) -> setarg(2, P, inactive), 'known/1_1_$special_=/2___2__1__0__11'(A1, F, H, P) ; true ) ; 'known/1_1_$special_=/2___2__1__0__11'(A1, F, H, P) ). 'known/1_1_$special_=/2___2__1'(A, B, C) :- 'known/1_1_$special_=/2___2__2'(A, B, C). 'known/1_1_$special_=/2___2__2'(_, _, A) :- arg(2, A, D), setarg(2, A, active), arg(3, A, B), C is B+1, setarg(3, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, E, F), term_variables(term(E, F), G), 'chr none_locked'(G), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', H), I=[A|H], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', I), ( H=[J|_] -> setarg(4, J, I) ; true ) ), 'attach_known/1_1_$special_=/2___2'(G, A) ; true ). 'known/1_1_$special_,/2'(_, _) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !. 'known/1_1_$special_,/2'(A, B) :- known(A), known(B). 'known/1_1_$special_\\==/2'(A, B) :- 'known/1_1_$special_\\==/2___2__0'(A, B, _). 'known/1_1_$special_\\==/2___2__0'(A, B, I) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, _, G, H), G==A, H==B, !, ( var(I) -> true ; I=suspension(_, J, _, _, _, K, L), setarg(2, I, removed), ( J==not_stored_yet -> M=[] ; term_variables(term(K, L), M), ( arg(5, I, N), ( var(N) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', O), O=[_|P], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', P), ( P=[Q|_] -> setarg(5, Q, _) ; true ) ; N=[_, _|P], setarg(2, N, P), ( P=[Q|_] -> setarg(5, Q, N) ; true ) ) ), 'detach_known/1_1_$special_\\==/2___2'(M, I) ) ). 'known/1_1_$special_\\==/2___2__0'(B, C, A) :- ( var(A) -> A=suspension(D, not_stored_yet, t, 0, _, B, C), 'chr gen_id'(D) ; true ), ( '$novel_production'(A, 138), number(B), !, '$extend_history'(A, 138), arg(2, A, G), setarg(2, A, active), arg(4, A, E), F is E+1, setarg(4, A, F), ( G==not_stored_yet -> A=suspension(_, _, _, _, _, H, I), term_variables(term(H, I), J), 'chr none_locked'(J), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', K), L=[A|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', L), ( K=[M|_] -> setarg(5, M, L) ; true ) ), 'attach_known/1_1_$special_\\==/2___2'(J, A) ; true ), 'known/1_1_$special_=\\=/2'(B, C), ( A=suspension(_, active, _, F, _, _, _) -> setarg(2, A, inactive), 'known/1_1_$special_\\==/2___2__1'(B, C, A) ; true ) ; 'known/1_1_$special_\\==/2___2__1'(B, C, A) ). 'known/1_1_$special_\\==/2___2__1'(L, B, A) :- '$novel_production'(A, 139), number(B), !, '$extend_history'(A, 139), arg(2, A, E), setarg(2, A, active), arg(4, A, C), D is C+1, setarg(4, A, D), ( E==not_stored_yet -> A=suspension(_, _, _, _, _, F, G), term_variables(term(F, G), H), 'chr none_locked'(H), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', I), J=[A|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', J), ( I=[K|_] -> setarg(5, K, J) ; true ) ), 'attach_known/1_1_$special_\\==/2___2'(H, A) ; true ), 'known/1_1_$special_=\\=/2'(L, B), ( A=suspension(_, active, _, D, _, _, _) -> setarg(2, A, inactive), 'known/1_1_$special_\\==/2___2__2'(L, B, A) ; true ). 'known/1_1_$special_\\==/2___2__1'(A, B, C) :- 'known/1_1_$special_\\==/2___2__2'(A, B, C). 'known/1_1_$special_\\==/2___2__2'(_, _, C) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !, ( var(C) -> true ; C=suspension(_, D, _, _, _, E, F), setarg(2, C, removed), ( D==not_stored_yet -> G=[] ; term_variables(term(E, F), G), ( arg(5, C, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', J), ( J=[K|_] -> setarg(5, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(5, K, H) ; true ) ) ), 'detach_known/1_1_$special_\\==/2___2'(G, C) ) ). 'known/1_1_$special_\\==/2___2__2'(A, B, P) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, G), nonvar(G), G= (H\==I), H==A, I==B, !, F=suspension(_, _, _, _, J), setarg(2, F, removed), term_variables(J, O), arg(4, F, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', M), ( M=[N|_] -> setarg(4, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(4, N, K) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(O, F), ( var(P) -> true ; P=suspension(_, Q, _, _, _, R, S), setarg(2, P, removed), ( Q==not_stored_yet -> T=[] ; term_variables(term(R, S), T), ( arg(5, P, U), ( var(U) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', V), V=[_|W], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', W), ( W=[X|_] -> setarg(5, X, _) ; true ) ; U=[_, _|W], setarg(2, U, W), ( W=[X|_] -> setarg(5, X, U) ; true ) ) ), 'detach_known/1_1_$special_\\==/2___2'(T, P) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_\\==/2___2__2'(A, B, P) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, _, G, H), G==A, H==B, !, F=suspension(_, _, _, _, _, I, J), setarg(2, F, removed), term_variables(term(I, J), O), arg(5, F, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', M), ( M=[N|_] -> setarg(5, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(5, N, K) ; true ) ), 'detach_known/1_1_$special_==/2___2'(O, F), ( var(P) -> true ; P=suspension(_, Q, _, _, _, R, S), setarg(2, P, removed), ( Q==not_stored_yet -> T=[] ; term_variables(term(R, S), T), ( arg(5, P, U), ( var(U) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', V), V=[_|W], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', W), ( W=[X|_] -> setarg(5, X, _) ; true ) ; U=[_, _|W], setarg(2, U, W), ( W=[X|_] -> setarg(5, X, U) ; true ) ) ), 'detach_known/1_1_$special_\\==/2___2'(T, P) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_\\==/2___2__2'(A, E, F) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', D) ), !, 'known/1_1_$special_\\==/2___2__2__0__9'(D, A, E, F). 'known/1_1_$special_\\==/2___2__2__0__9'([], A, B, C) :- 'known/1_1_$special_\\==/2___2__3'(A, B, C). 'known/1_1_$special_\\==/2___2__2__0__9'([A|Q], C, P, D) :- ( A=suspension(_, active, _, _, _, O, B), B==C, E=t(229, A, D), '$novel_production'(A, E), '$novel_production'(D, E) -> '$extend_history'(D, E), ( arg(2, D, H), setarg(2, D, active), ( arg(4, D, F), G is F+1, setarg(4, D, G) ), ( H==not_stored_yet -> D=suspension(_, _, _, _, _, I, J), term_variables(term(I, J), K), 'chr none_locked'(K), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', L), M=[D|L], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', M), ( L=[N|_] -> setarg(5, N, M) ; true ) ), 'attach_known/1_1_$special_\\==/2___2'(K, D) ; true ) ), 'known/1_1_$special_\\==/2'(O, P), ( D=suspension(_, active, _, G, _, _, _) -> setarg(2, D, inactive), 'known/1_1_$special_\\==/2___2__2__0__9'(Q, C, P, D) ; true ) ; 'known/1_1_$special_\\==/2___2__2__0__9'(Q, C, P, D) ). 'known/1_1_$special_\\==/2___2__2'(A, B, C) :- 'known/1_1_$special_\\==/2___2__3'(A, B, C). 'known/1_1_$special_\\==/2___2__3'(L, K, A) :- '$novel_production'(A, 231), !, '$extend_history'(A, 231), arg(2, A, D), setarg(2, A, active), arg(4, A, B), C is B+1, setarg(4, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, _, E, F), term_variables(term(E, F), G), 'chr none_locked'(G), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', H), I=[A|H], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', I), ( H=[J|_] -> setarg(5, J, I) ; true ) ), 'attach_known/1_1_$special_\\==/2___2'(G, A) ; true ), 'known/1_1_$special_\\==/2'(K, L), ( A=suspension(_, active, _, C, _, _, _) -> setarg(2, A, inactive), 'known/1_1_$special_\\==/2___2__4'(L, K, A) ; true ). 'known/1_1_$special_\\==/2___2__3'(A, B, C) :- 'known/1_1_$special_\\==/2___2__4'(A, B, C). 'known/1_1_$special_\\==/2___2__4'(B, A, C) :- A==B, '$novel_production'(C, 232), !, '$extend_history'(C, 232), arg(2, C, F), setarg(2, C, active), arg(4, C, D), E is D+1, setarg(4, C, E), ( F==not_stored_yet -> C=suspension(_, _, _, _, _, G, H), term_variables(term(G, H), I), 'chr none_locked'(I), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', J), K=[C|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', K), ( J=[L|_] -> setarg(5, L, K) ; true ) ), 'attach_known/1_1_$special_\\==/2___2'(I, C) ; true ), 'known/1_1_$special_fail/0', ( C=suspension(_, active, _, E, _, _, _) -> setarg(2, C, inactive), 'known/1_1_$special_\\==/2___2__5'(B, A, C) ; true ). 'known/1_1_$special_\\==/2___2__4'(A, B, C) :- 'known/1_1_$special_\\==/2___2__5'(A, B, C). 'known/1_1_$special_\\==/2___2__5'(B, A, C) :- nonvar(A), nonvar(B), 'chr lock'(B), functor(B, L, M), 'chr unlock'(B), !, ( var(C) -> true ; C=suspension(_, D, _, _, _, E, F), setarg(2, C, removed), ( D==not_stored_yet -> G=[] ; term_variables(term(E, F), G), ( arg(5, C, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', J), ( J=[K|_] -> setarg(5, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(5, K, H) ; true ) ) ), 'detach_known/1_1_$special_\\==/2___2'(G, C) ) ), ( functor(A, L, M) -> B=..[L|N], A=..[L|O], add_args_nmatch(N, O, P), known(P) ; true ). 'known/1_1_$special_\\==/2___2__5'(A, B, F) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', E) ), !, 'known/1_1_$special_\\==/2___2__5__0__13'(E, A, B, F). 'known/1_1_$special_\\==/2___2__5__0__13'([], A, B, C) :- 'known/1_1_$special_\\==/2___2__6'(A, B, C). 'known/1_1_$special_\\==/2___2__5__0__13'([A|Z], E, G, O) :- ( A=suspension(_, active, _, _, B, Y), nonvar(B), B= (\+C), nonvar(C), C= (D\==F), D==E, F==G -> ( A=suspension(_, _, _, _, H, I), setarg(2, A, removed), term_variables(term(H, I), N), ( arg(4, A, J), ( var(J) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', K), K=[_|L], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', L), ( L=[M|_] -> setarg(4, M, _) ; true ) ; J=[_, _|L], setarg(2, J, L), ( L=[M|_] -> setarg(4, M, J) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(N, A) ), ( arg(2, O, R), setarg(2, O, active), ( arg(4, O, P), Q is P+1, setarg(4, O, Q) ), ( R==not_stored_yet -> O=suspension(_, _, _, _, _, S, T), term_variables(term(S, T), U), 'chr none_locked'(U), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', V), W=[O|V], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', W), ( V=[X|_] -> setarg(5, X, W) ; true ) ), 'attach_known/1_1_$special_\\==/2___2'(U, O) ; true ) ), known(Y), ( O=suspension(_, active, _, Q, _, _, _) -> setarg(2, O, inactive), 'known/1_1_$special_\\==/2___2__5__0__13'(Z, E, G, O) ; true ) ; 'known/1_1_$special_\\==/2___2__5__0__13'(Z, E, G, O) ). 'known/1_1_$special_\\==/2___2__5'(A, B, C) :- 'known/1_1_$special_\\==/2___2__6'(A, B, C). 'known/1_1_$special_\\==/2___2__6'(A, B, F) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', E) ), !, 'known/1_1_$special_\\==/2___2__6__0__14'(E, A, B, F). 'known/1_1_$special_\\==/2___2__6__0__14'([], A, B, C) :- 'known/1_1_$special_\\==/2___2__7'(A, B, C). 'known/1_1_$special_\\==/2___2__6__0__14'([A|A1], F, H, P) :- ( A=suspension(_, active, _, _, B, Z), nonvar(B), B= (C, _), nonvar(C), C= (\+D), nonvar(D), D= (E\==G), E==F, G==H -> ( A=suspension(_, _, _, _, I, J), setarg(2, A, removed), term_variables(term(I, J), O), ( arg(4, A, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', M), ( M=[N|_] -> setarg(4, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(4, N, K) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(O, A) ), ( arg(2, P, S), setarg(2, P, active), ( arg(4, P, Q), R is Q+1, setarg(4, P, R) ), ( S==not_stored_yet -> P=suspension(_, _, _, _, _, T, U), term_variables(term(T, U), V), 'chr none_locked'(V), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', W), X=[P|W], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', X), ( W=[Y|_] -> setarg(5, Y, X) ; true ) ), 'attach_known/1_1_$special_\\==/2___2'(V, P) ; true ) ), known(Z), ( P=suspension(_, active, _, R, _, _, _) -> setarg(2, P, inactive), 'known/1_1_$special_\\==/2___2__6__0__14'(A1, F, H, P) ; true ) ; 'known/1_1_$special_\\==/2___2__6__0__14'(A1, F, H, P) ). 'known/1_1_$special_\\==/2___2__6'(A, B, C) :- 'known/1_1_$special_\\==/2___2__7'(A, B, C). 'known/1_1_$special_\\==/2___2__7'(_, _, A) :- arg(2, A, D), setarg(2, A, active), arg(4, A, B), C is B+1, setarg(4, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, _, E, F), term_variables(term(E, F), G), 'chr none_locked'(G), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', H), I=[A|H], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', I), ( H=[J|_] -> setarg(5, J, I) ; true ) ), 'attach_known/1_1_$special_\\==/2___2'(G, A) ; true ). 'known/1_1_$special_==/2'(A, B) :- 'known/1_1_$special_==/2___2__0'(A, B, _). 'known/1_1_$special_==/2___2__0'(A, B, I) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, _, G, H), G==A, H==B, !, ( var(I) -> true ; I=suspension(_, J, _, _, _, K, L), setarg(2, I, removed), ( J==not_stored_yet -> M=[] ; term_variables(term(K, L), M), ( arg(5, I, N), ( var(N) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', O), O=[_|P], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', P), ( P=[Q|_] -> setarg(5, Q, _) ; true ) ; N=[_, _|P], setarg(2, N, P), ( P=[Q|_] -> setarg(5, Q, N) ; true ) ) ), 'detach_known/1_1_$special_==/2___2'(M, I) ) ). 'known/1_1_$special_==/2___2__0'(B, C, A) :- ( var(A) -> A=suspension(D, not_stored_yet, t, 0, _, B, C), 'chr gen_id'(D) ; true ), ( '$novel_production'(A, 136), number(B), !, '$extend_history'(A, 136), arg(2, A, G), setarg(2, A, active), arg(4, A, E), F is E+1, setarg(4, A, F), ( G==not_stored_yet -> A=suspension(_, _, _, _, _, H, I), term_variables(term(H, I), J), 'chr none_locked'(J), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', K), L=[A|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', L), ( K=[M|_] -> setarg(5, M, L) ; true ) ), 'attach_known/1_1_$special_==/2___2'(J, A) ; true ), 'known/1_1_$special_=:=/2'(B, C), ( A=suspension(_, active, _, F, _, _, _) -> setarg(2, A, inactive), 'known/1_1_$special_==/2___2__1'(B, C, A) ; true ) ; 'known/1_1_$special_==/2___2__1'(B, C, A) ). 'known/1_1_$special_==/2___2__1'(L, B, A) :- '$novel_production'(A, 137), number(B), !, '$extend_history'(A, 137), arg(2, A, E), setarg(2, A, active), arg(4, A, C), D is C+1, setarg(4, A, D), ( E==not_stored_yet -> A=suspension(_, _, _, _, _, F, G), term_variables(term(F, G), H), 'chr none_locked'(H), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', I), J=[A|I], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', J), ( I=[K|_] -> setarg(5, K, J) ; true ) ), 'attach_known/1_1_$special_==/2___2'(H, A) ; true ), 'known/1_1_$special_=:=/2'(L, B), ( A=suspension(_, active, _, D, _, _, _) -> setarg(2, A, inactive), 'known/1_1_$special_==/2___2__2'(L, B, A) ; true ). 'known/1_1_$special_==/2___2__1'(A, B, C) :- 'known/1_1_$special_==/2___2__2'(A, B, C). 'known/1_1_$special_==/2___2__2'(_, _, C) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !, ( var(C) -> true ; C=suspension(_, D, _, _, _, E, F), setarg(2, C, removed), ( D==not_stored_yet -> G=[] ; term_variables(term(E, F), G), ( arg(5, C, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', J), ( J=[K|_] -> setarg(5, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(5, K, H) ; true ) ) ), 'detach_known/1_1_$special_==/2___2'(G, C) ) ). 'known/1_1_$special_==/2___2__2'(B, A, C) :- A==B, !, ( var(C) -> true ; C=suspension(_, D, _, _, _, E, F), setarg(2, C, removed), ( D==not_stored_yet -> G=[] ; term_variables(term(E, F), G), ( arg(5, C, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', J), ( J=[K|_] -> setarg(5, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(5, K, H) ; true ) ) ), 'detach_known/1_1_$special_==/2___2'(G, C) ) ). 'known/1_1_$special_==/2___2__2'(A, B, P) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, G), nonvar(G), G= (H==I), H==A, I==B, !, F=suspension(_, _, _, _, J), setarg(2, F, removed), term_variables(J, O), arg(4, F, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', M), ( M=[N|_] -> setarg(4, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(4, N, K) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(O, F), ( var(P) -> true ; P=suspension(_, Q, _, _, _, R, S), setarg(2, P, removed), ( Q==not_stored_yet -> T=[] ; term_variables(term(R, S), T), ( arg(5, P, U), ( var(U) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', V), V=[_|W], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', W), ( W=[X|_] -> setarg(5, X, _) ; true ) ; U=[_, _|W], setarg(2, U, W), ( W=[X|_] -> setarg(5, X, U) ; true ) ) ), 'detach_known/1_1_$special_==/2___2'(T, P) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_==/2___2__2'(A, B, P) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, _, G, H), G==A, H==B, !, F=suspension(_, _, _, _, _, I, J), setarg(2, F, removed), term_variables(term(I, J), O), arg(5, F, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', M), ( M=[N|_] -> setarg(5, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(5, N, K) ; true ) ), 'detach_known/1_1_$special_\\==/2___2'(O, F), ( var(P) -> true ; P=suspension(_, Q, _, _, _, R, S), setarg(2, P, removed), ( Q==not_stored_yet -> T=[] ; term_variables(term(R, S), T), ( arg(5, P, U), ( var(U) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', V), V=[_|W], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', W), ( W=[X|_] -> setarg(5, X, _) ; true ) ; U=[_, _|W], setarg(2, U, W), ( W=[X|_] -> setarg(5, X, U) ; true ) ) ), 'detach_known/1_1_$special_==/2___2'(T, P) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_==/2___2__2'(E, A, F) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', D) ), !, 'known/1_1_$special_==/2___2__2__0__10'(D, E, A, F). 'known/1_1_$special_==/2___2__2__0__10'([], A, B, C) :- 'known/1_1_$special_==/2___2__3'(A, B, C). 'known/1_1_$special_==/2___2__2__0__10'([A|Q], O, C, D) :- ( A=suspension(_, active, _, _, _, B, P), B==C, E=t(228, D, A), '$novel_production'(D, E), '$novel_production'(A, E) -> '$extend_history'(D, E), ( arg(2, D, H), setarg(2, D, active), ( arg(4, D, F), G is F+1, setarg(4, D, G) ), ( H==not_stored_yet -> D=suspension(_, _, _, _, _, I, J), term_variables(term(I, J), K), 'chr none_locked'(K), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', L), M=[D|L], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', M), ( L=[N|_] -> setarg(5, N, M) ; true ) ), 'attach_known/1_1_$special_==/2___2'(K, D) ; true ) ), 'known/1_1_$special_==/2'(O, P), ( D=suspension(_, active, _, G, _, _, _) -> setarg(2, D, inactive), 'known/1_1_$special_==/2___2__2__0__10'(Q, O, C, D) ; true ) ; 'known/1_1_$special_==/2___2__2__0__10'(Q, O, C, D) ). 'known/1_1_$special_==/2___2__2'(A, B, C) :- 'known/1_1_$special_==/2___2__3'(A, B, C). 'known/1_1_$special_==/2___2__3'(A, E, F) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', D) ), !, 'known/1_1_$special_==/2___2__3__0__11'(D, A, E, F). 'known/1_1_$special_==/2___2__3__0__11'([], A, B, C) :- 'known/1_1_$special_==/2___2__4'(A, B, C). 'known/1_1_$special_==/2___2__3__0__11'([A|Q], C, P, D) :- ( A=suspension(_, active, _, _, _, O, B), B==C, E=t(228, A, D), '$novel_production'(A, E), '$novel_production'(D, E) -> '$extend_history'(D, E), ( arg(2, D, H), setarg(2, D, active), ( arg(4, D, F), G is F+1, setarg(4, D, G) ), ( H==not_stored_yet -> D=suspension(_, _, _, _, _, I, J), term_variables(term(I, J), K), 'chr none_locked'(K), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', L), M=[D|L], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', M), ( L=[N|_] -> setarg(5, N, M) ; true ) ), 'attach_known/1_1_$special_==/2___2'(K, D) ; true ) ), 'known/1_1_$special_==/2'(O, P), ( D=suspension(_, active, _, G, _, _, _) -> setarg(2, D, inactive), 'known/1_1_$special_==/2___2__3__0__11'(Q, C, P, D) ; true ) ; 'known/1_1_$special_==/2___2__3__0__11'(Q, C, P, D) ). 'known/1_1_$special_==/2___2__3'(A, B, C) :- 'known/1_1_$special_==/2___2__4'(A, B, C). 'known/1_1_$special_==/2___2__4'(E, A, F) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', D) ), !, 'known/1_1_$special_==/2___2__4__0__12'(D, E, A, F). 'known/1_1_$special_==/2___2__4__0__12'([], A, B, C) :- 'known/1_1_$special_==/2___2__5'(A, B, C). 'known/1_1_$special_==/2___2__4__0__12'([A|Q], O, C, D) :- ( A=suspension(_, active, _, _, _, B, P), B==C, E=t(229, D, A), '$novel_production'(D, E), '$novel_production'(A, E) -> '$extend_history'(D, E), ( arg(2, D, H), setarg(2, D, active), ( arg(4, D, F), G is F+1, setarg(4, D, G) ), ( H==not_stored_yet -> D=suspension(_, _, _, _, _, I, J), term_variables(term(I, J), K), 'chr none_locked'(K), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', L), M=[D|L], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', M), ( L=[N|_] -> setarg(5, N, M) ; true ) ), 'attach_known/1_1_$special_==/2___2'(K, D) ; true ) ), 'known/1_1_$special_\\==/2'(O, P), ( D=suspension(_, active, _, G, _, _, _) -> setarg(2, D, inactive), 'known/1_1_$special_==/2___2__4__0__12'(Q, O, C, D) ; true ) ; 'known/1_1_$special_==/2___2__4__0__12'(Q, O, C, D) ). 'known/1_1_$special_==/2___2__4'(A, B, C) :- 'known/1_1_$special_==/2___2__5'(A, B, C). 'known/1_1_$special_==/2___2__5'(L, K, A) :- '$novel_production'(A, 230), !, '$extend_history'(A, 230), arg(2, A, D), setarg(2, A, active), arg(4, A, B), C is B+1, setarg(4, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, _, E, F), term_variables(term(E, F), G), 'chr none_locked'(G), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', H), I=[A|H], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', I), ( H=[J|_] -> setarg(5, J, I) ; true ) ), 'attach_known/1_1_$special_==/2___2'(G, A) ; true ), 'known/1_1_$special_==/2'(K, L), ( A=suspension(_, active, _, C, _, _, _) -> setarg(2, A, inactive), 'known/1_1_$special_==/2___2__6'(L, K, A) ; true ). 'known/1_1_$special_==/2___2__5'(A, B, C) :- 'known/1_1_$special_==/2___2__6'(A, B, C). 'known/1_1_$special_==/2___2__6'(K, L, A) :- '$novel_production'(A, 234), !, '$extend_history'(A, 234), arg(2, A, D), setarg(2, A, active), arg(4, A, B), C is B+1, setarg(4, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, _, E, F), term_variables(term(E, F), G), 'chr none_locked'(G), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', H), I=[A|H], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', I), ( H=[J|_] -> setarg(5, J, I) ; true ) ), 'attach_known/1_1_$special_==/2___2'(G, A) ; true ), 'known/1_1_$special_=/2'(K, L), ( A=suspension(_, active, _, C, _, _, _) -> setarg(2, A, inactive), 'known/1_1_$special_==/2___2__7'(K, L, A) ; true ). 'known/1_1_$special_==/2___2__6'(A, B, C) :- 'known/1_1_$special_==/2___2__7'(A, B, C). 'known/1_1_$special_==/2___2__7'(A, B, F) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', E) ), !, 'known/1_1_$special_==/2___2__7__0__15'(E, A, B, F). 'known/1_1_$special_==/2___2__7__0__15'([], A, B, C) :- 'known/1_1_$special_==/2___2__8'(A, B, C). 'known/1_1_$special_==/2___2__7__0__15'([A|Z], E, G, O) :- ( A=suspension(_, active, _, _, B, Y), nonvar(B), B= (\+C), nonvar(C), C= (D==F), D==E, F==G -> ( A=suspension(_, _, _, _, H, I), setarg(2, A, removed), term_variables(term(H, I), N), ( arg(4, A, J), ( var(J) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', K), K=[_|L], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', L), ( L=[M|_] -> setarg(4, M, _) ; true ) ; J=[_, _|L], setarg(2, J, L), ( L=[M|_] -> setarg(4, M, J) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(N, A) ), ( arg(2, O, R), setarg(2, O, active), ( arg(4, O, P), Q is P+1, setarg(4, O, Q) ), ( R==not_stored_yet -> O=suspension(_, _, _, _, _, S, T), term_variables(term(S, T), U), 'chr none_locked'(U), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', V), W=[O|V], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', W), ( V=[X|_] -> setarg(5, X, W) ; true ) ), 'attach_known/1_1_$special_==/2___2'(U, O) ; true ) ), known(Y), ( O=suspension(_, active, _, Q, _, _, _) -> setarg(2, O, inactive), 'known/1_1_$special_==/2___2__7__0__15'(Z, E, G, O) ; true ) ; 'known/1_1_$special_==/2___2__7__0__15'(Z, E, G, O) ). 'known/1_1_$special_==/2___2__7'(A, B, C) :- 'known/1_1_$special_==/2___2__8'(A, B, C). 'known/1_1_$special_==/2___2__8'(A, B, F) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', E) ), !, 'known/1_1_$special_==/2___2__8__0__16'(E, A, B, F). 'known/1_1_$special_==/2___2__8__0__16'([], A, B, C) :- 'known/1_1_$special_==/2___2__9'(A, B, C). 'known/1_1_$special_==/2___2__8__0__16'([A|A1], F, H, P) :- ( A=suspension(_, active, _, _, B, Z), nonvar(B), B= (C, _), nonvar(C), C= (\+D), nonvar(D), D= (E==G), E==F, G==H -> ( A=suspension(_, _, _, _, I, J), setarg(2, A, removed), term_variables(term(I, J), O), ( arg(4, A, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', M), ( M=[N|_] -> setarg(4, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(4, N, K) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(O, A) ), ( arg(2, P, S), setarg(2, P, active), ( arg(4, P, Q), R is Q+1, setarg(4, P, R) ), ( S==not_stored_yet -> P=suspension(_, _, _, _, _, T, U), term_variables(term(T, U), V), 'chr none_locked'(V), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', W), X=[P|W], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', X), ( W=[Y|_] -> setarg(5, Y, X) ; true ) ), 'attach_known/1_1_$special_==/2___2'(V, P) ; true ) ), known(Z), ( P=suspension(_, active, _, R, _, _, _) -> setarg(2, P, inactive), 'known/1_1_$special_==/2___2__8__0__16'(A1, F, H, P) ; true ) ; 'known/1_1_$special_==/2___2__8__0__16'(A1, F, H, P) ). 'known/1_1_$special_==/2___2__8'(A, B, C) :- 'known/1_1_$special_==/2___2__9'(A, B, C). 'known/1_1_$special_==/2___2__9'(_, _, A) :- arg(2, A, D), setarg(2, A, active), arg(4, A, B), C is B+1, setarg(4, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, _, E, F), term_variables(term(E, F), G), 'chr none_locked'(G), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', H), I=[A|H], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', I), ( H=[J|_] -> setarg(5, J, I) ; true ) ), 'attach_known/1_1_$special_==/2___2'(G, A) ; true ). 'known/1_1_$special_is/2'(A, B) :- 'known/1_1_$special_=:=/2'(A, B). 'known/1_1_$special_=/2'(B, A) :- 'known/1_1_$special_=/2'(B, A) :- 'known/1_1_$special_ get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= true ; I=suspension(_, J, _, _, _, K, L), setarg(2, I, removed), ( J==not_stored_yet -> M=[] ; term_variables(term(K, L), M), ( arg(5, I, N), ( var(N) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5, Q, _) ; true ) ; N=[_, _|P], setarg(2, N, P), ( P=[Q|_] -> setarg(5, Q, N) ; true ) ) ), 'detach_known/1_1_$special_= true ; C=suspension(_, D, _, _, _, E, F), setarg(2, C, removed), ( D==not_stored_yet -> G=[] ; term_variables(term(E, F), G), ( arg(5, C, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(5, K, H) ; true ) ) ), 'detach_known/1_1_$special_= true ; C=suspension(_, D, _, _, _, E, F), setarg(2, C, removed), ( D==not_stored_yet -> G=[] ; term_variables(term(E, F), G), ( arg(5, C, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(5, K, H) ; true ) ) ), 'detach_known/1_1_$special_=A, !, ( var(C) -> true ; C=suspension(_, D, _, _, _, E, F), setarg(2, C, removed), ( D==not_stored_yet -> G=[] ; term_variables(term(E, F), G), ( arg(5, C, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(5, K, H) ; true ) ) ), 'detach_known/1_1_$special_= get_attr(L, guard_entailment, M), M=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, N, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= true ; C=suspension(_, R, _, _, _, S, T), setarg(2, C, removed), ( R==not_stored_yet -> U=[] ; term_variables(term(S, T), U), ( arg(5, C, V), ( var(V) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5, Y, _) ; true ) ; V=[_, _|X], setarg(2, V, X), ( X=[Y|_] -> setarg(5, Y, V) ; true ) ) ), 'detach_known/1_1_$special_= get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= ( A=suspension(_, _, _, _, _, F, G), setarg(2, A, removed), term_variables(term(F, G), L), ( arg(5, A, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(5, K, H) ; true ) ) ), 'detach_known/1_1_$special_= get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= true ; I=suspension(_, J, _, _, _, K, L), setarg(2, I, removed), ( J==not_stored_yet -> M=[] ; term_variables(term(K, L), M), ( arg(5, I, N), ( var(N) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5, Q, _) ; true ) ; N=[_, _|P], setarg(2, N, P), ( P=[Q|_] -> setarg(5, Q, N) ; true ) ) ), 'detach_known/1_1_$special_= get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= ( A=suspension(_, _, _, _, _, F, G), setarg(2, A, removed), term_variables(term(F, G), L), ( arg(5, A, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(5, K, H) ; true ) ) ), 'detach_known/1_1_$special_= get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(5, N, K) ; true ) ), 'detach_known/1_1_$special_= true ; P=suspension(_, Q, _, _, _, R, S), setarg(2, P, removed), ( Q==not_stored_yet -> T=[] ; term_variables(term(R, S), T), ( arg(5, P, U), ( var(U) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5, X, _) ; true ) ; U=[_, _|W], setarg(2, U, W), ( W=[X|_] -> setarg(5, X, U) ; true ) ) ), 'detach_known/1_1_$special_= get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= E=suspension(G, not_stored_yet, t, 0, _, F, A), 'chr gen_id'(G) ; true ), 'known/1_1_$special_= '$extend_history'(D, E), ( arg(2, D, H), setarg(2, D, active), ( arg(4, D, F), G is F+1, setarg(4, D, G) ), ( H==not_stored_yet -> D=suspension(_, _, _, _, _, I, J), term_variables(term(I, J), K), 'chr none_locked'(K), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5, N, M) ; true ) ), 'attach_known/1_1_$special_= setarg(2, D, inactive), 'known/1_1_$special_= A=suspension(D, not_stored_yet, t, 0, _, B, C), 'chr gen_id'(D) ; true ), 'known/1_1_$special_= get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= '$extend_history'(D, E), ( arg(2, D, H), setarg(2, D, active), ( arg(4, D, F), G is F+1, setarg(4, D, G) ), ( H==not_stored_yet -> D=suspension(_, _, _, _, _, I, J), term_variables(term(I, J), K), 'chr none_locked'(K), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5, N, M) ; true ) ), 'attach_known/1_1_$special_= setarg(2, D, inactive), 'known/1_1_$special_= get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, D, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', D) ), !, 'known/1_1_$special_= get_attr(E, guard_entailment, F), F=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, G, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= 'known/1_1_$special_= get_attr(G, guard_entailment, H), H=v(_, _, _, _, _, _, _, _, _, _, _, _, _, I, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', I) ) -> 'known/1_1_$special_= '$extend_history'(G, I), ( arg(2, G, L), setarg(2, G, active), ( arg(4, G, J), K is J+1, setarg(4, G, K) ), ( L==not_stored_yet -> G=suspension(_, _, _, _, _, M, N), term_variables(term(M, N), O), 'chr none_locked'(O), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5, R, Q) ; true ) ), 'attach_known/1_1_$special_= setarg(2, G, inactive), 'known/1_1_$special_= get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= get_attr(E, guard_entailment, F), F=v(_, _, _, _, _, _, _, _, _, _, _, _, _, G, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', G) ) -> 'known/1_1_$special_= get_attr(G, guard_entailment, H), H=v(_, _, _, _, _, _, _, _, _, _, _, _, _, I, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', I) ) -> 'known/1_1_$special_= '$extend_history'(H, I), ( arg(2, H, L), setarg(2, H, active), ( arg(4, H, J), K is J+1, setarg(4, H, K) ), ( L==not_stored_yet -> H=suspension(_, _, _, _, _, M, N), term_variables(term(M, N), O), 'chr none_locked'(O), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5, R, Q) ; true ) ), 'attach_known/1_1_$special_= setarg(2, H, inactive), 'known/1_1_$special_= get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, G), nonvar(G), G= (H= nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', M), ( M=[N|_] -> setarg(4, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(4, N, K) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(O, F), ( var(P) -> true ; P=suspension(_, Q, _, _, _, R, S), setarg(2, P, removed), ( Q==not_stored_yet -> T=[] ; term_variables(term(R, S), T), ( arg(5, P, U), ( var(U) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5, X, _) ; true ) ; U=[_, _|W], setarg(2, U, W), ( W=[X|_] -> setarg(5, X, U) ; true ) ) ), 'detach_known/1_1_$special_= get_attr(C, guard_entailment, D), D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', E) ), !, 'known/1_1_$special_= ( A=suspension(_, _, _, _, H, I), setarg(2, A, removed), term_variables(term(H, I), N), ( arg(4, A, J), ( var(J) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', K), K=[_|L], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', L), ( L=[M|_] -> setarg(4, M, _) ; true ) ; J=[_, _|L], setarg(2, J, L), ( L=[M|_] -> setarg(4, M, J) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(N, A) ), ( arg(2, O, R), setarg(2, O, active), ( arg(4, O, P), Q is P+1, setarg(4, O, Q) ), ( R==not_stored_yet -> O=suspension(_, _, _, _, _, S, T), term_variables(term(S, T), U), 'chr none_locked'(U), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5, X, W) ; true ) ), 'attach_known/1_1_$special_= setarg(2, O, inactive), 'known/1_1_$special_= get_attr(C, guard_entailment, D), D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', E) ), !, 'known/1_1_$special_= ( A=suspension(_, _, _, _, I, J), setarg(2, A, removed), term_variables(term(I, J), O), ( arg(4, A, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', M), ( M=[N|_] -> setarg(4, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(4, N, K) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(O, A) ), ( arg(2, P, S), setarg(2, P, active), ( arg(4, P, Q), R is Q+1, setarg(4, P, R) ), ( S==not_stored_yet -> P=suspension(_, _, _, _, _, T, U), term_variables(term(T, U), V), 'chr none_locked'(V), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5, Y, X) ; true ) ), 'attach_known/1_1_$special_= setarg(2, P, inactive), 'known/1_1_$special_= A=suspension(_, _, _, _, _, E, F), term_variables(term(E, F), G), 'chr none_locked'(G), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5, J, I) ; true ) ), 'attach_known/1_1_$special_= get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, E) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, _, G, H), G==A, H==B, !, ( var(I) -> true ; I=suspension(_, J, _, _, _, K, L), setarg(2, I, removed), ( J==not_stored_yet -> M=[] ; term_variables(term(K, L), M), ( arg(5, I, N), ( var(N) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', O), O=[_|P], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', P), ( P=[Q|_] -> setarg(5, Q, _) ; true ) ; N=[_, _|P], setarg(2, N, P), ( P=[Q|_] -> setarg(5, Q, N) ; true ) ) ), 'detach_known/1_1_$special_=:=/2___2'(M, I) ) ). 'known/1_1_$special_=:=/2___2__0'(_, _, C) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !, ( var(C) -> true ; C=suspension(_, D, _, _, _, E, F), setarg(2, C, removed), ( D==not_stored_yet -> G=[] ; term_variables(term(E, F), G), ( arg(5, C, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', J), ( J=[K|_] -> setarg(5, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(5, K, H) ; true ) ) ), 'detach_known/1_1_$special_=:=/2___2'(G, C) ) ). 'known/1_1_$special_=:=/2___2__0'(B, A, C) :- A==B, !, ( var(C) -> true ; C=suspension(_, D, _, _, _, E, F), setarg(2, C, removed), ( D==not_stored_yet -> G=[] ; term_variables(term(E, F), G), ( arg(5, C, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', J), ( J=[K|_] -> setarg(5, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(5, K, H) ; true ) ) ), 'detach_known/1_1_$special_=:=/2___2'(G, C) ) ). 'known/1_1_$special_=:=/2___2__0'(B, A, C) :- number(A), number(B), B=\=A, !, ( var(C) -> true ; C=suspension(_, D, _, _, _, E, F), setarg(2, C, removed), ( D==not_stored_yet -> G=[] ; term_variables(term(E, F), G), ( arg(5, C, H), ( var(H) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', I), I=[_|J], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', J), ( J=[K|_] -> setarg(5, K, _) ; true ) ; H=[_, _|J], setarg(2, H, J), ( J=[K|_] -> setarg(5, K, H) ; true ) ) ), 'detach_known/1_1_$special_=:=/2___2'(G, C) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_=:=/2___2__0'(A, B, P) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, _, G, H), G==A, H==B, !, F=suspension(_, _, _, _, _, I, J), setarg(2, F, removed), term_variables(term(I, J), O), arg(5, F, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', M), ( M=[N|_] -> setarg(5, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(5, N, K) ; true ) ), 'detach_known/1_1_$special_=\\=/2___2'(O, F), ( var(P) -> true ; P=suspension(_, Q, _, _, _, R, S), setarg(2, P, removed), ( Q==not_stored_yet -> T=[] ; term_variables(term(R, S), T), ( arg(5, P, U), ( var(U) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', V), V=[_|W], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', W), ( W=[X|_] -> setarg(5, X, _) ; true ) ; U=[_, _|W], setarg(2, U, W), ( W=[X|_] -> setarg(5, X, U) ; true ) ) ), 'detach_known/1_1_$special_=:=/2___2'(T, P) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_=:=/2___2__0'(F, A, E) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', D) ), !, ( var(E) -> E=suspension(G, not_stored_yet, t, 0, _, F, A), 'chr gen_id'(G) ; true ), 'known/1_1_$special_=:=/2___2__0__0__11'(D, F, A, E). 'known/1_1_$special_=:=/2___2__0__0__11'([], A, B, C) :- 'known/1_1_$special_=:=/2___2__1'(A, B, C). 'known/1_1_$special_=:=/2___2__0__0__11'([A|Q], F, C, D) :- ( A=suspension(_, active, _, _, _, B, G), B==C, ( E=t(193, D, A), '$novel_production'(D, E), '$novel_production'(A, E) ), F\==G -> '$extend_history'(D, E), ( arg(2, D, J), setarg(2, D, active), ( arg(4, D, H), I is H+1, setarg(4, D, I) ), ( J==not_stored_yet -> D=suspension(_, _, _, _, _, K, L), term_variables(term(K, L), M), 'chr none_locked'(M), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', N), O=[D|N], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', O), ( N=[P|_] -> setarg(5, P, O) ; true ) ), 'attach_known/1_1_$special_=:=/2___2'(M, D) ; true ) ), 'known/1_1_$special_=:=/2'(F, G), ( D=suspension(_, active, _, I, _, _, _) -> setarg(2, D, inactive), 'known/1_1_$special_=:=/2___2__0__0__11'(Q, F, C, D) ; true ) ; 'known/1_1_$special_=:=/2___2__0__0__11'(Q, F, C, D) ). 'known/1_1_$special_=:=/2___2__0'(B, C, A) :- ( var(A) -> A=suspension(D, not_stored_yet, t, 0, _, B, C), 'chr gen_id'(D) ; true ), 'known/1_1_$special_=:=/2___2__1'(B, C, A). 'known/1_1_$special_=:=/2___2__1'(A, E, F) :- ( 'chr newvia_1'(A, B) -> get_attr(B, guard_entailment, C), C=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, D) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', D) ), !, 'known/1_1_$special_=:=/2___2__1__0__12'(D, A, E, F). 'known/1_1_$special_=:=/2___2__1__0__12'([], A, B, C) :- 'known/1_1_$special_=:=/2___2__2'(A, B, C). 'known/1_1_$special_=:=/2___2__1__0__12'([A|Q], C, G, D) :- ( A=suspension(_, active, _, _, _, F, B), B==C, ( E=t(193, A, D), '$novel_production'(A, E), '$novel_production'(D, E) ), F\==G -> '$extend_history'(D, E), ( arg(2, D, J), setarg(2, D, active), ( arg(4, D, H), I is H+1, setarg(4, D, I) ), ( J==not_stored_yet -> D=suspension(_, _, _, _, _, K, L), term_variables(term(K, L), M), 'chr none_locked'(M), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', N), O=[D|N], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', O), ( N=[P|_] -> setarg(5, P, O) ; true ) ), 'attach_known/1_1_$special_=:=/2___2'(M, D) ; true ) ), 'known/1_1_$special_=:=/2'(F, G), ( D=suspension(_, active, _, I, _, _, _) -> setarg(2, D, inactive), 'known/1_1_$special_=:=/2___2__1__0__12'(Q, C, G, D) ; true ) ; 'known/1_1_$special_=:=/2___2__1__0__12'(Q, C, G, D) ). 'known/1_1_$special_=:=/2___2__1'(A, B, C) :- 'known/1_1_$special_=:=/2___2__2'(A, B, C). 'known/1_1_$special_=:=/2___2__2'(L, K, A) :- '$novel_production'(A, 194), !, '$extend_history'(A, 194), arg(2, A, D), setarg(2, A, active), arg(4, A, B), C is B+1, setarg(4, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, _, E, F), term_variables(term(E, F), G), 'chr none_locked'(G), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', H), I=[A|H], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', I), ( H=[J|_] -> setarg(5, J, I) ; true ) ), 'attach_known/1_1_$special_=:=/2___2'(G, A) ; true ), 'known/1_1_$special_=:=/2'(K, L), ( A=suspension(_, active, _, C, _, _, _) -> setarg(2, A, inactive), 'known/1_1_$special_=:=/2___2__3'(L, K, A) ; true ). 'known/1_1_$special_=:=/2___2__2'(A, B, C) :- 'known/1_1_$special_=:=/2___2__3'(A, B, C). 'known/1_1_$special_=:=/2___2__3'(A, B, P) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, _, _, _, _, _, _, _, _, _, _, _, E, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', E) ), 'chr sbag_member'(F, E), F=suspension(_, active, _, _, G), nonvar(G), G= (H=:=I), H==A, I==B, !, F=suspension(_, _, _, _, J), setarg(2, F, removed), term_variables(J, O), arg(4, F, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', M), ( M=[N|_] -> setarg(4, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(4, N, K) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(O, F), ( var(P) -> true ; P=suspension(_, Q, _, _, _, R, S), setarg(2, P, removed), ( Q==not_stored_yet -> T=[] ; term_variables(term(R, S), T), ( arg(5, P, U), ( var(U) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', V), V=[_|W], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', W), ( W=[X|_] -> setarg(5, X, _) ; true ) ; U=[_, _|W], setarg(2, U, W), ( W=[X|_] -> setarg(5, X, U) ; true ) ) ), 'detach_known/1_1_$special_=:=/2___2'(T, P) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_=:=/2___2__3'(A, B, F) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', E) ), !, 'known/1_1_$special_=:=/2___2__3__0__15'(E, A, B, F). 'known/1_1_$special_=:=/2___2__3__0__15'([], A, B, C) :- 'known/1_1_$special_=:=/2___2__4'(A, B, C). 'known/1_1_$special_=:=/2___2__3__0__15'([A|Z], E, G, O) :- ( A=suspension(_, active, _, _, B, Y), nonvar(B), B= (\+C), nonvar(C), C= (D=:=F), D==E, F==G -> ( A=suspension(_, _, _, _, H, I), setarg(2, A, removed), term_variables(term(H, I), N), ( arg(4, A, J), ( var(J) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', K), K=[_|L], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', L), ( L=[M|_] -> setarg(4, M, _) ; true ) ; J=[_, _|L], setarg(2, J, L), ( L=[M|_] -> setarg(4, M, J) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(N, A) ), ( arg(2, O, R), setarg(2, O, active), ( arg(4, O, P), Q is P+1, setarg(4, O, Q) ), ( R==not_stored_yet -> O=suspension(_, _, _, _, _, S, T), term_variables(term(S, T), U), 'chr none_locked'(U), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', V), W=[O|V], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', W), ( V=[X|_] -> setarg(5, X, W) ; true ) ), 'attach_known/1_1_$special_=:=/2___2'(U, O) ; true ) ), known(Y), ( O=suspension(_, active, _, Q, _, _, _) -> setarg(2, O, inactive), 'known/1_1_$special_=:=/2___2__3__0__15'(Z, E, G, O) ; true ) ; 'known/1_1_$special_=:=/2___2__3__0__15'(Z, E, G, O) ). 'known/1_1_$special_=:=/2___2__3'(A, B, C) :- 'known/1_1_$special_=:=/2___2__4'(A, B, C). 'known/1_1_$special_=:=/2___2__4'(A, B, F) :- ( 'chr newvia_2'(A, B, C) -> get_attr(C, guard_entailment, D), D=v(_, _, _, E, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', E) ), !, 'known/1_1_$special_=:=/2___2__4__0__16'(E, A, B, F). 'known/1_1_$special_=:=/2___2__4__0__16'([], A, B, C) :- 'known/1_1_$special_=:=/2___2__5'(A, B, C). 'known/1_1_$special_=:=/2___2__4__0__16'([A|A1], F, H, P) :- ( A=suspension(_, active, _, _, B, Z), nonvar(B), B= (C, _), nonvar(C), C= (\+D), nonvar(D), D= (E=:=G), E==F, G==H -> ( A=suspension(_, _, _, _, I, J), setarg(2, A, removed), term_variables(term(I, J), O), ( arg(4, A, K), ( var(K) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', L), L=[_|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', M), ( M=[N|_] -> setarg(4, N, _) ; true ) ; K=[_, _|M], setarg(2, K, M), ( M=[N|_] -> setarg(4, N, K) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(O, A) ), ( arg(2, P, S), setarg(2, P, active), ( arg(4, P, Q), R is Q+1, setarg(4, P, R) ), ( S==not_stored_yet -> P=suspension(_, _, _, _, _, T, U), term_variables(term(T, U), V), 'chr none_locked'(V), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', W), X=[P|W], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', X), ( W=[Y|_] -> setarg(5, Y, X) ; true ) ), 'attach_known/1_1_$special_=:=/2___2'(V, P) ; true ) ), known(Z), ( P=suspension(_, active, _, R, _, _, _) -> setarg(2, P, inactive), 'known/1_1_$special_=:=/2___2__4__0__16'(A1, F, H, P) ; true ) ; 'known/1_1_$special_=:=/2___2__4__0__16'(A1, F, H, P) ). 'known/1_1_$special_=:=/2___2__4'(A, B, C) :- 'known/1_1_$special_=:=/2___2__5'(A, B, C). 'known/1_1_$special_=:=/2___2__5'(_, _, A) :- arg(2, A, D), setarg(2, A, active), arg(4, A, B), C is B+1, setarg(4, A, C), ( D==not_stored_yet -> A=suspension(_, _, _, _, _, E, F), term_variables(term(E, F), G), 'chr none_locked'(G), ( nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', H), I=[A|H], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', I), ( H=[J|_] -> setarg(5, J, I) ; true ) ), 'attach_known/1_1_$special_=:=/2___2'(G, A) ; true ). 'known/1_1_$special_fail/0' :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', A), 'chr sbag_member'(B, A), B=suspension(_, active, _), !. 'known/1_1_$special_fail/0' :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', A), !, 'known/1_1_$special_fail/0___0__0__0__24'(A). 'known/1_1_$special_fail/0___0__0__0__24'([]) :- 'known/1_1_$special_fail/0___0__1'. 'known/1_1_$special_fail/0___0__0__0__24'([A|I]) :- ( A=suspension(_, active, _, _, _, _) -> ( A=suspension(_, _, _, _, B, C), setarg(2, A, removed), term_variables(term(B, C), H), ( arg(4, A, D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2', F), ( F=[G|_] -> setarg(4, G, _) ; true ) ; D=[_, _|F], setarg(2, D, F), ( F=[G|_] -> setarg(4, G, D) ; true ) ) ), 'detach_known/1_1_$special_;/2___2'(H, A) ), 'known/1_1_$special_fail/0___0__0__0__24'(I) ; 'known/1_1_$special_fail/0___0__0__0__24'(I) ). 'known/1_1_$special_fail/0' :- 'known/1_1_$special_fail/0___0__1'. 'known/1_1_$special_fail/0___0__1' :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', A), !, 'known/1_1_$special_fail/0___0__1__0__25'(A). 'known/1_1_$special_fail/0___0__1__0__25'([]) :- 'known/1_1_$special_fail/0___0__2'. 'known/1_1_$special_fail/0___0__1__0__25'([A|H]) :- ( A=suspension(_, active, _, _, _) -> ( A=suspension(_, _, _, _, B), setarg(2, A, removed), term_variables(B, G), ( arg(4, A, C), ( var(C) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', D), D=[_|E], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1', E), ( E=[F|_] -> setarg(4, F, _) ; true ) ; C=[_, _|E], setarg(2, C, E), ( E=[F|_] -> setarg(4, F, C) ; true ) ) ), 'detach_known/1_1_$special_nonvar/1___1'(G, A) ), 'known/1_1_$special_fail/0___0__1__0__25'(H) ; 'known/1_1_$special_fail/0___0__1__0__25'(H) ). 'known/1_1_$special_fail/0___0__1' :- 'known/1_1_$special_fail/0___0__2'. 'known/1_1_$special_fail/0___0__2' :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', A), !, 'known/1_1_$special_fail/0___0__2__0__26'(A). 'known/1_1_$special_fail/0___0__2__0__26'([]) :- 'known/1_1_$special_fail/0___0__3'. 'known/1_1_$special_fail/0___0__2__0__26'([A|H]) :- ( A=suspension(_, active, _, _, _) -> ( A=suspension(_, _, _, _, B), setarg(2, A, removed), term_variables(B, G), ( arg(4, A, C), ( var(C) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', D), D=[_|E], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1', E), ( E=[F|_] -> setarg(4, F, _) ; true ) ; C=[_, _|E], setarg(2, C, E), ( E=[F|_] -> setarg(4, F, C) ; true ) ) ), 'detach_known/1_1_$special_var/1___1'(G, A) ), 'known/1_1_$special_fail/0___0__2__0__26'(H) ; 'known/1_1_$special_fail/0___0__2__0__26'(H) ). 'known/1_1_$special_fail/0___0__2' :- 'known/1_1_$special_fail/0___0__3'. 'known/1_1_$special_fail/0___0__3' :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', A), !, 'known/1_1_$special_fail/0___0__3__0__27'(A). 'known/1_1_$special_fail/0___0__3__0__27'([]) :- 'known/1_1_$special_fail/0___0__4'. 'known/1_1_$special_fail/0___0__3__0__27'([A|H]) :- ( A=suspension(_, active, _, _, _, _) -> ( A=suspension(_, _, _, _, _, B), setarg(2, A, removed), term_variables(B, G), ( arg(5, A, C), ( var(C) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', D), D=[_|E], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1', E), ( E=[F|_] -> setarg(5, F, _) ; true ) ; C=[_, _|E], setarg(2, C, E), ( E=[F|_] -> setarg(5, F, C) ; true ) ) ), 'detach_known/1_1_$special_atom/1___1'(G, A) ), 'known/1_1_$special_fail/0___0__3__0__27'(H) ; 'known/1_1_$special_fail/0___0__3__0__27'(H) ). 'known/1_1_$special_fail/0___0__3' :- 'known/1_1_$special_fail/0___0__4'. 'known/1_1_$special_fail/0___0__4' :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', A), !, 'known/1_1_$special_fail/0___0__4__0__28'(A). 'known/1_1_$special_fail/0___0__4__0__28'([]) :- 'known/1_1_$special_fail/0___0__5'. 'known/1_1_$special_fail/0___0__4__0__28'([A|H]) :- ( A=suspension(_, active, _, _, _, _) -> ( A=suspension(_, _, _, _, _, B), setarg(2, A, removed), term_variables(B, G), ( arg(5, A, C), ( var(C) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', D), D=[_|E], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1', E), ( E=[F|_] -> setarg(5, F, _) ; true ) ; C=[_, _|E], setarg(2, C, E), ( E=[F|_] -> setarg(5, F, C) ; true ) ) ), 'detach_known/1_1_$special_atomic/1___1'(G, A) ), 'known/1_1_$special_fail/0___0__4__0__28'(H) ; 'known/1_1_$special_fail/0___0__4__0__28'(H) ). 'known/1_1_$special_fail/0___0__4' :- 'known/1_1_$special_fail/0___0__5'. 'known/1_1_$special_fail/0___0__5' :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', A), !, 'known/1_1_$special_fail/0___0__5__0__29'(A). 'known/1_1_$special_fail/0___0__5__0__29'([]) :- 'known/1_1_$special_fail/0___0__6'. 'known/1_1_$special_fail/0___0__5__0__29'([A|H]) :- ( A=suspension(_, active, _, _, _, _) -> ( A=suspension(_, _, _, _, _, B), setarg(2, A, removed), term_variables(B, G), ( arg(5, A, C), ( var(C) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', D), D=[_|E], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1', E), ( E=[F|_] -> setarg(5, F, _) ; true ) ; C=[_, _|E], setarg(2, C, E), ( E=[F|_] -> setarg(5, F, C) ; true ) ) ), 'detach_known/1_1_$special_compound/1___1'(G, A) ), 'known/1_1_$special_fail/0___0__5__0__29'(H) ; 'known/1_1_$special_fail/0___0__5__0__29'(H) ). 'known/1_1_$special_fail/0___0__5' :- 'known/1_1_$special_fail/0___0__6'. 'known/1_1_$special_fail/0___0__6' :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', A), !, 'known/1_1_$special_fail/0___0__6__0__30'(A). 'known/1_1_$special_fail/0___0__6__0__30'([]) :- 'known/1_1_$special_fail/0___0__7'. 'known/1_1_$special_fail/0___0__6__0__30'([A|H]) :- ( A=suspension(_, active, _, _, _, _) -> ( A=suspension(_, _, _, _, _, B), setarg(2, A, removed), term_variables(B, G), ( arg(5, A, C), ( var(C) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', D), D=[_|E], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1', E), ( E=[F|_] -> setarg(5, F, _) ; true ) ; C=[_, _|E], setarg(2, C, E), ( E=[F|_] -> setarg(5, F, C) ; true ) ) ), 'detach_known/1_1_$special_ground/1___1'(G, A) ), 'known/1_1_$special_fail/0___0__6__0__30'(H) ; 'known/1_1_$special_fail/0___0__6__0__30'(H) ). 'known/1_1_$special_fail/0___0__6' :- 'known/1_1_$special_fail/0___0__7'. 'known/1_1_$special_fail/0___0__7' :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', A), !, 'known/1_1_$special_fail/0___0__7__0__31'(A). 'known/1_1_$special_fail/0___0__7__0__31'([]) :- 'known/1_1_$special_fail/0___0__8'. 'known/1_1_$special_fail/0___0__7__0__31'([A|H]) :- ( A=suspension(_, active, _, _, _, _) -> ( A=suspension(_, _, _, _, _, B), setarg(2, A, removed), term_variables(B, G), ( arg(5, A, C), ( var(C) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', D), D=[_|E], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1', E), ( E=[F|_] -> setarg(5, F, _) ; true ) ; C=[_, _|E], setarg(2, C, E), ( E=[F|_] -> setarg(5, F, C) ; true ) ) ), 'detach_known/1_1_$special_integer/1___1'(G, A) ), 'known/1_1_$special_fail/0___0__7__0__31'(H) ; 'known/1_1_$special_fail/0___0__7__0__31'(H) ). 'known/1_1_$special_fail/0___0__7' :- 'known/1_1_$special_fail/0___0__8'. 'known/1_1_$special_fail/0___0__8' :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', A), !, 'known/1_1_$special_fail/0___0__8__0__32'(A). 'known/1_1_$special_fail/0___0__8__0__32'([]) :- 'known/1_1_$special_fail/0___0__9'. 'known/1_1_$special_fail/0___0__8__0__32'([A|H]) :- ( A=suspension(_, active, _, _, _, _) -> ( A=suspension(_, _, _, _, _, B), setarg(2, A, removed), term_variables(B, G), ( arg(5, A, C), ( var(C) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', D), D=[_|E], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1', E), ( E=[F|_] -> setarg(5, F, _) ; true ) ; C=[_, _|E], setarg(2, C, E), ( E=[F|_] -> setarg(5, F, C) ; true ) ) ), 'detach_known/1_1_$special_float/1___1'(G, A) ), 'known/1_1_$special_fail/0___0__8__0__32'(H) ; 'known/1_1_$special_fail/0___0__8__0__32'(H) ). 'known/1_1_$special_fail/0___0__8' :- 'known/1_1_$special_fail/0___0__9'. 'known/1_1_$special_fail/0___0__9' :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', A), !, 'known/1_1_$special_fail/0___0__9__0__33'(A). 'known/1_1_$special_fail/0___0__9__0__33'([]) :- 'known/1_1_$special_fail/0___0__10'. 'known/1_1_$special_fail/0___0__9__0__33'([A|H]) :- ( A=suspension(_, active, _, _, _, _) -> ( A=suspension(_, _, _, _, _, B), setarg(2, A, removed), term_variables(B, G), ( arg(5, A, C), ( var(C) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', D), D=[_|E], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1', E), ( E=[F|_] -> setarg(5, F, _) ; true ) ; C=[_, _|E], setarg(2, C, E), ( E=[F|_] -> setarg(5, F, C) ; true ) ) ), 'detach_known/1_1_$special_number/1___1'(G, A) ), 'known/1_1_$special_fail/0___0__9__0__33'(H) ; 'known/1_1_$special_fail/0___0__9__0__33'(H) ). 'known/1_1_$special_fail/0___0__9' :- 'known/1_1_$special_fail/0___0__10'. 'known/1_1_$special_fail/0___0__10' :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', A), !, 'known/1_1_$special_fail/0___0__10__0__34'(A). 'known/1_1_$special_fail/0___0__10__0__34'([]) :- 'known/1_1_$special_fail/0___0__11'. 'known/1_1_$special_fail/0___0__10__0__34'([A|I]) :- ( A=suspension(_, active, _, _, _, _, _) -> ( A=suspension(_, _, _, _, _, B, C), setarg(2, A, removed), term_variables(term(B, C), H), ( arg(5, A, D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2', F), ( F=[G|_] -> setarg(5, G, _) ; true ) ; D=[_, _|F], setarg(2, D, F), ( F=[G|_] -> setarg(5, G, D) ; true ) ) ), 'detach_known/1_1_$special_=\\=/2___2'(H, A) ), 'known/1_1_$special_fail/0___0__10__0__34'(I) ; 'known/1_1_$special_fail/0___0__10__0__34'(I) ). 'known/1_1_$special_fail/0___0__10' :- 'known/1_1_$special_fail/0___0__11'. 'known/1_1_$special_fail/0___0__11' :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', A), !, 'known/1_1_$special_fail/0___0__11__0__35'(A). 'known/1_1_$special_fail/0___0__11__0__35'([]) :- 'known/1_1_$special_fail/0___0__12'. 'known/1_1_$special_fail/0___0__11__0__35'([A|H]) :- ( A=suspension(_, active, _, _, _) -> ( A=suspension(_, _, _, _, B), setarg(2, A, removed), term_variables(B, G), ( arg(4, A, C), ( var(C) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', D), D=[_|E], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1', E), ( E=[F|_] -> setarg(4, F, _) ; true ) ; C=[_, _|E], setarg(2, C, E), ( E=[F|_] -> setarg(4, F, C) ; true ) ) ), 'detach_known/1_1_$special_\\+/1___1'(G, A) ), 'known/1_1_$special_fail/0___0__11__0__35'(H) ; 'known/1_1_$special_fail/0___0__11__0__35'(H) ). 'known/1_1_$special_fail/0___0__11' :- 'known/1_1_$special_fail/0___0__12'. 'known/1_1_$special_fail/0___0__12' :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', A), !, 'known/1_1_$special_fail/0___0__12__0__36'(A). 'known/1_1_$special_fail/0___0__12__0__36'([]) :- 'known/1_1_$special_fail/0___0__13'. 'known/1_1_$special_fail/0___0__12__0__36'([A|J]) :- ( A=suspension(_, active, _, _, _, _, _) -> ( A=suspension(_, _, _, _, B, C, D), setarg(2, A, removed), term_variables(term(B, C, D), I), ( arg(4, A, E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3', G), ( G=[H|_] -> setarg(4, H, _) ; true ) ; E=[_, _|G], setarg(2, E, G), ( G=[H|_] -> setarg(4, H, E) ; true ) ) ), 'detach_known/1_1_$special_functor/3___3'(I, A) ), 'known/1_1_$special_fail/0___0__12__0__36'(J) ; 'known/1_1_$special_fail/0___0__12__0__36'(J) ). 'known/1_1_$special_fail/0___0__12' :- 'known/1_1_$special_fail/0___0__13'. 'known/1_1_$special_fail/0___0__13' :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', A), !, 'known/1_1_$special_fail/0___0__13__0__37'(A). 'known/1_1_$special_fail/0___0__13__0__37'([]) :- 'known/1_1_$special_fail/0___0__14'. 'known/1_1_$special_fail/0___0__13__0__37'([A|I]) :- ( A=suspension(_, active, _, _, _, _, _) -> ( A=suspension(_, _, _, _, _, B, C), setarg(2, A, removed), term_variables(term(B, C), H), ( arg(5, A, D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2', F), ( F=[G|_] -> setarg(5, G, _) ; true ) ; D=[_, _|F], setarg(2, D, F), ( F=[G|_] -> setarg(5, G, D) ; true ) ) ), 'detach_known/1_1_$special_\\=/2___2'(H, A) ), 'known/1_1_$special_fail/0___0__13__0__37'(I) ; 'known/1_1_$special_fail/0___0__13__0__37'(I) ). 'known/1_1_$special_fail/0___0__13' :- 'known/1_1_$special_fail/0___0__14'. 'known/1_1_$special_fail/0___0__14' :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', A), !, 'known/1_1_$special_fail/0___0__14__0__38'(A). 'known/1_1_$special_fail/0___0__14__0__38'([]) :- 'known/1_1_$special_fail/0___0__15'. 'known/1_1_$special_fail/0___0__14__0__38'([A|I]) :- ( A=suspension(_, active, _, _, _, _) -> ( A=suspension(_, _, _, _, B, C), setarg(2, A, removed), term_variables(term(B, C), H), ( arg(4, A, D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2', F), ( F=[G|_] -> setarg(4, G, _) ; true ) ; D=[_, _|F], setarg(2, D, F), ( F=[G|_] -> setarg(4, G, D) ; true ) ) ), 'detach_known/1_1_$special_=/2___2'(H, A) ), 'known/1_1_$special_fail/0___0__14__0__38'(I) ; 'known/1_1_$special_fail/0___0__14__0__38'(I) ). 'known/1_1_$special_fail/0___0__14' :- 'known/1_1_$special_fail/0___0__15'. 'known/1_1_$special_fail/0___0__15' :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', A), !, 'known/1_1_$special_fail/0___0__15__0__40'(A). 'known/1_1_$special_fail/0___0__15__0__40'([]) :- 'known/1_1_$special_fail/0___0__16'. 'known/1_1_$special_fail/0___0__15__0__40'([A|I]) :- ( A=suspension(_, active, _, _, _, _, _) -> ( A=suspension(_, _, _, _, _, B, C), setarg(2, A, removed), term_variables(term(B, C), H), ( arg(5, A, D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2', F), ( F=[G|_] -> setarg(5, G, _) ; true ) ; D=[_, _|F], setarg(2, D, F), ( F=[G|_] -> setarg(5, G, D) ; true ) ) ), 'detach_known/1_1_$special_\\==/2___2'(H, A) ), 'known/1_1_$special_fail/0___0__15__0__40'(I) ; 'known/1_1_$special_fail/0___0__15__0__40'(I) ). 'known/1_1_$special_fail/0___0__15' :- 'known/1_1_$special_fail/0___0__16'. 'known/1_1_$special_fail/0___0__16' :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', A), !, 'known/1_1_$special_fail/0___0__16__0__41'(A). 'known/1_1_$special_fail/0___0__16__0__41'([]) :- 'known/1_1_$special_fail/0___0__17'. 'known/1_1_$special_fail/0___0__16__0__41'([A|I]) :- ( A=suspension(_, active, _, _, _, _, _) -> ( A=suspension(_, _, _, _, _, B, C), setarg(2, A, removed), term_variables(term(B, C), H), ( arg(5, A, D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2', F), ( F=[G|_] -> setarg(5, G, _) ; true ) ; D=[_, _|F], setarg(2, D, F), ( F=[G|_] -> setarg(5, G, D) ; true ) ) ), 'detach_known/1_1_$special_==/2___2'(H, A) ), 'known/1_1_$special_fail/0___0__16__0__41'(I) ; 'known/1_1_$special_fail/0___0__16__0__41'(I) ). 'known/1_1_$special_fail/0___0__16' :- 'known/1_1_$special_fail/0___0__17'. 'known/1_1_$special_fail/0___0__17' :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= ( A=suspension(_, _, _, _, _, B, C), setarg(2, A, removed), term_variables(term(B, C), H), ( arg(5, A, D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5, G, _) ; true ) ; D=[_, _|F], setarg(2, D, F), ( F=[G|_] -> setarg(5, G, D) ; true ) ) ), 'detach_known/1_1_$special_= ( A=suspension(_, _, _, _, _, B, C), setarg(2, A, removed), term_variables(term(B, C), H), ( arg(5, A, D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2', F), ( F=[G|_] -> setarg(5, G, _) ; true ) ; D=[_, _|F], setarg(2, D, F), ( F=[G|_] -> setarg(5, G, D) ; true ) ) ), 'detach_known/1_1_$special_=:=/2___2'(H, A) ), 'known/1_1_$special_fail/0___0__18__0__47'(I) ; 'known/1_1_$special_fail/0___0__18__0__47'(I) ). 'known/1_1_$special_fail/0___0__18' :- 'known/1_1_$special_fail/0___0__19'. 'known/1_1_$special_fail/0___0__19' :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', A), !, 'known/1_1_$special_fail/0___0__19__0__50'(A). 'known/1_1_$special_fail/0___0__19__0__50'([]) :- 'known/1_1_$special_fail/0___0__20'. 'known/1_1_$special_fail/0___0__19__0__50'([A|H]) :- ( A=suspension(_, active, _, _, _) -> ( A=suspension(_, _, _, _, B), setarg(2, A, removed), term_variables(B, G), ( arg(4, A, C), ( var(C) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', D), D=[_|E], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1', E), ( E=[F|_] -> setarg(4, F, _) ; true ) ; C=[_, _|E], setarg(2, C, E), ( E=[F|_] -> setarg(4, F, C) ; true ) ) ), 'detach_known/1_1_$default___1'(G, A) ), 'known/1_1_$special_fail/0___0__19__0__50'(H) ; 'known/1_1_$special_fail/0___0__19__0__50'(H) ). 'known/1_1_$special_fail/0___0__19' :- 'known/1_1_$special_fail/0___0__20'. 'known/1_1_$special_fail/0___0__20' :- B=suspension(A, active, _), 'chr gen_id'(A), nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', C), D=[B|C], b_setval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0', D), ( C=[E|_] -> setarg(3, E, D) ; true ). :- (multifile chr:'$chr_module'/1). chr:'$chr_module'(guard_entailment). end_of_file.