/* Generated by CHR bootstrap compiler From: guard_entailment.chr Date: Wed Mar 26 03:31:54 2008 DO NOT EDIT. EDIT THE CHR FILE INSTEAD */ :-module(guard_entailment,[entails_guard/2,simplify_guards/5]). :-use_module(chr_runtime). :-style_check(-discontiguous). :-include(chr_op). :-use_module(hprolog). :-use_module(builtins). :-use_module(chr_compiler_errors). entails_guard(A,B) :- copy_term_nat((A,B),(C,D)), term_variables(C,E), variables(E), sort(C,F), entails_guard2(F), !, test(D), !, cleanup. entails_guard2([]). entails_guard2([A|B]) :- known(A), entails_guard2(B). simplify_guards(A,B,C,D,E) :- copy_term_nat((A,C),(F,G)), term_variables(F,H), variables(H), sort(F,I), entails_guard2(I), !, simplify(G,J), simplified(C,J,D,B,E), !, 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|C],[D|E],F,G) :- builtins:binds_b(A,H), term_variables(B,I), intersect_eq(H,I,J), !, ( J=[] -> term_variables(F,K), intersect_eq(H,K,L), !, ( L=[] -> D=true, G=M ; D=true, G=(A,M) ) ; D=A, G=M ), simplified(B,C,E,F,M). simplify([],[]). simplify([A|B],[C|D]) :- ( \+try(true,A) -> C=true ; builtins:negate_b(A,E), ( \+try(true,E) -> C=fail ; C=keep ) ), known(A), simplify(B,D). try(A,B) :- ( known(A) -> true ; chr_error(internal,'Entailment Checker: try/2. ',[]) ), ( test(B) -> fail ; true ). add_args_unif([],[],true). add_args_unif([A|B],[C|D],(A=C,E)) :- add_args_unif(B,D,E). add_args_nunif([],[],fail). add_args_nunif([A|B],[C|D],(A\=C;E)) :- add_args_nunif(B,D,E). add_args_nmatch([],[],fail). add_args_nmatch([A|B],[C|D],(A\==C;E)) :- add_args_nmatch(B,D,E). all_unique_vars(A,B) :- all_unique_vars(A,B,[]). all_unique_vars([],_,_). all_unique_vars([A|B],C,D) :- var(A), \+memberchk_eq(A,C), \+memberchk_eq(A,D), all_unique_vars(B,[A|D]). :-use_module(chr(chr_runtime)). attach_variables___1([],_). attach_variables___1([A|B],C) :- ( get_attr(A,guard_entailment,A1) -> A1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\1=:=1 -> B1=v(Y,[C|D],E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X) ; Z is Y\/1, B1=v(Z,[C],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,B1) ; put_attr(A,guard_entailment,v(1,[C],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[])) ), attach_variables___1(B,C). detach_variables___1([],_). detach_variables___1([A|B],C) :- ( get_attr(A,guard_entailment,B1) -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\1=:=1 -> 'chr sbag_del_element'(D,C,A1), ( A1==[] -> Z is Y/\ -2, ( Z==0 -> del_attr(A,guard_entailment) ; put_attr(A,guard_entailment,v(Z,[],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,v(Y,A1,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X)) ) ; true ) ; true ), detach_variables___1(B,C). 'attach_known/1_1_$default___1'([],_). 'attach_known/1_1_$default___1'([A|B],C) :- ( get_attr(A,guard_entailment,A1) -> A1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\2=:=2 -> B1=v(Y,D,[C|E],F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X) ; Z is Y\/2, B1=v(Z,D,[C],F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X) ), put_attr(A,guard_entailment,B1) ; put_attr(A,guard_entailment,v(2,[],[C],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[])) ), 'attach_known/1_1_$default___1'(B,C). 'detach_known/1_1_$default___1'([],_). 'detach_known/1_1_$default___1'([A|B],C) :- ( get_attr(A,guard_entailment,B1) -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\2=:=2 -> 'chr sbag_del_element'(E,C,A1), ( A1==[] -> Z is Y/\ -3, ( Z==0 -> del_attr(A,guard_entailment) ; put_attr(A,guard_entailment,v(Z,D,[],F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X)) ) ; put_attr(A,guard_entailment,v(Y,D,A1,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X)) ) ; true ) ; true ), 'detach_known/1_1_$default___1'(B,C). 'attach_known/1_1_$special_;/2___2'([],_). 'attach_known/1_1_$special_;/2___2'([A|B],C) :- ( get_attr(A,guard_entailment,A1) -> A1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\4=:=4 -> B1=v(Y,D,E,[C|F],G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X) ; Z is Y\/4, B1=v(Z,D,E,[C],G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X) ), put_attr(A,guard_entailment,B1) ; put_attr(A,guard_entailment,v(4,[],[],[C],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[])) ), 'attach_known/1_1_$special_;/2___2'(B,C). 'detach_known/1_1_$special_;/2___2'([],_). 'detach_known/1_1_$special_;/2___2'([A|B],C) :- ( get_attr(A,guard_entailment,B1) -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\4=:=4 -> 'chr sbag_del_element'(F,C,A1), ( A1==[] -> Z is Y/\ -5, ( Z==0 -> del_attr(A,guard_entailment) ; put_attr(A,guard_entailment,v(Z,D,E,[],G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X)) ) ; put_attr(A,guard_entailment,v(Y,D,E,A1,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X)) ) ; true ) ; true ), 'detach_known/1_1_$special_;/2___2'(B,C). 'attach_known/1_1_$special_nonvar/1___1'([],_). 'attach_known/1_1_$special_nonvar/1___1'([A|B],C) :- ( get_attr(A,guard_entailment,A1) -> A1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\8=:=8 -> B1=v(Y,D,E,F,[C|G],H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X) ; Z is Y\/8, B1=v(Z,D,E,F,[C],H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X) ), put_attr(A,guard_entailment,B1) ; put_attr(A,guard_entailment,v(8,[],[],[],[C],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[])) ), 'attach_known/1_1_$special_nonvar/1___1'(B,C). 'detach_known/1_1_$special_nonvar/1___1'([],_). 'detach_known/1_1_$special_nonvar/1___1'([A|B],C) :- ( get_attr(A,guard_entailment,B1) -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\8=:=8 -> 'chr sbag_del_element'(G,C,A1), ( A1==[] -> Z is Y/\ -9, ( Z==0 -> del_attr(A,guard_entailment) ; put_attr(A,guard_entailment,v(Z,D,E,F,[],H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X)) ) ; put_attr(A,guard_entailment,v(Y,D,E,F,A1,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X)) ) ; true ) ; true ), 'detach_known/1_1_$special_nonvar/1___1'(B,C). 'attach_known/1_1_$special_var/1___1'([],_). 'attach_known/1_1_$special_var/1___1'([A|B],C) :- ( get_attr(A,guard_entailment,A1) -> A1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\16=:=16 -> B1=v(Y,D,E,F,G,[C|H],I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X) ; Z is Y\/16, B1=v(Z,D,E,F,G,[C],I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X) ), put_attr(A,guard_entailment,B1) ; put_attr(A,guard_entailment,v(16,[],[],[],[],[C],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[])) ), 'attach_known/1_1_$special_var/1___1'(B,C). 'detach_known/1_1_$special_var/1___1'([],_). 'detach_known/1_1_$special_var/1___1'([A|B],C) :- ( get_attr(A,guard_entailment,B1) -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\16=:=16 -> 'chr sbag_del_element'(H,C,A1), ( A1==[] -> Z is Y/\ -17, ( Z==0 -> del_attr(A,guard_entailment) ; put_attr(A,guard_entailment,v(Z,D,E,F,G,[],I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X)) ) ; put_attr(A,guard_entailment,v(Y,D,E,F,G,A1,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X)) ) ; true ) ; true ), 'detach_known/1_1_$special_var/1___1'(B,C). 'attach_known/1_1_$special_atom/1___1'([],_). 'attach_known/1_1_$special_atom/1___1'([A|B],C) :- ( get_attr(A,guard_entailment,A1) -> A1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\32=:=32 -> B1=v(Y,D,E,F,G,H,[C|I],J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X) ; Z is Y\/32, B1=v(Z,D,E,F,G,H,[C],J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X) ), put_attr(A,guard_entailment,B1) ; put_attr(A,guard_entailment,v(32,[],[],[],[],[],[C],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[])) ), 'attach_known/1_1_$special_atom/1___1'(B,C). 'detach_known/1_1_$special_atom/1___1'([],_). 'detach_known/1_1_$special_atom/1___1'([A|B],C) :- ( get_attr(A,guard_entailment,B1) -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\32=:=32 -> 'chr sbag_del_element'(I,C,A1), ( A1==[] -> Z is Y/\ -33, ( Z==0 -> del_attr(A,guard_entailment) ; put_attr(A,guard_entailment,v(Z,D,E,F,G,H,[],J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X)) ) ; put_attr(A,guard_entailment,v(Y,D,E,F,G,H,A1,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X)) ) ; true ) ; true ), 'detach_known/1_1_$special_atom/1___1'(B,C). 'attach_known/1_1_$special_atomic/1___1'([],_). 'attach_known/1_1_$special_atomic/1___1'([A|B],C) :- ( get_attr(A,guard_entailment,A1) -> A1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\64=:=64 -> B1=v(Y,D,E,F,G,H,I,[C|J],K,L,M,N,O,P,Q,R,S,T,U,V,W,X) ; Z is Y\/64, B1=v(Z,D,E,F,G,H,I,[C],K,L,M,N,O,P,Q,R,S,T,U,V,W,X) ), put_attr(A,guard_entailment,B1) ; put_attr(A,guard_entailment,v(64,[],[],[],[],[],[],[C],[],[],[],[],[],[],[],[],[],[],[],[],[],[])) ), 'attach_known/1_1_$special_atomic/1___1'(B,C). 'detach_known/1_1_$special_atomic/1___1'([],_). 'detach_known/1_1_$special_atomic/1___1'([A|B],C) :- ( get_attr(A,guard_entailment,B1) -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\64=:=64 -> 'chr sbag_del_element'(J,C,A1), ( A1==[] -> Z is Y/\ -65, ( Z==0 -> del_attr(A,guard_entailment) ; put_attr(A,guard_entailment,v(Z,D,E,F,G,H,I,[],K,L,M,N,O,P,Q,R,S,T,U,V,W,X)) ) ; put_attr(A,guard_entailment,v(Y,D,E,F,G,H,I,A1,K,L,M,N,O,P,Q,R,S,T,U,V,W,X)) ) ; true ) ; true ), 'detach_known/1_1_$special_atomic/1___1'(B,C). 'attach_known/1_1_$special_compound/1___1'([],_). 'attach_known/1_1_$special_compound/1___1'([A|B],C) :- ( get_attr(A,guard_entailment,A1) -> A1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\128=:=128 -> B1=v(Y,D,E,F,G,H,I,J,[C|K],L,M,N,O,P,Q,R,S,T,U,V,W,X) ; Z is Y\/128, B1=v(Z,D,E,F,G,H,I,J,[C],L,M,N,O,P,Q,R,S,T,U,V,W,X) ), put_attr(A,guard_entailment,B1) ; put_attr(A,guard_entailment,v(128,[],[],[],[],[],[],[],[C],[],[],[],[],[],[],[],[],[],[],[],[],[])) ), 'attach_known/1_1_$special_compound/1___1'(B,C). 'detach_known/1_1_$special_compound/1___1'([],_). 'detach_known/1_1_$special_compound/1___1'([A|B],C) :- ( get_attr(A,guard_entailment,B1) -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\128=:=128 -> 'chr sbag_del_element'(K,C,A1), ( A1==[] -> Z is Y/\ -129, ( Z==0 -> del_attr(A,guard_entailment) ; put_attr(A,guard_entailment,v(Z,D,E,F,G,H,I,J,[],L,M,N,O,P,Q,R,S,T,U,V,W,X)) ) ; put_attr(A,guard_entailment,v(Y,D,E,F,G,H,I,J,A1,L,M,N,O,P,Q,R,S,T,U,V,W,X)) ) ; true ) ; true ), 'detach_known/1_1_$special_compound/1___1'(B,C). 'attach_known/1_1_$special_ground/1___1'([],_). 'attach_known/1_1_$special_ground/1___1'([A|B],C) :- ( get_attr(A,guard_entailment,A1) -> A1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\256=:=256 -> B1=v(Y,D,E,F,G,H,I,J,K,[C|L],M,N,O,P,Q,R,S,T,U,V,W,X) ; Z is Y\/256, B1=v(Z,D,E,F,G,H,I,J,K,[C],M,N,O,P,Q,R,S,T,U,V,W,X) ), put_attr(A,guard_entailment,B1) ; put_attr(A,guard_entailment,v(256,[],[],[],[],[],[],[],[],[C],[],[],[],[],[],[],[],[],[],[],[],[])) ), 'attach_known/1_1_$special_ground/1___1'(B,C). 'detach_known/1_1_$special_ground/1___1'([],_). 'detach_known/1_1_$special_ground/1___1'([A|B],C) :- ( get_attr(A,guard_entailment,B1) -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\256=:=256 -> 'chr sbag_del_element'(L,C,A1), ( A1==[] -> Z is Y/\ -257, ( Z==0 -> del_attr(A,guard_entailment) ; put_attr(A,guard_entailment,v(Z,D,E,F,G,H,I,J,K,[],M,N,O,P,Q,R,S,T,U,V,W,X)) ) ; put_attr(A,guard_entailment,v(Y,D,E,F,G,H,I,J,K,A1,M,N,O,P,Q,R,S,T,U,V,W,X)) ) ; true ) ; true ), 'detach_known/1_1_$special_ground/1___1'(B,C). 'attach_known/1_1_$special_integer/1___1'([],_). 'attach_known/1_1_$special_integer/1___1'([A|B],C) :- ( get_attr(A,guard_entailment,A1) -> A1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\512=:=512 -> B1=v(Y,D,E,F,G,H,I,J,K,L,[C|M],N,O,P,Q,R,S,T,U,V,W,X) ; Z is Y\/512, B1=v(Z,D,E,F,G,H,I,J,K,L,[C],N,O,P,Q,R,S,T,U,V,W,X) ), put_attr(A,guard_entailment,B1) ; put_attr(A,guard_entailment,v(512,[],[],[],[],[],[],[],[],[],[C],[],[],[],[],[],[],[],[],[],[],[])) ), 'attach_known/1_1_$special_integer/1___1'(B,C). 'detach_known/1_1_$special_integer/1___1'([],_). 'detach_known/1_1_$special_integer/1___1'([A|B],C) :- ( get_attr(A,guard_entailment,B1) -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\512=:=512 -> 'chr sbag_del_element'(M,C,A1), ( A1==[] -> Z is Y/\ -513, ( Z==0 -> del_attr(A,guard_entailment) ; put_attr(A,guard_entailment,v(Z,D,E,F,G,H,I,J,K,L,[],N,O,P,Q,R,S,T,U,V,W,X)) ) ; put_attr(A,guard_entailment,v(Y,D,E,F,G,H,I,J,K,L,A1,N,O,P,Q,R,S,T,U,V,W,X)) ) ; true ) ; true ), 'detach_known/1_1_$special_integer/1___1'(B,C). 'attach_known/1_1_$special_float/1___1'([],_). 'attach_known/1_1_$special_float/1___1'([A|B],C) :- ( get_attr(A,guard_entailment,A1) -> A1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\1024=:=1024 -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,[C|N],O,P,Q,R,S,T,U,V,W,X) ; Z is Y\/1024, B1=v(Z,D,E,F,G,H,I,J,K,L,M,[C],O,P,Q,R,S,T,U,V,W,X) ), put_attr(A,guard_entailment,B1) ; put_attr(A,guard_entailment,v(1024,[],[],[],[],[],[],[],[],[],[],[C],[],[],[],[],[],[],[],[],[],[])) ), 'attach_known/1_1_$special_float/1___1'(B,C). 'detach_known/1_1_$special_float/1___1'([],_). 'detach_known/1_1_$special_float/1___1'([A|B],C) :- ( get_attr(A,guard_entailment,B1) -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\1024=:=1024 -> 'chr sbag_del_element'(N,C,A1), ( A1==[] -> Z is Y/\ -1025, ( Z==0 -> del_attr(A,guard_entailment) ; put_attr(A,guard_entailment,v(Z,D,E,F,G,H,I,J,K,L,M,[],O,P,Q,R,S,T,U,V,W,X)) ) ; put_attr(A,guard_entailment,v(Y,D,E,F,G,H,I,J,K,L,M,A1,O,P,Q,R,S,T,U,V,W,X)) ) ; true ) ; true ), 'detach_known/1_1_$special_float/1___1'(B,C). 'attach_known/1_1_$special_number/1___1'([],_). 'attach_known/1_1_$special_number/1___1'([A|B],C) :- ( get_attr(A,guard_entailment,A1) -> A1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\2048=:=2048 -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,[C|O],P,Q,R,S,T,U,V,W,X) ; Z is Y\/2048, B1=v(Z,D,E,F,G,H,I,J,K,L,M,N,[C],P,Q,R,S,T,U,V,W,X) ), put_attr(A,guard_entailment,B1) ; put_attr(A,guard_entailment,v(2048,[],[],[],[],[],[],[],[],[],[],[],[C],[],[],[],[],[],[],[],[],[])) ), 'attach_known/1_1_$special_number/1___1'(B,C). 'detach_known/1_1_$special_number/1___1'([],_). 'detach_known/1_1_$special_number/1___1'([A|B],C) :- ( get_attr(A,guard_entailment,B1) -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\2048=:=2048 -> 'chr sbag_del_element'(O,C,A1), ( A1==[] -> Z is Y/\ -2049, ( Z==0 -> del_attr(A,guard_entailment) ; put_attr(A,guard_entailment,v(Z,D,E,F,G,H,I,J,K,L,M,N,[],P,Q,R,S,T,U,V,W,X)) ) ; put_attr(A,guard_entailment,v(Y,D,E,F,G,H,I,J,K,L,M,N,A1,P,Q,R,S,T,U,V,W,X)) ) ; true ) ; true ), 'detach_known/1_1_$special_number/1___1'(B,C). 'attach_known/1_1_$special_=\\=/2___2'([],_). 'attach_known/1_1_$special_=\\=/2___2'([A|B],C) :- ( get_attr(A,guard_entailment,A1) -> A1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\4096=:=4096 -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,[C|P],Q,R,S,T,U,V,W,X) ; Z is Y\/4096, B1=v(Z,D,E,F,G,H,I,J,K,L,M,N,O,[C],Q,R,S,T,U,V,W,X) ), put_attr(A,guard_entailment,B1) ; put_attr(A,guard_entailment,v(4096,[],[],[],[],[],[],[],[],[],[],[],[],[C],[],[],[],[],[],[],[],[])) ), 'attach_known/1_1_$special_=\\=/2___2'(B,C). 'detach_known/1_1_$special_=\\=/2___2'([],_). 'detach_known/1_1_$special_=\\=/2___2'([A|B],C) :- ( get_attr(A,guard_entailment,B1) -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\4096=:=4096 -> 'chr sbag_del_element'(P,C,A1), ( A1==[] -> Z is Y/\ -4097, ( Z==0 -> del_attr(A,guard_entailment) ; put_attr(A,guard_entailment,v(Z,D,E,F,G,H,I,J,K,L,M,N,O,[],Q,R,S,T,U,V,W,X)) ) ; put_attr(A,guard_entailment,v(Y,D,E,F,G,H,I,J,K,L,M,N,O,A1,Q,R,S,T,U,V,W,X)) ) ; true ) ; true ), 'detach_known/1_1_$special_=\\=/2___2'(B,C). 'attach_known/1_1_$special_\\+/1___1'([],_). 'attach_known/1_1_$special_\\+/1___1'([A|B],C) :- ( get_attr(A,guard_entailment,A1) -> A1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\8192=:=8192 -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,[C|Q],R,S,T,U,V,W,X) ; Z is Y\/8192, B1=v(Z,D,E,F,G,H,I,J,K,L,M,N,O,P,[C],R,S,T,U,V,W,X) ), put_attr(A,guard_entailment,B1) ; put_attr(A,guard_entailment,v(8192,[],[],[],[],[],[],[],[],[],[],[],[],[],[C],[],[],[],[],[],[],[])) ), 'attach_known/1_1_$special_\\+/1___1'(B,C). 'detach_known/1_1_$special_\\+/1___1'([],_). 'detach_known/1_1_$special_\\+/1___1'([A|B],C) :- ( get_attr(A,guard_entailment,B1) -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\8192=:=8192 -> 'chr sbag_del_element'(Q,C,A1), ( A1==[] -> Z is Y/\ -8193, ( Z==0 -> del_attr(A,guard_entailment) ; put_attr(A,guard_entailment,v(Z,D,E,F,G,H,I,J,K,L,M,N,O,P,[],R,S,T,U,V,W,X)) ) ; put_attr(A,guard_entailment,v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,A1,R,S,T,U,V,W,X)) ) ; true ) ; true ), 'detach_known/1_1_$special_\\+/1___1'(B,C). 'attach_known/1_1_$special_functor/3___3'([],_). 'attach_known/1_1_$special_functor/3___3'([A|B],C) :- ( get_attr(A,guard_entailment,A1) -> A1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\16384=:=16384 -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,[C|R],S,T,U,V,W,X) ; Z is Y\/16384, B1=v(Z,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,[C],S,T,U,V,W,X) ), put_attr(A,guard_entailment,B1) ; put_attr(A,guard_entailment,v(16384,[],[],[],[],[],[],[],[],[],[],[],[],[],[],[C],[],[],[],[],[],[])) ), 'attach_known/1_1_$special_functor/3___3'(B,C). 'detach_known/1_1_$special_functor/3___3'([],_). 'detach_known/1_1_$special_functor/3___3'([A|B],C) :- ( get_attr(A,guard_entailment,B1) -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\16384=:=16384 -> 'chr sbag_del_element'(R,C,A1), ( A1==[] -> Z is Y/\ -16385, ( Z==0 -> del_attr(A,guard_entailment) ; put_attr(A,guard_entailment,v(Z,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,[],S,T,U,V,W,X)) ) ; put_attr(A,guard_entailment,v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,A1,S,T,U,V,W,X)) ) ; true ) ; true ), 'detach_known/1_1_$special_functor/3___3'(B,C). 'attach_known/1_1_$special_\\=/2___2'([],_). 'attach_known/1_1_$special_\\=/2___2'([A|B],C) :- ( get_attr(A,guard_entailment,A1) -> A1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\32768=:=32768 -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,[C|S],T,U,V,W,X) ; Z is Y\/32768, B1=v(Z,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,[C],T,U,V,W,X) ), put_attr(A,guard_entailment,B1) ; put_attr(A,guard_entailment,v(32768,[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[C],[],[],[],[],[])) ), 'attach_known/1_1_$special_\\=/2___2'(B,C). 'detach_known/1_1_$special_\\=/2___2'([],_). 'detach_known/1_1_$special_\\=/2___2'([A|B],C) :- ( get_attr(A,guard_entailment,B1) -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\32768=:=32768 -> 'chr sbag_del_element'(S,C,A1), ( A1==[] -> Z is Y/\ -32769, ( Z==0 -> del_attr(A,guard_entailment) ; put_attr(A,guard_entailment,v(Z,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,[],T,U,V,W,X)) ) ; put_attr(A,guard_entailment,v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,A1,T,U,V,W,X)) ) ; true ) ; true ), 'detach_known/1_1_$special_\\=/2___2'(B,C). 'attach_known/1_1_$special_=/2___2'([],_). 'attach_known/1_1_$special_=/2___2'([A|B],C) :- ( get_attr(A,guard_entailment,A1) -> A1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\65536=:=65536 -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,[C|T],U,V,W,X) ; Z is Y\/65536, B1=v(Z,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,[C],U,V,W,X) ), put_attr(A,guard_entailment,B1) ; put_attr(A,guard_entailment,v(65536,[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[C],[],[],[],[])) ), 'attach_known/1_1_$special_=/2___2'(B,C). 'detach_known/1_1_$special_=/2___2'([],_). 'detach_known/1_1_$special_=/2___2'([A|B],C) :- ( get_attr(A,guard_entailment,B1) -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\65536=:=65536 -> 'chr sbag_del_element'(T,C,A1), ( A1==[] -> Z is Y/\ -65537, ( Z==0 -> del_attr(A,guard_entailment) ; put_attr(A,guard_entailment,v(Z,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,[],U,V,W,X)) ) ; put_attr(A,guard_entailment,v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,A1,U,V,W,X)) ) ; true ) ; true ), 'detach_known/1_1_$special_=/2___2'(B,C). 'attach_known/1_1_$special_\\==/2___2'([],_). 'attach_known/1_1_$special_\\==/2___2'([A|B],C) :- ( get_attr(A,guard_entailment,A1) -> A1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\131072=:=131072 -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,[C|U],V,W,X) ; Z is Y\/131072, B1=v(Z,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,[C],V,W,X) ), put_attr(A,guard_entailment,B1) ; put_attr(A,guard_entailment,v(131072,[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[C],[],[],[])) ), 'attach_known/1_1_$special_\\==/2___2'(B,C). 'detach_known/1_1_$special_\\==/2___2'([],_). 'detach_known/1_1_$special_\\==/2___2'([A|B],C) :- ( get_attr(A,guard_entailment,B1) -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\131072=:=131072 -> 'chr sbag_del_element'(U,C,A1), ( A1==[] -> Z is Y/\ -131073, ( Z==0 -> del_attr(A,guard_entailment) ; put_attr(A,guard_entailment,v(Z,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,[],V,W,X)) ) ; put_attr(A,guard_entailment,v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,A1,V,W,X)) ) ; true ) ; true ), 'detach_known/1_1_$special_\\==/2___2'(B,C). 'attach_known/1_1_$special_==/2___2'([],_). 'attach_known/1_1_$special_==/2___2'([A|B],C) :- ( get_attr(A,guard_entailment,A1) -> A1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\262144=:=262144 -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,[C|V],W,X) ; Z is Y\/262144, B1=v(Z,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,[C],W,X) ), put_attr(A,guard_entailment,B1) ; put_attr(A,guard_entailment,v(262144,[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[C],[],[])) ), 'attach_known/1_1_$special_==/2___2'(B,C). 'detach_known/1_1_$special_==/2___2'([],_). 'detach_known/1_1_$special_==/2___2'([A|B],C) :- ( get_attr(A,guard_entailment,B1) -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\262144=:=262144 -> 'chr sbag_del_element'(V,C,A1), ( A1==[] -> Z is Y/\ -262145, ( Z==0 -> del_attr(A,guard_entailment) ; put_attr(A,guard_entailment,v(Z,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,[],W,X)) ) ; put_attr(A,guard_entailment,v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,A1,W,X)) ) ; true ) ; true ), 'detach_known/1_1_$special_==/2___2'(B,C). 'attach_known/1_1_$special_= A1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\524288=:=524288 -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,[C|W],X) ; Z is Y\/524288, B1=v(Z,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,[C],X) ), put_attr(A,guard_entailment,B1) ; put_attr(A,guard_entailment,v(524288,[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[C],[])) ), 'attach_known/1_1_$special_= B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\524288=:=524288 -> 'chr sbag_del_element'(W,C,A1), ( A1==[] -> Z is Y/\ -524289, ( Z==0 -> del_attr(A,guard_entailment) ; put_attr(A,guard_entailment,v(Z,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,[],X)) ) ; put_attr(A,guard_entailment,v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,A1,X)) ) ; true ) ; true ), 'detach_known/1_1_$special_= A1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\1048576=:=1048576 -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,[C|X]) ; Z is Y\/1048576, B1=v(Z,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,[C]) ), put_attr(A,guard_entailment,B1) ; put_attr(A,guard_entailment,v(1048576,[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[C])) ), 'attach_known/1_1_$special_=:=/2___2'(B,C). 'detach_known/1_1_$special_=:=/2___2'([],_). 'detach_known/1_1_$special_=:=/2___2'([A|B],C) :- ( get_attr(A,guard_entailment,B1) -> B1=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), ( Y/\1048576=:=1048576 -> 'chr sbag_del_element'(X,C,A1), ( A1==[] -> Z is Y/\ -1048577, ( Z==0 -> del_attr(A,guard_entailment) ; put_attr(A,guard_entailment,v(Z,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,[])) ) ; put_attr(A,guard_entailment,v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,A1)) ) ; true ) ; true ), 'detach_known/1_1_$special_=:=/2___2'(B,C). attach_increment([],_). attach_increment([B|C],A) :- 'chr not_locked'(B), ( get_attr(B,guard_entailment,M3) -> A=v(Y,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X), M3=v(U1,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1,S1,T1), sort(Z,V1), 'chr merge_attributes'(D,V1,W1), sort(A1,X1), 'chr merge_attributes'(E,X1,Y1), sort(B1,Z1), 'chr merge_attributes'(F,Z1,A2), sort(C1,B2), 'chr merge_attributes'(G,B2,C2), sort(D1,D2), 'chr merge_attributes'(H,D2,E2), sort(E1,F2), 'chr merge_attributes'(I,F2,G2), sort(F1,H2), 'chr merge_attributes'(J,H2,I2), sort(G1,J2), 'chr merge_attributes'(K,J2,K2), sort(H1,L2), 'chr merge_attributes'(L,L2,M2), sort(I1,N2), 'chr merge_attributes'(M,N2,O2), sort(J1,P2), 'chr merge_attributes'(N,P2,Q2), sort(K1,R2), 'chr merge_attributes'(O,R2,S2), sort(L1,T2), 'chr merge_attributes'(P,T2,U2), sort(M1,V2), 'chr merge_attributes'(Q,V2,W2), sort(N1,X2), 'chr merge_attributes'(R,X2,Y2), sort(O1,Z2), 'chr merge_attributes'(S,Z2,A3), sort(P1,B3), 'chr merge_attributes'(T,B3,C3), sort(Q1,D3), 'chr merge_attributes'(U,D3,E3), sort(R1,F3), 'chr merge_attributes'(V,F3,G3), sort(S1,H3), 'chr merge_attributes'(W,H3,I3), sort(T1,J3), 'chr merge_attributes'(X,J3,K3), L3 is Y\/U1, put_attr(B,guard_entailment,v(L3,W1,Y1,A2,C2,E2,G2,I2,K2,M2,O2,Q2,S2,U2,W2,Y2,A3,C3,E3,G3,I3,K3)) ; put_attr(B,guard_entailment,A) ), attach_increment(C,A). attr_unify_hook(v(W,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V),A) :- sort(B,X), sort(C,Y), sort(D,Z), sort(E,A1), sort(F,B1), sort(G,C1), sort(H,D1), sort(I,E1), sort(J,F1), sort(K,G1), sort(L,H1), sort(M,I1), sort(N,J1), sort(O,K1), sort(P,L1), sort(Q,M1), sort(R,N1), sort(S,O1), sort(T,P1), sort(U,Q1), sort(V,R1), ( var(A) -> ( get_attr(A,guard_entailment,F4) -> F4=v(N2,S1,T1,U1,V1,W1,X1,Y1,Z1,A2,B2,C2,D2,E2,F2,G2,H2,I2,J2,K2,L2,M2), sort(S1,O2), 'chr merge_attributes'(X,O2,P2), sort(T1,Q2), 'chr merge_attributes'(Y,Q2,R2), sort(U1,S2), 'chr merge_attributes'(Z,S2,T2), sort(V1,U2), 'chr merge_attributes'(A1,U2,V2), sort(W1,W2), 'chr merge_attributes'(B1,W2,X2), sort(X1,Y2), 'chr merge_attributes'(C1,Y2,Z2), sort(Y1,A3), 'chr merge_attributes'(D1,A3,B3), sort(Z1,C3), 'chr merge_attributes'(E1,C3,D3), sort(A2,E3), 'chr merge_attributes'(F1,E3,F3), sort(B2,G3), 'chr merge_attributes'(G1,G3,H3), sort(C2,I3), 'chr merge_attributes'(H1,I3,J3), sort(D2,K3), 'chr merge_attributes'(I1,K3,L3), sort(E2,M3), 'chr merge_attributes'(J1,M3,N3), sort(F2,O3), 'chr merge_attributes'(K1,O3,P3), sort(G2,Q3), 'chr merge_attributes'(L1,Q3,R3), sort(H2,S3), 'chr merge_attributes'(M1,S3,T3), sort(I2,U3), 'chr merge_attributes'(N1,U3,V3), sort(J2,W3), 'chr merge_attributes'(O1,W3,X3), sort(K2,Y3), 'chr merge_attributes'(P1,Y3,Z3), sort(L2,A4), 'chr merge_attributes'(Q1,A4,B4), sort(M2,C4), 'chr merge_attributes'(R1,C4,D4), E4 is W\/N2, put_attr(A,guard_entailment,v(E4,P2,R2,T2,V2,X2,Z2,B3,D3,F3,H3,J3,L3,N3,P3,R3,T3,V3,X3,Z3,B4,D4)), '$run_suspensions_variables___1'(X), '$run_suspensions_known/1_1_$default___1'(Y), '$run_suspensions_known/1_1_$special_;/2___2'(T2), '$run_suspensions_known/1_1_$special_nonvar/1___1'(A1), '$run_suspensions_known/1_1_$special_var/1___1'(B1), '$run_suspensions_known/1_1_$special_atom/1___1'(C1), '$run_suspensions_known/1_1_$special_atomic/1___1'(D1), '$run_suspensions_known/1_1_$special_compound/1___1'(E1), '$run_suspensions_known/1_1_$special_ground/1___1'(F1), '$run_suspensions_known/1_1_$special_integer/1___1'(H3), '$run_suspensions_known/1_1_$special_float/1___1'(J3), '$run_suspensions_known/1_1_$special_number/1___1'(L3), '$run_suspensions_known/1_1_$special_=\\=/2___2'(N3), '$run_suspensions_known/1_1_$special_\\+/1___1'(P3), '$run_suspensions_known/1_1_$special_functor/3___3'(R3), '$run_suspensions_known/1_1_$special_\\=/2___2'(T3), '$run_suspensions_known/1_1_$special_=/2___2'(V3), '$run_suspensions_known/1_1_$special_\\==/2___2'(X3), '$run_suspensions_known/1_1_$special_==/2___2'(Z3), '$run_suspensions_known/1_1_$special_= term_variables(A,G4), attach_increment(G4,v(W,X,Y,Z,A1,B1,C1,D1,E1,F1,G1,H1,I1,J1,K1,L1,M1,N1,O1,P1,Q1,R1)) ; true ), '$run_suspensions_variables___1'(X), '$run_suspensions_known/1_1_$default___1'(Y), '$run_suspensions_known/1_1_$special_;/2___2'(Z), '$run_suspensions_known/1_1_$special_nonvar/1___1'(A1), '$run_suspensions_known/1_1_$special_var/1___1'(B1), '$run_suspensions_known/1_1_$special_atom/1___1'(C1), '$run_suspensions_known/1_1_$special_atomic/1___1'(D1), '$run_suspensions_known/1_1_$special_compound/1___1'(E1), '$run_suspensions_known/1_1_$special_ground/1___1'(F1), '$run_suspensions_known/1_1_$special_integer/1___1'(G1), '$run_suspensions_known/1_1_$special_float/1___1'(H1), '$run_suspensions_known/1_1_$special_number/1___1'(I1), '$run_suspensions_known/1_1_$special_=\\=/2___2'(J1), '$run_suspensions_known/1_1_$special_\\+/1___1'(K1), '$run_suspensions_known/1_1_$special_functor/3___3'(L1), '$run_suspensions_known/1_1_$special_\\=/2___2'(M1), '$run_suspensions_known/1_1_$special_=/2___2'(N1), '$run_suspensions_known/1_1_$special_\\==/2___2'(O1), '$run_suspensions_known/1_1_$special_==/2___2'(P1), '$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|B]) :- A=suspension(_,C,_,D), ( C==active -> setarg(2,A,triggered), variables___1__0(D,A), ( C==triggered -> setarg(2,A,active) ; true ) ; true ), '$run_suspensions_variables___1'(B). '$run_suspensions_known/1_1_$default___1'([]). '$run_suspensions_known/1_1_$default___1'([A|B]) :- A=suspension(_,C,D,_,E), ( C==active -> setarg(2,A,triggered), F is D+1, setarg(3,A,F), 'known/1_1_$default___1__0'(E,A), ( C==triggered -> setarg(2,A,active) ; true ) ; true ), '$run_suspensions_known/1_1_$default___1'(B). '$run_suspensions_known/1_1_$special_;/2___2'([]). '$run_suspensions_known/1_1_$special_;/2___2'([A|B]) :- A=suspension(_,C,D,_,E,F), ( C==active -> setarg(2,A,triggered), G is D+1, setarg(3,A,G), 'known/1_1_$special_;/2___2__0'(E,F,A), ( C==triggered -> setarg(2,A,active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_;/2___2'(B). '$run_suspensions_known/1_1_$special_nonvar/1___1'([]). '$run_suspensions_known/1_1_$special_nonvar/1___1'([A|B]) :- A=suspension(_,C,D,_,E), ( C==active -> setarg(2,A,triggered), F is D+1, setarg(3,A,F), 'known/1_1_$special_nonvar/1___1__0'(E,A), ( C==triggered -> setarg(2,A,active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_nonvar/1___1'(B). '$run_suspensions_known/1_1_$special_var/1___1'([]). '$run_suspensions_known/1_1_$special_var/1___1'([A|B]) :- A=suspension(_,C,D,_,E), ( C==active -> setarg(2,A,triggered), F is D+1, setarg(3,A,F), 'known/1_1_$special_var/1___1__0'(E,A), ( C==triggered -> setarg(2,A,active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_var/1___1'(B). '$run_suspensions_known/1_1_$special_atom/1___1'([]). '$run_suspensions_known/1_1_$special_atom/1___1'([A|B]) :- A=suspension(_,C,_,D,_,E), ( C==active -> setarg(2,A,triggered), F is D+1, setarg(4,A,F), 'known/1_1_$special_atom/1___1__0'(E,A), ( C==triggered -> setarg(2,A,active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_atom/1___1'(B). '$run_suspensions_known/1_1_$special_atomic/1___1'([]). '$run_suspensions_known/1_1_$special_atomic/1___1'([A|B]) :- A=suspension(_,C,_,D,_,E), ( C==active -> setarg(2,A,triggered), F is D+1, setarg(4,A,F), 'known/1_1_$special_atomic/1___1__0'(E,A), ( C==triggered -> setarg(2,A,active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_atomic/1___1'(B). '$run_suspensions_known/1_1_$special_compound/1___1'([]). '$run_suspensions_known/1_1_$special_compound/1___1'([A|B]) :- A=suspension(_,C,_,D,_,E), ( C==active -> setarg(2,A,triggered), F is D+1, setarg(4,A,F), 'known/1_1_$special_compound/1___1__0'(E,A), ( C==triggered -> setarg(2,A,active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_compound/1___1'(B). '$run_suspensions_known/1_1_$special_ground/1___1'([]). '$run_suspensions_known/1_1_$special_ground/1___1'([A|B]) :- A=suspension(_,C,_,D,_,E), ( C==active -> setarg(2,A,triggered), F is D+1, setarg(4,A,F), 'known/1_1_$special_ground/1___1__0'(E,A), ( C==triggered -> setarg(2,A,active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_ground/1___1'(B). '$run_suspensions_known/1_1_$special_integer/1___1'([]). '$run_suspensions_known/1_1_$special_integer/1___1'([A|B]) :- A=suspension(_,C,_,D,_,E), ( C==active -> setarg(2,A,triggered), F is D+1, setarg(4,A,F), 'known/1_1_$special_integer/1___1__0'(E,A), ( C==triggered -> setarg(2,A,active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_integer/1___1'(B). '$run_suspensions_known/1_1_$special_float/1___1'([]). '$run_suspensions_known/1_1_$special_float/1___1'([A|B]) :- A=suspension(_,C,_,D,_,E), ( C==active -> setarg(2,A,triggered), F is D+1, setarg(4,A,F), 'known/1_1_$special_float/1___1__0'(E,A), ( C==triggered -> setarg(2,A,active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_float/1___1'(B). '$run_suspensions_known/1_1_$special_number/1___1'([]). '$run_suspensions_known/1_1_$special_number/1___1'([A|B]) :- A=suspension(_,C,_,D,_,E), ( C==active -> setarg(2,A,triggered), F is D+1, setarg(4,A,F), 'known/1_1_$special_number/1___1__0'(E,A), ( C==triggered -> setarg(2,A,active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_number/1___1'(B). '$run_suspensions_known/1_1_$special_=\\=/2___2'([]). '$run_suspensions_known/1_1_$special_=\\=/2___2'([A|B]) :- A=suspension(_,C,_,D,_,E,F), ( C==active -> setarg(2,A,triggered), G is D+1, setarg(4,A,G), 'known/1_1_$special_=\\=/2___2__0'(E,F,A), ( C==triggered -> setarg(2,A,active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_=\\=/2___2'(B). '$run_suspensions_known/1_1_$special_\\+/1___1'([]). '$run_suspensions_known/1_1_$special_\\+/1___1'([A|B]) :- A=suspension(_,C,D,_,E), ( C==active -> setarg(2,A,triggered), F is D+1, setarg(3,A,F), 'known/1_1_$special_\\+/1___1__0'(E,A), ( C==triggered -> setarg(2,A,active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_\\+/1___1'(B). '$run_suspensions_known/1_1_$special_functor/3___3'([]). '$run_suspensions_known/1_1_$special_functor/3___3'([A|B]) :- A=suspension(_,C,D,_,E,F,G), ( C==active -> setarg(2,A,triggered), H is D+1, setarg(3,A,H), 'known/1_1_$special_functor/3___3__0'(E,F,G,A), ( C==triggered -> setarg(2,A,active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_functor/3___3'(B). '$run_suspensions_known/1_1_$special_\\=/2___2'([]). '$run_suspensions_known/1_1_$special_\\=/2___2'([A|B]) :- A=suspension(_,C,_,D,_,E,F), ( C==active -> setarg(2,A,triggered), G is D+1, setarg(4,A,G), 'known/1_1_$special_\\=/2___2__0'(E,F,A), ( C==triggered -> setarg(2,A,active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_\\=/2___2'(B). '$run_suspensions_known/1_1_$special_=/2___2'([]). '$run_suspensions_known/1_1_$special_=/2___2'([A|B]) :- A=suspension(_,C,D,_,E,F), ( C==active -> setarg(2,A,triggered), G is D+1, setarg(3,A,G), 'known/1_1_$special_=/2___2__0'(E,F,A), ( C==triggered -> setarg(2,A,active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_=/2___2'(B). '$run_suspensions_known/1_1_$special_\\==/2___2'([]). '$run_suspensions_known/1_1_$special_\\==/2___2'([A|B]) :- A=suspension(_,C,_,D,_,E,F), ( C==active -> setarg(2,A,triggered), G is D+1, setarg(4,A,G), 'known/1_1_$special_\\==/2___2__0'(E,F,A), ( C==triggered -> setarg(2,A,active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_\\==/2___2'(B). '$run_suspensions_known/1_1_$special_==/2___2'([]). '$run_suspensions_known/1_1_$special_==/2___2'([A|B]) :- A=suspension(_,C,_,D,_,E,F), ( C==active -> setarg(2,A,triggered), G is D+1, setarg(4,A,G), 'known/1_1_$special_==/2___2__0'(E,F,A), ( C==triggered -> setarg(2,A,active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_==/2___2'(B). '$run_suspensions_known/1_1_$special_= setarg(2,A,triggered), G is D+1, setarg(4,A,G), 'known/1_1_$special_= setarg(2,A,active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_= setarg(2,A,triggered), G is D+1, setarg(4,A,G), 'known/1_1_$special_=:=/2___2__0'(E,F,A), ( C==triggered -> setarg(2,A,active) ; true ) ; true ), '$run_suspensions_known/1_1_$special_=:=/2___2'(B). '$enumerate_constraints'(A) :- ( nonvar(A) -> functor(A,B,_), '$enumerate_constraints'(B,A) ; '$enumerate_constraints'(_,A) ). '$enumerate_constraints'(variables,A) :- nb_getval('$chr_store_global_list_guard_entailment____variables___1',C), 'chr sbag_member'(B,C), B=suspension(_,_,_,D), A=variables(D). '$enumerate_constraints'('known/1_1_$default',A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',C), 'chr sbag_member'(B,C), B=suspension(_,_,_,_,D), A='known/1_1_$default'(D). '$enumerate_constraints'('known/1_1_$special_;/2',A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C), 'chr sbag_member'(B,C), B=suspension(_,_,_,_,D,E), A='known/1_1_$special_;/2'(D,E). '$enumerate_constraints'('known/1_1_$special_nonvar/1',A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',C), 'chr sbag_member'(B,C), B=suspension(_,_,_,_,D), A='known/1_1_$special_nonvar/1'(D). '$enumerate_constraints'('known/1_1_$special_var/1',A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',C), 'chr sbag_member'(B,C), B=suspension(_,_,_,_,D), A='known/1_1_$special_var/1'(D). '$enumerate_constraints'('known/1_1_$special_atom/1',A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',C), 'chr sbag_member'(B,C), B=suspension(_,_,_,_,_,D), A='known/1_1_$special_atom/1'(D). '$enumerate_constraints'('known/1_1_$special_atomic/1',A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',C), 'chr sbag_member'(B,C), B=suspension(_,_,_,_,_,D), A='known/1_1_$special_atomic/1'(D). '$enumerate_constraints'('known/1_1_$special_compound/1',A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',C), 'chr sbag_member'(B,C), B=suspension(_,_,_,_,_,D), A='known/1_1_$special_compound/1'(D). '$enumerate_constraints'('known/1_1_$special_ground/1',A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',C), 'chr sbag_member'(B,C), B=suspension(_,_,_,_,_,D), A='known/1_1_$special_ground/1'(D). '$enumerate_constraints'('known/1_1_$special_integer/1',A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',C), 'chr sbag_member'(B,C), B=suspension(_,_,_,_,_,D), A='known/1_1_$special_integer/1'(D). '$enumerate_constraints'('known/1_1_$special_float/1',A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',C), 'chr sbag_member'(B,C), B=suspension(_,_,_,_,_,D), A='known/1_1_$special_float/1'(D). '$enumerate_constraints'('known/1_1_$special_number/1',A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',C), 'chr sbag_member'(B,C), B=suspension(_,_,_,_,_,D), A='known/1_1_$special_number/1'(D). '$enumerate_constraints'('known/1_1_$special_=\\=/2',A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',C), 'chr sbag_member'(B,C), B=suspension(_,_,_,_,_,D,E), A='known/1_1_$special_=\\=/2'(D,E). '$enumerate_constraints'('known/1_1_$special_\\+/1',A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',C), 'chr sbag_member'(B,C), B=suspension(_,_,_,_,D), A='known/1_1_$special_\\+/1'(D). '$enumerate_constraints'('known/1_1_$special_functor/3',A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',C), 'chr sbag_member'(B,C), B=suspension(_,_,_,_,D,E,F), A='known/1_1_$special_functor/3'(D,E,F). '$enumerate_constraints'('known/1_1_$special_\\=/2',A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',C), 'chr sbag_member'(B,C), B=suspension(_,_,_,_,_,D,E), A='known/1_1_$special_\\=/2'(D,E). '$enumerate_constraints'('known/1_1_$special_=/2',A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',C), 'chr sbag_member'(B,C), B=suspension(_,_,_,_,D,E), A='known/1_1_$special_=/2'(D,E). '$enumerate_constraints'('known/1_1_$special_\\==/2',A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',C), 'chr sbag_member'(B,C), B=suspension(_,_,_,_,_,D,E), A='known/1_1_$special_\\==/2'(D,E). '$enumerate_constraints'('known/1_1_$special_==/2',A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',C), 'chr sbag_member'(B,C), B=suspension(_,_,_,_,_,D,E), A='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(_,_,_,_,H,I), setarg(2,A,removed), term_variables(term(H,I),C), 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'(C,A), cleanup___0__0__0__1(B) ; cleanup___0__0__0__1(B) ). 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|B]) :- ( A=suspension(_,active,_,_,_) -> A=suspension(_,_,_,_,H), setarg(2,A,removed), term_variables(H,C), arg(4,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',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_nonvar/1___1'(C,A), cleanup___0__1__0__2(B) ; cleanup___0__1__0__2(B) ). 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|B]) :- ( A=suspension(_,active,_,_,_) -> A=suspension(_,_,_,_,H), setarg(2,A,removed), term_variables(H,C), arg(4,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',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_var/1___1'(C,A), cleanup___0__2__0__3(B) ; cleanup___0__2__0__3(B) ). 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|B]) :- ( A=suspension(_,active,_,_,_,_) -> A=suspension(_,_,_,_,_,H), setarg(2,A,removed), term_variables(H,C), arg(5,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',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_atom/1___1'(C,A), cleanup___0__3__0__4(B) ; cleanup___0__3__0__4(B) ). 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|B]) :- ( A=suspension(_,active,_,_,_,_) -> A=suspension(_,_,_,_,_,H), setarg(2,A,removed), term_variables(H,C), arg(5,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',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_atomic/1___1'(C,A), cleanup___0__4__0__5(B) ; cleanup___0__4__0__5(B) ). 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|B]) :- ( A=suspension(_,active,_,_,_,_) -> A=suspension(_,_,_,_,_,H), setarg(2,A,removed), term_variables(H,C), arg(5,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',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_compound/1___1'(C,A), cleanup___0__5__0__6(B) ; cleanup___0__5__0__6(B) ). 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|B]) :- ( A=suspension(_,active,_,_,_,_) -> A=suspension(_,_,_,_,_,H), setarg(2,A,removed), term_variables(H,C), arg(5,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',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_ground/1___1'(C,A), cleanup___0__6__0__7(B) ; cleanup___0__6__0__7(B) ). 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|B]) :- ( A=suspension(_,active,_,_,_,_) -> A=suspension(_,_,_,_,_,H), setarg(2,A,removed), term_variables(H,C), arg(5,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',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_integer/1___1'(C,A), cleanup___0__7__0__8(B) ; cleanup___0__7__0__8(B) ). 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|B]) :- ( A=suspension(_,active,_,_,_,_) -> A=suspension(_,_,_,_,_,H), setarg(2,A,removed), term_variables(H,C), arg(5,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',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_float/1___1'(C,A), cleanup___0__8__0__9(B) ; cleanup___0__8__0__9(B) ). 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|B]) :- ( A=suspension(_,active,_,_,_,_) -> A=suspension(_,_,_,_,_,H), setarg(2,A,removed), term_variables(H,C), arg(5,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',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_number/1___1'(C,A), cleanup___0__9__0__10(B) ; cleanup___0__9__0__10(B) ). 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|B]) :- ( A=suspension(_,active,_,_,_,_,_) -> A=suspension(_,_,_,_,_,H,I), setarg(2,A,removed), term_variables(term(H,I),C), 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'(C,A), cleanup___0__10__0__11(B) ; cleanup___0__10__0__11(B) ). 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|B]) :- ( A=suspension(_,active,_,_,_) -> A=suspension(_,_,_,_,H), setarg(2,A,removed), term_variables(H,C), arg(4,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',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_\\+/1___1'(C,A), cleanup___0__11__0__12(B) ; cleanup___0__11__0__12(B) ). 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|B]) :- ( A=suspension(_,active,_,_,_,_,_) -> A=suspension(_,_,_,_,H,I,J), setarg(2,A,removed), term_variables(term(H,I,J),C), arg(4,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',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_functor/3___3'(C,A), cleanup___0__12__0__13(B) ; cleanup___0__12__0__13(B) ). 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|B]) :- ( A=suspension(_,active,_,_,_,_,_) -> A=suspension(_,_,_,_,_,H,I), setarg(2,A,removed), term_variables(term(H,I),C), 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'(C,A), cleanup___0__13__0__14(B) ; cleanup___0__13__0__14(B) ). 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|B]) :- ( A=suspension(_,active,_,_,_,_) -> A=suspension(_,_,_,_,H,I), setarg(2,A,removed), term_variables(term(H,I),C), 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'(C,A), cleanup___0__14__0__15(B) ; cleanup___0__14__0__15(B) ). 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|B]) :- ( A=suspension(_,active,_,_,_,_,_) -> A=suspension(_,_,_,_,_,H,I), setarg(2,A,removed), term_variables(term(H,I),C), 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'(C,A), cleanup___0__15__0__17(B) ; cleanup___0__15__0__17(B) ). 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|B]) :- ( A=suspension(_,active,_,_,_,_,_) -> A=suspension(_,_,_,_,_,H,I), setarg(2,A,removed), term_variables(term(H,I),C), 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'(C,A), cleanup___0__16__0__18(B) ; cleanup___0__16__0__18(B) ). cleanup___0__16 :- cleanup___0__17. cleanup___0__17 :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= A=suspension(_,_,_,_,_,H,I), setarg(2,A,removed), term_variables(term(H,I),C), 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(_,_,_,_,_,H,I), setarg(2,A,removed), term_variables(term(H,I),C), 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'(C,A), cleanup___0__18__0__24(B) ; cleanup___0__18__0__24(B) ). 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|B]) :- ( A=suspension(_,active,_) -> setarg(2,A,removed), arg(3,A,C), ( var(C) -> nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',D), D=[_|E], b_setval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',E), ( E=[F|_] -> setarg(3,F,_) ; true ) ; C=[_,_|E], setarg(2,C,E), ( E=[F|_] -> setarg(3,F,C) ; true ) ), cleanup___0__19__0__25(B) ; cleanup___0__19__0__25(B) ). 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|B]) :- ( A=suspension(_,active,_,_,_) -> A=suspension(_,_,_,_,H), setarg(2,A,removed), term_variables(H,C), arg(4,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',F), ( F=[G|_] -> setarg(4,G,_) ; true ) ; D=[_,_|F], setarg(2,D,F), ( F=[G|_] -> setarg(4,G,D) ; true ) ), 'detach_known/1_1_$default___1'(C,A), cleanup___0__20__0__26(B) ; cleanup___0__20__0__26(B) ). 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|B]) :- ( A=suspension(_,active,_,_) -> A=suspension(_,_,_,H), setarg(2,A,removed), term_variables(H,C), arg(3,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____variables___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____variables___1',F), ( F=[G|_] -> setarg(3,G,_) ; true ) ; D=[_,_|F], setarg(2,D,F), ( F=[G|_] -> setarg(3,G,D) ; true ) ), detach_variables___1(C,A), cleanup___0__21__0__27(B) ; cleanup___0__21__0__27(B) ). cleanup___0__21 :- cleanup___0__22. cleanup___0__22. variables(A) :- variables___1__0(A,_). variables___1__0(A,B) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',G), 'chr sbag_member'(C,G), C=suspension(_,active,_,_,D,E,F), ground(F), ground(E), var(D), !, C=suspension(_,_,_,_,U,V,W), setarg(2,C,removed), term_variables(term(U,V,W),J), arg(4,C,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'(J,C), ( var(B) -> true ; B=suspension(_,_,_,P), setarg(2,B,removed), term_variables(P,K), arg(3,B,L), ( var(L) -> nb_getval('$chr_store_global_list_guard_entailment____variables___1',M), M=[_|N], b_setval('$chr_store_global_list_guard_entailment____variables___1',N), ( N=[O|_] -> setarg(3,O,_) ; true ) ; L=[_,_|N], setarg(2,L,N), ( N=[O|_] -> setarg(3,O,L) ; true ) ), detach_variables___1(K,B) ), functor(D,E,F), D=..[_|H], append(H,A,I), variables(I). variables___1__0(A,B) :- ( var(B) -> B=suspension(D,active,_,A), term_variables(A,C), 'chr none_locked'(C), 'chr gen_id'(D), nb_getval('$chr_store_global_list_guard_entailment____variables___1',E), F=[B|E], b_setval('$chr_store_global_list_guard_entailment____variables___1',F), ( E=[G|_] -> setarg(3,G,F) ; true ), attach_variables___1(C,B) ; setarg(2,B,active) ). 'test/1_1_$default'(_) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',B), 'chr sbag_member'(A,B), A=suspension(_,active,_), !. 'test/1_1_$default'(A) :- nonvar(A), ( ( ( ( ( A=nonvar(B), ( 'chr newvia_1'(B,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,E,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,D), D==B, ! ; A=var(H), ( 'chr newvia_1'(H,L) -> get_attr(L,guard_entailment,M), M=v(_,_,_,_,_,K,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',K) ), 'chr sbag_member'(I,K), I=suspension(_,active,_,_,J), J==H, ! ) ; A=atom(N), ( 'chr newvia_1'(N,R) -> get_attr(R,guard_entailment,S), S=v(_,_,_,_,_,_,Q,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',Q) ), 'chr sbag_member'(O,Q), O=suspension(_,active,_,_,_,P), P==N, ! ) ; A=atomic(T), ( 'chr newvia_1'(T,X) -> get_attr(X,guard_entailment,Y), Y=v(_,_,_,_,_,_,_,W,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',W) ), 'chr sbag_member'(U,W), U=suspension(_,active,_,_,_,V), V==T, ! ) ; A=compound(Z), ( 'chr newvia_1'(Z,D1) -> get_attr(D1,guard_entailment,E1), E1=v(_,_,_,_,_,_,_,_,C1,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',C1) ), 'chr sbag_member'(A1,C1), A1=suspension(_,active,_,_,_,B1), B1==Z, ! ) ; A=(F1\=G1), ( 'chr newvia_2'(F1,G1,L1) -> get_attr(L1,guard_entailment,M1), M1=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,K1,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',K1) ), 'chr sbag_member'(H1,K1), H1=suspension(_,active,_,_,_,I1,J1), I1==F1, J1==G1, ! ). 'test/1_1_$default'(A) :- ( 'chr newvia_1'(A,E) -> get_attr(E,guard_entailment,F), F=v(_,_,D,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',D) ), 'chr sbag_member'(B,D), B=suspension(_,active,_,_,C), C==A, !. 'test/1_1_$default'(A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',E), 'chr sbag_member'(B,E), B=suspension(_,active,_,_,C,D), !, B=suspension(_,_,_,_,L,M), setarg(2,B,removed), term_variables(term(L,M),G), arg(4,B,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,B), \+try(C,A), !, negate_b(C,F), known(F), \+try(D,A). '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',B), 'chr sbag_member'(A,B), A=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',B), 'chr sbag_member'(A,B), A=suspension(_,active,_), !. 'test/1_1_$special_\\+/1'(A) :- ( 'chr newvia_1'(A,E) -> get_attr(E,guard_entailment,F), F=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,D,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',D) ), 'chr sbag_member'(B,D), B=suspension(_,active,_,_,C), C==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'(A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',E), 'chr sbag_member'(B,E), B=suspension(_,active,_,_,C,D), !, B=suspension(_,_,_,_,L,M), setarg(2,B,removed), term_variables(term(L,M),G), arg(4,B,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,B), \+try(C,\+A), !, negate_b(C,F), known(F), \+try(D,\+A). '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',B), 'chr sbag_member'(A,B), A=suspension(_,active,_), !. 'test/1_1_$special_integer/1'(A) :- ( 'chr newvia_1'(A,E) -> get_attr(E,guard_entailment,F), F=v(_,_,_,_,_,_,_,_,_,_,D,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',D) ), 'chr sbag_member'(B,D), B=suspension(_,active,_,_,_,C), C==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'(A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',E), 'chr sbag_member'(B,E), B=suspension(_,active,_,_,C,D), !, B=suspension(_,_,_,_,L,M), setarg(2,B,removed), term_variables(term(L,M),G), arg(4,B,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,B), \+try(C,integer(A)), !, negate_b(C,F), known(F), \+try(D,integer(A)). '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',B), 'chr sbag_member'(A,B), A=suspension(_,active,_), !. 'test/1_1_$special_float/1'(A) :- ( 'chr newvia_1'(A,E) -> get_attr(E,guard_entailment,F), F=v(_,_,_,_,_,_,_,_,_,_,_,D,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',D) ), 'chr sbag_member'(B,D), B=suspension(_,active,_,_,_,C), C==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'(A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',E), 'chr sbag_member'(B,E), B=suspension(_,active,_,_,C,D), !, B=suspension(_,_,_,_,L,M), setarg(2,B,removed), term_variables(term(L,M),G), arg(4,B,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,B), \+try(C,float(A)), !, negate_b(C,F), known(F), \+try(D,float(A)). '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',B), 'chr sbag_member'(A,B), A=suspension(_,active,_), !. 'test/1_1_$special_number/1'(A) :- ( 'chr newvia_1'(A,E) -> get_attr(E,guard_entailment,F), F=v(_,_,_,_,_,_,_,_,_,_,_,_,D,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',D) ), 'chr sbag_member'(B,D), B=suspension(_,active,_,_,_,C), C==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'(A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',E), 'chr sbag_member'(B,E), B=suspension(_,active,_,_,C,D), !, B=suspension(_,_,_,_,L,M), setarg(2,B,removed), term_variables(term(L,M),G), arg(4,B,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,B), \+try(C,number(A)), !, negate_b(C,F), known(F), \+try(D,number(A)). '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',B), 'chr sbag_member'(A,B), A=suspension(_,active,_), !. 'test/1_1_$special_ground/1'(A) :- ( 'chr newvia_1'(A,E) -> get_attr(E,guard_entailment,F), F=v(_,_,_,_,_,_,_,_,_,D,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',D) ), 'chr sbag_member'(B,D), B=suspension(_,active,_,_,_,C), C==A, !. 'test/1_1_$special_ground/1'(A) :- ground(A), !. 'test/1_1_$special_ground/1'(A) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',E), 'chr sbag_member'(B,E), B=suspension(_,active,_,_,C,D), !, B=suspension(_,_,_,_,L,M), setarg(2,B,removed), term_variables(term(L,M),G), arg(4,B,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,B), \+try(C,ground(A)), !, negate_b(C,F), known(F), \+try(D,ground(A)). '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',B), 'chr sbag_member'(A,B), A=suspension(_,active,_), !. 'test/1_1_$special_=:=/2'(A,B) :- ( 'chr newvia_2'(A,B,G) -> get_attr(G,guard_entailment,H), H=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,F) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',F) ), 'chr sbag_member'(C,F), C=suspension(_,active,_,_,_,D,E), D==A, E==B, !. 'test/1_1_$special_=:=/2'(A,B) :- A==B, !. 'test/1_1_$special_=:=/2'(A,B) :- ground(B), ground(A), ( A=:=B, ! ; !, fail ). 'test/1_1_$special_=:=/2'(A,B) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',F), 'chr sbag_member'(C,F), C=suspension(_,active,_,_,D,E), !, C=suspension(_,_,_,_,M,N), setarg(2,C,removed), term_variables(term(M,N),H), arg(4,C,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'(H,C), \+try(D,A=:=B), !, negate_b(D,G), known(G), \+try(E,A=:=B). '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',B), 'chr sbag_member'(A,B), A=suspension(_,active,_), !. 'test/1_1_$special_==/2'(A,B) :- ( 'chr newvia_2'(A,B,G) -> get_attr(G,guard_entailment,H), H=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,F,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',F) ), 'chr sbag_member'(C,F), C=suspension(_,active,_,_,_,D,E), D==A, E==B, !. 'test/1_1_$special_==/2'(A,B) :- A==B, !. 'test/1_1_$special_==/2'(A,B) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',F), 'chr sbag_member'(C,F), C=suspension(_,active,_,_,D,E), !, C=suspension(_,_,_,_,M,N), setarg(2,C,removed), term_variables(term(M,N),H), arg(4,C,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'(H,C), \+try(D,A==B), !, negate_b(D,G), known(G), \+try(E,A==B). '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',B), 'chr sbag_member'(A,B), A=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',B), 'chr sbag_member'(A,B), A=suspension(_,active,_), !. 'test/1_1_$special_functor/3'(A,B,C) :- ( 'chr newvia'([A,B,C],I) -> get_attr(I,guard_entailment,J), J=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,H,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',H) ), 'chr sbag_member'(D,H), D=suspension(_,active,_,_,E,F,G), E==A, F==B, G==C, !. 'test/1_1_$special_functor/3'(A,B,C) :- ground(C), ground(B), var(A), nb_getval('$chr_store_global_list_guard_entailment____variables___1',F), 'chr sbag_member'(D,F), D=suspension(_,active,_,E), 'chr lock'(A), 'chr lock'(E), \+memberchk_eq(A,E), 'chr unlock'(A), 'chr unlock'(E), !, functor(A,B,C). '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'(A,B,C) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',G), 'chr sbag_member'(D,G), D=suspension(_,active,_,_,E,F), !, D=suspension(_,_,_,_,N,O), setarg(2,D,removed), term_variables(term(N,O),I), arg(4,D,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'(I,D), \+try(E,functor(A,B,C)), !, negate_b(E,H), known(H), \+try(F,functor(A,B,C)). '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',B), 'chr sbag_member'(A,B), A=suspension(_,active,_), !. 'test/1_1_$special_=/2'(A,B) :- ( 'chr newvia_2'(A,B,G) -> get_attr(G,guard_entailment,H), H=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,F,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',F) ), 'chr sbag_member'(C,F), C=suspension(_,active,_,_,D,E), D==A, E==B, !. 'test/1_1_$special_=/2'(A,B) :- ground(B), ground(A), !, A=B. 'test/1_1_$special_=/2'(A,B) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',F), 'chr sbag_member'(C,F), C=suspension(_,active,_,_,D,E), !, C=suspension(_,_,_,_,M,N), setarg(2,C,removed), term_variables(term(M,N),H), arg(4,C,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'(H,C), \+try(D,A=B), !, negate_b(D,G), known(G), \+try(E,A=B). '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',B), 'chr sbag_member'(A,B), A=suspension(_,active,_), !. 'test/1_1_$special_;/2'(A,B) :- ( 'chr newvia_2'(A,B,G) -> get_attr(G,guard_entailment,H), H=v(_,_,_,F,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',F) ), 'chr sbag_member'(C,F), C=suspension(_,active,_,_,D,E), D==A, E==B, !. 'test/1_1_$special_;/2'(A,B) :- A==fail, !, test(B). 'test/1_1_$special_;/2'(A,B) :- B==fail, !, test(A). 'test/1_1_$special_;/2'(A,B) :- negate_b(A,C), negate_b(B,D), ( known(D), test(A) ; known(C), test(B) ). 'test/1_1_$special_is/2'(_,_) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',B), 'chr sbag_member'(A,B), A=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',B), 'chr sbag_member'(A,B), A=suspension(_,active,_), !. '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',B), 'chr sbag_member'(A,B), A=suspension(_,active,_), !. 'test/1_1_$special_>/2'(A,B) :- 'test/1_1_$special_ get_attr(G,guard_entailment,H), H=v(_,_,_,_,_,_,_,_,_,_,_,_,_,F,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',F) ), 'chr sbag_member'(C,F), C=suspension(_,active,_,_,_,D,E), D==A, E==B, !. 'test/1_1_$special_=\\=/2'(A,B) :- number(B), ( 'chr newvia_1'(A,G) -> get_attr(G,guard_entailment,H), H=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,F,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=E, ! ; E==A, number(D), B 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'(H,C), \+try(D,A=\=B), !, negate_b(D,G), known(G), \+try(E,A=\=B). 'test/1_1_$special_=\\=/2'(_,_) :- fail. 'test/1_1_$special_= get_attr(G,guard_entailment,H), H=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,F,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= get_attr(G,guard_entailment,H), H=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,F) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',F) ), 'chr sbag_member'(C,F), C=suspension(_,active,_,_,_,D,E), D==A, E==B, !. 'test/1_1_$special_= get_attr(G,guard_entailment,H), H=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,F) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',F) ), 'chr sbag_member'(C,F), C=suspension(_,active,_,_,_,D,E), D==A, number(E), E= get_attr(G,guard_entailment,H), H=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,F) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',F) ), 'chr sbag_member'(C,F), C=suspension(_,active,_,_,_,D,E), D==B, number(E), A= get_attr(G,guard_entailment,H), H=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,F,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= get_attr(G,guard_entailment,H), H=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,F,_) ; 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',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'(H,C), \+try(D,A= get_attr(G,guard_entailment,H), H=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,F,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',F) ), 'chr sbag_member'(C,F), C=suspension(_,active,_,_,_,D,E), D==A, E==B, !. 'test/1_1_$special_\\==/2'(A,B) :- nonvar(B), 'chr lock'(B), functor(B,C,D), 'chr unlock'(B), !, B=..[_|E], length(F,D), G=..[C|F], add_args_nmatch(F,E,H), I=(\+functor(A,C,D);functor(A,C,D),A=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'(A,B) :- nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',F), 'chr sbag_member'(C,F), C=suspension(_,active,_,_,D,E), !, C=suspension(_,_,_,_,M,N), setarg(2,C,removed), term_variables(term(M,N),H), arg(4,C,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'(H,C), \+try(D,A\==B), !, negate_b(D,G), known(G), \+try(E,A\==B). '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,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,E,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,D), D==A, !, ( var(B) -> true ; B=suspension(_,M,_,_,N), setarg(2,B,removed), ( M==not_stored_yet -> H=[] ; term_variables(N,H), arg(4,B,I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___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_$default___1'(H,B) ) ). 'known/1_1_$default___1__0'(_,A) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',C), 'chr sbag_member'(B,C), B=suspension(_,active,_), !, ( var(A) -> true ; A=suspension(_,I,_,_,J), setarg(2,A,removed), ( I==not_stored_yet -> D=[] ; term_variables(J,D), arg(4,A,E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',G), ( G=[H|_] -> setarg(4,H,_) ; true ) ; E=[_,_|G], setarg(2,E,G), ( G=[H|_] -> setarg(4,H,E) ; true ) ), 'detach_known/1_1_$default___1'(D,A) ) ). 'known/1_1_$default___1__0'(A,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,E,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,D), D==A, !, C=suspension(_,_,_,_,T), setarg(2,C,removed), term_variables(T,H), arg(4,C,P), ( var(P) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',Q), Q=[_|R], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',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_\\+/1___1'(H,C), ( var(B) -> true ; B=suspension(_,N,_,_,O), setarg(2,B,removed), ( N==not_stored_yet -> I=[] ; term_variables(O,I), arg(4,B,J), ( var(J) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',K), K=[_|L], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',L), ( L=[M|_] -> setarg(4,M,_) ; true ) ; J=[_,_|L], setarg(2,J,L), ( L=[M|_] -> setarg(4,M,J) ; true ) ), 'detach_known/1_1_$default___1'(I,B) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$default___1__0'(A,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, ( var(B) -> B=suspension(F,not_stored_yet,0,_,A), 'chr gen_id'(F) ; true ), 'known/1_1_$default___1__0__0__6'(C,A,B). 'known/1_1_$default___1__0__0__6'([],B,A) :- 'known/1_1_$default___1__1'(B,A). 'known/1_1_$default___1__0__0__6'([E|G],A,B) :- ( E=suspension(_,active,_,_,C,D), nonvar(C), C=(\+F), F==A -> E=suspension(_,_,_,_,U,V), setarg(2,E,removed), term_variables(term(U,V),H), arg(4,E,Q), ( var(Q) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',R), R=[_|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',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_;/2___2'(H,E), arg(2,B,L), setarg(2,B,active), arg(3,B,K), J is K+1, setarg(3,B,J), ( L==not_stored_yet -> B=suspension(_,_,_,_,M), term_variables(M,I), 'chr none_locked'(I), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',N), O=[B|N], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',O), ( N=[P|_] -> setarg(4,P,O) ; true ), 'attach_known/1_1_$default___1'(I,B) ; true ), known(D), ( B=suspension(_,active,J,_,_) -> setarg(2,B,inactive), 'known/1_1_$default___1__0__0__6'(G,A,B) ; true ) ; 'known/1_1_$default___1__0__0__6'(G,A,B) ). 'known/1_1_$default___1__0'(A,B) :- ( var(B) -> B=suspension(C,not_stored_yet,0,_,A), 'chr gen_id'(C) ; true ), 'known/1_1_$default___1__1'(A,B). 'known/1_1_$default___1__1'(A,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, 'known/1_1_$default___1__1__0__7'(C,A,B). 'known/1_1_$default___1__1__0__7'([],B,A) :- 'known/1_1_$default___1__2'(B,A). 'known/1_1_$default___1__1__0__7'([E|H],A,B) :- ( E=suspension(_,active,_,_,C,D), nonvar(C), C=(F,_), nonvar(F), F=(\+G), G==A -> E=suspension(_,_,_,_,V,W), setarg(2,E,removed), term_variables(term(V,W),I), arg(4,E,R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',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_;/2___2'(I,E), arg(2,B,M), setarg(2,B,active), arg(3,B,L), K is L+1, setarg(3,B,K), ( M==not_stored_yet -> B=suspension(_,_,_,_,N), term_variables(N,J), 'chr none_locked'(J), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',O), P=[B|O], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',P), ( O=[Q|_] -> setarg(4,Q,P) ; true ), 'attach_known/1_1_$default___1'(J,B) ; true ), known(D), ( B=suspension(_,active,K,_,_) -> setarg(2,B,inactive), 'known/1_1_$default___1__1__0__7'(H,A,B) ; true ) ; 'known/1_1_$default___1__1__0__7'(H,A,B) ). '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,E), setarg(2,A,active), arg(3,A,D), C is D+1, setarg(3,A,C), ( E==not_stored_yet -> A=suspension(_,_,_,_,F), term_variables(F,B), 'chr none_locked'(B), 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'(B,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,C) :- ( 'chr newvia_2'(A,B,H) -> get_attr(H,guard_entailment,I), I=v(_,_,_,G,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',G) ), 'chr sbag_member'(D,G), D=suspension(_,active,_,_,E,F), E==A, F==B, !, ( var(C) -> true ; C=suspension(_,O,_,_,P,Q), setarg(2,C,removed), ( O==not_stored_yet -> J=[] ; term_variables(term(P,Q),J), arg(4,C,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'(J,C) ) ). 'known/1_1_$special_;/2___2__0'(_,_,A) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',C), 'chr sbag_member'(B,C), B=suspension(_,active,_), !, ( var(A) -> true ; A=suspension(_,I,_,_,J,K), setarg(2,A,removed), ( I==not_stored_yet -> D=[] ; term_variables(term(J,K),D), arg(4,A,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'(D,A) ) ). 'known/1_1_$special_;/2___2__0'(A,B,C) :- ( 'chr newvia_2'(A,B,G) -> get_attr(G,guard_entailment,H), H=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,F,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',F) ), 'chr sbag_member'(D,F), D=suspension(_,active,_,_,E), nonvar(E), E=(I;J), I==A, J==B, !, D=suspension(_,_,_,_,X), setarg(2,D,removed), term_variables(X,K), arg(4,D,T), ( var(T) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',U), U=[_|V], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',V), ( V=[W|_] -> setarg(4,W,_) ; true ) ; T=[_,_|V], setarg(2,T,V), ( V=[W|_] -> setarg(4,W,T) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(K,D), ( var(C) -> true ; C=suspension(_,Q,_,_,R,S), setarg(2,C,removed), ( Q==not_stored_yet -> L=[] ; term_variables(term(R,S),L), arg(4,C,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,C) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_;/2___2__0'(A,B,C) :- nonvar(A), A=(\+D), nonvar(D), D=(E;F), ( 'chr newvia_2'(E,F,K) -> get_attr(K,guard_entailment,L), L=v(_,_,_,J,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',J) ), 'chr sbag_member'(G,J), G=suspension(_,active,_,_,H,I), H==E, I==F, !, ( var(C) -> true ; C=suspension(_,R,_,_,S,T), setarg(2,C,removed), ( R==not_stored_yet -> M=[] ; term_variables(term(S,T),M), arg(4,C,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,C) ) ), known(B). 'known/1_1_$special_;/2___2__0'(A,B,C) :- ( 'chr newvia_2'(A,B,E) -> get_attr(E,guard_entailment,F), F=v(_,_,_,D,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',D) ), !, ( var(C) -> C=suspension(G,not_stored_yet,0,_,A,B), 'chr gen_id'(G) ; true ), 'known/1_1_$special_;/2___2__0__0__7'(D,A,B,C). 'known/1_1_$special_;/2___2__0__0__7'([],B,C,A) :- 'known/1_1_$special_;/2___2__1'(B,C,A). 'known/1_1_$special_;/2___2__0__0__7'([F|J],A,B,C) :- ( F=suspension(_,active,_,_,D,E), nonvar(D), D=(\+G), nonvar(G), G=(H;I), H==A, I==B -> F=suspension(_,_,_,_,Y,Z), setarg(2,F,removed), term_variables(term(Y,Z),K), arg(4,F,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'(K,F), arg(2,C,O), setarg(2,C,active), arg(3,C,N), M is N+1, setarg(3,C,M), ( O==not_stored_yet -> C=suspension(_,_,_,_,P,Q), term_variables(term(P,Q),L), 'chr none_locked'(L), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',R), S=[C|R], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',S), ( R=[T|_] -> setarg(4,T,S) ; true ), 'attach_known/1_1_$special_;/2___2'(L,C) ; true ), known(E), ( C=suspension(_,active,M,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_;/2___2__0__0__7'(J,A,B,C) ; true ) ; 'known/1_1_$special_;/2___2__0__0__7'(J,A,B,C) ). 'known/1_1_$special_;/2___2__0'(A,B,C) :- ( var(C) -> C=suspension(D,not_stored_yet,0,_,A,B), 'chr gen_id'(D) ; true ), 'known/1_1_$special_;/2___2__1'(A,B,C). 'known/1_1_$special_;/2___2__1'(A,B,C) :- nonvar(A), ( A=(\+D), ( nonvar(D), ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( D=nonvar(E), ( 'chr newvia_1'(E,I) -> get_attr(I,guard_entailment,J), J=v(_,_,_,_,H,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',H) ), 'chr sbag_member'(F,H), F=suspension(_,active,_,_,G), G==E, !, ( var(C) -> true ; C=suspension(_,Q11,_,_,R11,S11), setarg(2,C,removed), ( Q11==not_stored_yet -> K=[] ; term_variables(term(R11,S11),K), arg(4,C,M11), ( var(M11) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',N11), N11=[_|O11], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',O11), ( O11=[P11|_] -> setarg(4,P11,_) ; true ) ; M11=[_,_|O11], setarg(2,M11,O11), ( O11=[P11|_] -> setarg(4,P11,M11) ; true ) ), 'detach_known/1_1_$special_;/2___2'(K,C) ) ), known(B) ; D=var(L), ( 'chr newvia_1'(L,P) -> get_attr(P,guard_entailment,Q), Q=v(_,_,_,_,_,O,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',O) ), 'chr sbag_member'(M,O), M=suspension(_,active,_,_,N), N==L, !, ( var(C) -> true ; C=suspension(_,J11,_,_,K11,L11), setarg(2,C,removed), ( J11==not_stored_yet -> R=[] ; term_variables(term(K11,L11),R), arg(4,C,F11), ( var(F11) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',G11), G11=[_|H11], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',H11), ( H11=[I11|_] -> setarg(4,I11,_) ; true ) ; F11=[_,_|H11], setarg(2,F11,H11), ( H11=[I11|_] -> setarg(4,I11,F11) ; true ) ), 'detach_known/1_1_$special_;/2___2'(R,C) ) ), known(B) ) ; D=atom(S), ( 'chr newvia_1'(S,W) -> get_attr(W,guard_entailment,X), X=v(_,_,_,_,_,_,V,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',V) ), 'chr sbag_member'(T,V), T=suspension(_,active,_,_,_,U), U==S, !, ( var(C) -> true ; C=suspension(_,C11,_,_,D11,E11), setarg(2,C,removed), ( C11==not_stored_yet -> Y=[] ; term_variables(term(D11,E11),Y), arg(4,C,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'(Y,C) ) ), known(B) ) ; D=atomic(Z), ( 'chr newvia_1'(Z,D1) -> get_attr(D1,guard_entailment,E1), E1=v(_,_,_,_,_,_,_,C1,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',C1) ), 'chr sbag_member'(A1,C1), A1=suspension(_,active,_,_,_,B1), B1==Z, !, ( var(C) -> true ; C=suspension(_,V10,_,_,W10,X10), setarg(2,C,removed), ( V10==not_stored_yet -> F1=[] ; term_variables(term(W10,X10),F1), arg(4,C,R10), ( var(R10) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',S10), S10=[_|T10], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',T10), ( T10=[U10|_] -> setarg(4,U10,_) ; true ) ; R10=[_,_|T10], setarg(2,R10,T10), ( T10=[U10|_] -> setarg(4,U10,R10) ; true ) ), 'detach_known/1_1_$special_;/2___2'(F1,C) ) ), known(B) ) ; D=compound(G1), ( 'chr newvia_1'(G1,K1) -> get_attr(K1,guard_entailment,L1), L1=v(_,_,_,_,_,_,_,_,J1,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',J1) ), 'chr sbag_member'(H1,J1), H1=suspension(_,active,_,_,_,I1), I1==G1, !, ( var(C) -> true ; C=suspension(_,O10,_,_,P10,Q10), setarg(2,C,removed), ( O10==not_stored_yet -> M1=[] ; term_variables(term(P10,Q10),M1), arg(4,C,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'(M1,C) ) ), known(B) ) ; D=ground(N1), ( 'chr newvia_1'(N1,R1) -> get_attr(R1,guard_entailment,S1), S1=v(_,_,_,_,_,_,_,_,_,Q1,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',Q1) ), 'chr sbag_member'(O1,Q1), O1=suspension(_,active,_,_,_,P1), P1==N1, !, ( var(C) -> true ; C=suspension(_,H10,_,_,I10,J10), setarg(2,C,removed), ( H10==not_stored_yet -> T1=[] ; term_variables(term(I10,J10),T1), arg(4,C,D10), ( var(D10) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',E10), E10=[_|F10], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',F10), ( F10=[G10|_] -> setarg(4,G10,_) ; true ) ; D10=[_,_|F10], setarg(2,D10,F10), ( F10=[G10|_] -> setarg(4,G10,D10) ; true ) ), 'detach_known/1_1_$special_;/2___2'(T1,C) ) ), known(B) ) ; D=integer(U1), ( 'chr newvia_1'(U1,Y1) -> get_attr(Y1,guard_entailment,Z1), Z1=v(_,_,_,_,_,_,_,_,_,_,X1,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',X1) ), 'chr sbag_member'(V1,X1), V1=suspension(_,active,_,_,_,W1), W1==U1, !, ( var(C) -> true ; C=suspension(_,A10,_,_,B10,C10), setarg(2,C,removed), ( A10==not_stored_yet -> A2=[] ; term_variables(term(B10,C10),A2), arg(4,C,W9), ( var(W9) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',X9), X9=[_|Y9], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',Y9), ( Y9=[Z9|_] -> setarg(4,Z9,_) ; true ) ; W9=[_,_|Y9], setarg(2,W9,Y9), ( Y9=[Z9|_] -> setarg(4,Z9,W9) ; true ) ), 'detach_known/1_1_$special_;/2___2'(A2,C) ) ), known(B) ) ; D=float(B2), ( 'chr newvia_1'(B2,F2) -> get_attr(F2,guard_entailment,G2), G2=v(_,_,_,_,_,_,_,_,_,_,_,E2,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',E2) ), 'chr sbag_member'(C2,E2), C2=suspension(_,active,_,_,_,D2), D2==B2, !, ( var(C) -> true ; C=suspension(_,T9,_,_,U9,V9), setarg(2,C,removed), ( T9==not_stored_yet -> H2=[] ; term_variables(term(U9,V9),H2), arg(4,C,P9), ( var(P9) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',Q9), Q9=[_|R9], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',R9), ( R9=[S9|_] -> setarg(4,S9,_) ; true ) ; P9=[_,_|R9], setarg(2,P9,R9), ( R9=[S9|_] -> setarg(4,S9,P9) ; true ) ), 'detach_known/1_1_$special_;/2___2'(H2,C) ) ), known(B) ) ; D=number(I2), ( 'chr newvia_1'(I2,M2) -> get_attr(M2,guard_entailment,N2), N2=v(_,_,_,_,_,_,_,_,_,_,_,_,L2,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',L2) ), 'chr sbag_member'(J2,L2), J2=suspension(_,active,_,_,_,K2), K2==I2, !, ( var(C) -> true ; C=suspension(_,M9,_,_,N9,O9), setarg(2,C,removed), ( M9==not_stored_yet -> O2=[] ; term_variables(term(N9,O9),O2), arg(4,C,I9), ( var(I9) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',J9), J9=[_|K9], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',K9), ( K9=[L9|_] -> setarg(4,L9,_) ; true ) ; I9=[_,_|K9], setarg(2,I9,K9), ( K9=[L9|_] -> setarg(4,L9,I9) ; true ) ), 'detach_known/1_1_$special_;/2___2'(O2,C) ) ), known(B) ) ; D=(P2=\=Q2), ( 'chr newvia_2'(P2,Q2,V2) -> get_attr(V2,guard_entailment,W2), W2=v(_,_,_,_,_,_,_,_,_,_,_,_,_,U2,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',U2) ), 'chr sbag_member'(R2,U2), R2=suspension(_,active,_,_,_,S2,T2), S2==P2, T2==Q2, !, ( var(C) -> true ; C=suspension(_,F9,_,_,G9,H9), setarg(2,C,removed), ( F9==not_stored_yet -> X2=[] ; term_variables(term(G9,H9),X2), arg(4,C,B9), ( var(B9) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C9), C9=[_|D9], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',D9), ( D9=[E9|_] -> setarg(4,E9,_) ; true ) ; B9=[_,_|D9], setarg(2,B9,D9), ( D9=[E9|_] -> setarg(4,E9,B9) ; true ) ), 'detach_known/1_1_$special_;/2___2'(X2,C) ) ), known(B) ) ; D=(\+Y2), ( 'chr newvia_1'(Y2,C3) -> get_attr(C3,guard_entailment,D3), D3=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,B3,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',B3) ), 'chr sbag_member'(Z2,B3), Z2=suspension(_,active,_,_,A3), A3==Y2, !, ( var(C) -> true ; C=suspension(_,Y8,_,_,Z8,A9), setarg(2,C,removed), ( Y8==not_stored_yet -> E3=[] ; term_variables(term(Z8,A9),E3), arg(4,C,U8), ( var(U8) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',V8), V8=[_|W8], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',W8), ( W8=[X8|_] -> setarg(4,X8,_) ; true ) ; U8=[_,_|W8], setarg(2,U8,W8), ( W8=[X8|_] -> setarg(4,X8,U8) ; true ) ), 'detach_known/1_1_$special_;/2___2'(E3,C) ) ), known(B) ) ; D=functor(F3,G3,H3), ( 'chr newvia'([F3,G3,H3],N3) -> get_attr(N3,guard_entailment,O3), O3=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,M3,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',M3) ), 'chr sbag_member'(I3,M3), I3=suspension(_,active,_,_,J3,K3,L3), J3==F3, K3==G3, L3==H3, !, ( var(C) -> true ; C=suspension(_,R8,_,_,S8,T8), setarg(2,C,removed), ( R8==not_stored_yet -> P3=[] ; term_variables(term(S8,T8),P3), arg(4,C,N8), ( var(N8) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',O8), O8=[_|P8], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',P8), ( P8=[Q8|_] -> setarg(4,Q8,_) ; true ) ; N8=[_,_|P8], setarg(2,N8,P8), ( P8=[Q8|_] -> setarg(4,Q8,N8) ; true ) ), 'detach_known/1_1_$special_;/2___2'(P3,C) ) ), known(B) ) ; D=(Q3\=R3), ( 'chr newvia_2'(Q3,R3,W3) -> get_attr(W3,guard_entailment,X3), X3=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,V3,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',V3) ), 'chr sbag_member'(S3,V3), S3=suspension(_,active,_,_,_,T3,U3), T3==Q3, U3==R3, !, ( var(C) -> true ; C=suspension(_,K8,_,_,L8,M8), setarg(2,C,removed), ( K8==not_stored_yet -> Y3=[] ; term_variables(term(L8,M8),Y3), arg(4,C,G8), ( var(G8) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',H8), H8=[_|I8], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',I8), ( I8=[J8|_] -> setarg(4,J8,_) ; true ) ; G8=[_,_|I8], setarg(2,G8,I8), ( I8=[J8|_] -> setarg(4,J8,G8) ; true ) ), 'detach_known/1_1_$special_;/2___2'(Y3,C) ) ), known(B) ) ; D=(Z3=A4), ( 'chr newvia_2'(Z3,A4,F4) -> get_attr(F4,guard_entailment,G4), G4=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,E4,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',E4) ), 'chr sbag_member'(B4,E4), B4=suspension(_,active,_,_,C4,D4), C4==Z3, D4==A4, !, ( var(C) -> true ; C=suspension(_,D8,_,_,E8,F8), setarg(2,C,removed), ( D8==not_stored_yet -> H4=[] ; term_variables(term(E8,F8),H4), arg(4,C,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'(H4,C) ) ), known(B) ) ; D=(I4\==J4), ( 'chr newvia_2'(I4,J4,O4) -> get_attr(O4,guard_entailment,P4), P4=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,N4,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',N4) ), 'chr sbag_member'(K4,N4), K4=suspension(_,active,_,_,_,L4,M4), L4==I4, M4==J4, !, ( var(C) -> true ; C=suspension(_,W7,_,_,X7,Y7), setarg(2,C,removed), ( W7==not_stored_yet -> Q4=[] ; term_variables(term(X7,Y7),Q4), arg(4,C,S7), ( var(S7) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',T7), T7=[_|U7], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',U7), ( U7=[V7|_] -> setarg(4,V7,_) ; true ) ; S7=[_,_|U7], setarg(2,S7,U7), ( U7=[V7|_] -> setarg(4,V7,S7) ; true ) ), 'detach_known/1_1_$special_;/2___2'(Q4,C) ) ), known(B) ) ; D=(R4==S4), ( 'chr newvia_2'(R4,S4,X4) -> get_attr(X4,guard_entailment,Y4), Y4=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,W4,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',W4) ), 'chr sbag_member'(T4,W4), T4=suspension(_,active,_,_,_,U4,V4), U4==R4, V4==S4, !, ( var(C) -> true ; C=suspension(_,P7,_,_,Q7,R7), setarg(2,C,removed), ( P7==not_stored_yet -> Z4=[] ; term_variables(term(Q7,R7),Z4), arg(4,C,L7), ( var(L7) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',M7), M7=[_|N7], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',N7), ( N7=[O7|_] -> setarg(4,O7,_) ; true ) ; L7=[_,_|N7], setarg(2,L7,N7), ( N7=[O7|_] -> setarg(4,O7,L7) ; true ) ), 'detach_known/1_1_$special_;/2___2'(Z4,C) ) ), known(B) ) ; D=(A5= get_attr(G5,guard_entailment,H5), H5=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,F5,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= true ; C=suspension(_,I7,_,_,J7,K7), setarg(2,C,removed), ( I7==not_stored_yet -> I5=[] ; term_variables(term(J7,K7),I5), arg(4,C,E7), ( var(E7) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',F7), F7=[_|G7], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',G7), ( G7=[H7|_] -> setarg(4,H7,_) ; true ) ; E7=[_,_|G7], setarg(2,E7,G7), ( G7=[H7|_] -> setarg(4,H7,E7) ; true ) ), 'detach_known/1_1_$special_;/2___2'(I5,C) ) ), known(B) ) ; D=(J5=:=K5), ( 'chr newvia_2'(J5,K5,P5) -> get_attr(P5,guard_entailment,Q5), Q5=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,O5) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',O5) ), 'chr sbag_member'(L5,O5), L5=suspension(_,active,_,_,_,M5,N5), M5==J5, N5==K5, !, ( var(C) -> true ; C=suspension(_,B7,_,_,C7,D7), setarg(2,C,removed), ( B7==not_stored_yet -> R5=[] ; term_variables(term(C7,D7),R5), arg(4,C,X6), ( var(X6) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',Y6), Y6=[_|Z6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',Z6), ( Z6=[A7|_] -> setarg(4,A7,_) ; true ) ; X6=[_,_|Z6], setarg(2,X6,Z6), ( Z6=[A7|_] -> setarg(4,A7,X6) ; true ) ), 'detach_known/1_1_$special_;/2___2'(R5,C) ) ), known(B) ) ; ( 'chr newvia_1'(D,V5) -> get_attr(V5,guard_entailment,W5), W5=v(_,_,U5,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',U5) ), 'chr sbag_member'(S5,U5), S5=suspension(_,active,_,_,T5), T5==D, !, ( var(C) -> true ; C=suspension(_,U6,_,_,V6,W6), setarg(2,C,removed), ( U6==not_stored_yet -> X5=[] ; term_variables(term(V6,W6),X5), arg(4,C,Q6), ( var(Q6) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',R6), R6=[_|S6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',S6), ( S6=[T6|_] -> setarg(4,T6,_) ; true ) ; Q6=[_,_|S6], setarg(2,Q6,S6), ( S6=[T6|_] -> setarg(4,T6,Q6) ; true ) ), 'detach_known/1_1_$special_;/2___2'(X5,C) ) ), known(B) ) ; A=(Y5,_), nonvar(Y5), Y5=(\+Z5), nonvar(Z5), Z5=(A6;B6), ( 'chr newvia_2'(A6,B6,G6) -> get_attr(G6,guard_entailment,H6), H6=v(_,_,_,F6,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',F6) ), 'chr sbag_member'(C6,F6), C6=suspension(_,active,_,_,D6,E6), D6==A6, E6==B6, !, ( var(C) -> true ; C=suspension(_,N6,_,_,O6,P6), setarg(2,C,removed), ( N6==not_stored_yet -> I6=[] ; term_variables(term(O6,P6),I6), arg(4,C,J6), ( var(J6) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',K6), K6=[_|L6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',L6), ( L6=[M6|_] -> setarg(4,M6,_) ; true ) ; J6=[_,_|L6], setarg(2,J6,L6), ( L6=[M6|_] -> setarg(4,M6,J6) ; true ) ), 'detach_known/1_1_$special_;/2___2'(I6,C) ) ), known(B) ). 'known/1_1_$special_;/2___2__1'(A,B,C) :- ( 'chr newvia_2'(A,B,E) -> get_attr(E,guard_entailment,F), F=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__34'(D,A,B,C). 'known/1_1_$special_;/2___2__1__0__34'([],B,C,A) :- 'known/1_1_$special_;/2___2__2'(B,C,A). 'known/1_1_$special_;/2___2__1__0__34'([F|K],A,B,C) :- ( F=suspension(_,active,_,_,D,E), nonvar(D), D=(G,_), nonvar(G), G=(\+H), nonvar(H), H=(I;J), I==A, J==B -> F=suspension(_,_,_,_,Z,A1), setarg(2,F,removed), term_variables(term(Z,A1),L), arg(4,F,V), ( var(V) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',W), W=[_|X], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',X), ( X=[Y|_] -> setarg(4,Y,_) ; true ) ; V=[_,_|X], setarg(2,V,X), ( X=[Y|_] -> setarg(4,Y,V) ; true ) ), 'detach_known/1_1_$special_;/2___2'(L,F), arg(2,C,P), setarg(2,C,active), arg(3,C,O), N is O+1, setarg(3,C,N), ( P==not_stored_yet -> C=suspension(_,_,_,_,Q,R), term_variables(term(Q,R),M), 'chr none_locked'(M), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',S), T=[C|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',T), ( S=[U|_] -> setarg(4,U,T) ; true ), 'attach_known/1_1_$special_;/2___2'(M,C) ; true ), known(E), ( C=suspension(_,active,N,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_;/2___2__1__0__34'(K,A,B,C) ; true ) ; 'known/1_1_$special_;/2___2__1__0__34'(K,A,B,C) ). '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,C) :- nonvar(A), A=(D,_), nonvar(D), D=(\+E), ( nonvar(E), ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( E=nonvar(F), ( 'chr newvia_1'(F,J) -> get_attr(J,guard_entailment,K), K=v(_,_,_,_,I,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',I) ), 'chr sbag_member'(G,I), G=suspension(_,active,_,_,H), H==F, !, ( var(C) -> true ; C=suspension(_,Z10,_,_,A11,B11), setarg(2,C,removed), ( Z10==not_stored_yet -> L=[] ; term_variables(term(A11,B11),L), arg(4,C,V10), ( var(V10) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',W10), W10=[_|X10], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',X10), ( X10=[Y10|_] -> setarg(4,Y10,_) ; true ) ; V10=[_,_|X10], setarg(2,V10,X10), ( X10=[Y10|_] -> setarg(4,Y10,V10) ; true ) ), 'detach_known/1_1_$special_;/2___2'(L,C) ) ), known(B) ; E=var(M), ( 'chr newvia_1'(M,Q) -> get_attr(Q,guard_entailment,R), R=v(_,_,_,_,_,P,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',P) ), 'chr sbag_member'(N,P), N=suspension(_,active,_,_,O), O==M, !, ( var(C) -> true ; C=suspension(_,S10,_,_,T10,U10), setarg(2,C,removed), ( S10==not_stored_yet -> S=[] ; term_variables(term(T10,U10),S), arg(4,C,O10), ( var(O10) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',P10), P10=[_|Q10], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',Q10), ( Q10=[R10|_] -> setarg(4,R10,_) ; true ) ; O10=[_,_|Q10], setarg(2,O10,Q10), ( Q10=[R10|_] -> setarg(4,R10,O10) ; true ) ), 'detach_known/1_1_$special_;/2___2'(S,C) ) ), known(B) ) ; E=atom(T), ( 'chr newvia_1'(T,X) -> get_attr(X,guard_entailment,Y), Y=v(_,_,_,_,_,_,W,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',W) ), 'chr sbag_member'(U,W), U=suspension(_,active,_,_,_,V), V==T, !, ( var(C) -> true ; C=suspension(_,L10,_,_,M10,N10), setarg(2,C,removed), ( L10==not_stored_yet -> Z=[] ; term_variables(term(M10,N10),Z), arg(4,C,H10), ( var(H10) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',I10), I10=[_|J10], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',J10), ( J10=[K10|_] -> setarg(4,K10,_) ; true ) ; H10=[_,_|J10], setarg(2,H10,J10), ( J10=[K10|_] -> setarg(4,K10,H10) ; true ) ), 'detach_known/1_1_$special_;/2___2'(Z,C) ) ), known(B) ) ; E=atomic(A1), ( 'chr newvia_1'(A1,E1) -> get_attr(E1,guard_entailment,F1), F1=v(_,_,_,_,_,_,_,D1,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',D1) ), 'chr sbag_member'(B1,D1), B1=suspension(_,active,_,_,_,C1), C1==A1, !, ( var(C) -> true ; C=suspension(_,E10,_,_,F10,G10), setarg(2,C,removed), ( E10==not_stored_yet -> G1=[] ; term_variables(term(F10,G10),G1), arg(4,C,A10), ( var(A10) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',B10), B10=[_|C10], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C10), ( C10=[D10|_] -> setarg(4,D10,_) ; true ) ; A10=[_,_|C10], setarg(2,A10,C10), ( C10=[D10|_] -> setarg(4,D10,A10) ; true ) ), 'detach_known/1_1_$special_;/2___2'(G1,C) ) ), known(B) ) ; E=compound(H1), ( 'chr newvia_1'(H1,L1) -> get_attr(L1,guard_entailment,M1), M1=v(_,_,_,_,_,_,_,_,K1,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',K1) ), 'chr sbag_member'(I1,K1), I1=suspension(_,active,_,_,_,J1), J1==H1, !, ( var(C) -> true ; C=suspension(_,X9,_,_,Y9,Z9), setarg(2,C,removed), ( X9==not_stored_yet -> N1=[] ; term_variables(term(Y9,Z9),N1), arg(4,C,T9), ( var(T9) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',U9), U9=[_|V9], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',V9), ( V9=[W9|_] -> setarg(4,W9,_) ; true ) ; T9=[_,_|V9], setarg(2,T9,V9), ( V9=[W9|_] -> setarg(4,W9,T9) ; true ) ), 'detach_known/1_1_$special_;/2___2'(N1,C) ) ), known(B) ) ; E=ground(O1), ( 'chr newvia_1'(O1,S1) -> get_attr(S1,guard_entailment,T1), T1=v(_,_,_,_,_,_,_,_,_,R1,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',R1) ), 'chr sbag_member'(P1,R1), P1=suspension(_,active,_,_,_,Q1), Q1==O1, !, ( var(C) -> true ; C=suspension(_,Q9,_,_,R9,S9), setarg(2,C,removed), ( Q9==not_stored_yet -> U1=[] ; term_variables(term(R9,S9),U1), arg(4,C,M9), ( var(M9) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',N9), N9=[_|O9], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',O9), ( O9=[P9|_] -> setarg(4,P9,_) ; true ) ; M9=[_,_|O9], setarg(2,M9,O9), ( O9=[P9|_] -> setarg(4,P9,M9) ; true ) ), 'detach_known/1_1_$special_;/2___2'(U1,C) ) ), known(B) ) ; E=integer(V1), ( 'chr newvia_1'(V1,Z1) -> get_attr(Z1,guard_entailment,A2), A2=v(_,_,_,_,_,_,_,_,_,_,Y1,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',Y1) ), 'chr sbag_member'(W1,Y1), W1=suspension(_,active,_,_,_,X1), X1==V1, !, ( var(C) -> true ; C=suspension(_,J9,_,_,K9,L9), setarg(2,C,removed), ( J9==not_stored_yet -> B2=[] ; term_variables(term(K9,L9),B2), arg(4,C,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'(B2,C) ) ), known(B) ) ; E=float(C2), ( 'chr newvia_1'(C2,G2) -> get_attr(G2,guard_entailment,H2), H2=v(_,_,_,_,_,_,_,_,_,_,_,F2,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',F2) ), 'chr sbag_member'(D2,F2), D2=suspension(_,active,_,_,_,E2), E2==C2, !, ( var(C) -> true ; C=suspension(_,C9,_,_,D9,E9), setarg(2,C,removed), ( C9==not_stored_yet -> I2=[] ; term_variables(term(D9,E9),I2), arg(4,C,Y8), ( var(Y8) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',Z8), Z8=[_|A9], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',A9), ( A9=[B9|_] -> setarg(4,B9,_) ; true ) ; Y8=[_,_|A9], setarg(2,Y8,A9), ( A9=[B9|_] -> setarg(4,B9,Y8) ; true ) ), 'detach_known/1_1_$special_;/2___2'(I2,C) ) ), known(B) ) ; E=number(J2), ( 'chr newvia_1'(J2,N2) -> get_attr(N2,guard_entailment,O2), O2=v(_,_,_,_,_,_,_,_,_,_,_,_,M2,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',M2) ), 'chr sbag_member'(K2,M2), K2=suspension(_,active,_,_,_,L2), L2==J2, !, ( var(C) -> true ; C=suspension(_,V8,_,_,W8,X8), setarg(2,C,removed), ( V8==not_stored_yet -> P2=[] ; term_variables(term(W8,X8),P2), arg(4,C,R8), ( var(R8) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',S8), S8=[_|T8], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',T8), ( T8=[U8|_] -> setarg(4,U8,_) ; true ) ; R8=[_,_|T8], setarg(2,R8,T8), ( T8=[U8|_] -> setarg(4,U8,R8) ; true ) ), 'detach_known/1_1_$special_;/2___2'(P2,C) ) ), known(B) ) ; E=(Q2=\=R2), ( 'chr newvia_2'(Q2,R2,W2) -> get_attr(W2,guard_entailment,X2), X2=v(_,_,_,_,_,_,_,_,_,_,_,_,_,V2,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',V2) ), 'chr sbag_member'(S2,V2), S2=suspension(_,active,_,_,_,T2,U2), T2==Q2, U2==R2, !, ( var(C) -> true ; C=suspension(_,O8,_,_,P8,Q8), setarg(2,C,removed), ( O8==not_stored_yet -> Y2=[] ; term_variables(term(P8,Q8),Y2), arg(4,C,K8), ( var(K8) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',L8), L8=[_|M8], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',M8), ( M8=[N8|_] -> setarg(4,N8,_) ; true ) ; K8=[_,_|M8], setarg(2,K8,M8), ( M8=[N8|_] -> setarg(4,N8,K8) ; true ) ), 'detach_known/1_1_$special_;/2___2'(Y2,C) ) ), known(B) ) ; E=(\+Z2), ( 'chr newvia_1'(Z2,D3) -> get_attr(D3,guard_entailment,E3), E3=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,C3,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',C3) ), 'chr sbag_member'(A3,C3), A3=suspension(_,active,_,_,B3), B3==Z2, !, ( var(C) -> true ; C=suspension(_,H8,_,_,I8,J8), setarg(2,C,removed), ( H8==not_stored_yet -> F3=[] ; term_variables(term(I8,J8),F3), arg(4,C,D8), ( var(D8) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',E8), E8=[_|F8], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',F8), ( F8=[G8|_] -> setarg(4,G8,_) ; true ) ; D8=[_,_|F8], setarg(2,D8,F8), ( F8=[G8|_] -> setarg(4,G8,D8) ; true ) ), 'detach_known/1_1_$special_;/2___2'(F3,C) ) ), known(B) ) ; E=functor(G3,H3,I3), ( 'chr newvia'([G3,H3,I3],O3) -> get_attr(O3,guard_entailment,P3), P3=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,N3,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',N3) ), 'chr sbag_member'(J3,N3), J3=suspension(_,active,_,_,K3,L3,M3), K3==G3, L3==H3, M3==I3, !, ( var(C) -> true ; C=suspension(_,A8,_,_,B8,C8), setarg(2,C,removed), ( A8==not_stored_yet -> Q3=[] ; term_variables(term(B8,C8),Q3), arg(4,C,W7), ( var(W7) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',X7), X7=[_|Y7], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',Y7), ( Y7=[Z7|_] -> setarg(4,Z7,_) ; true ) ; W7=[_,_|Y7], setarg(2,W7,Y7), ( Y7=[Z7|_] -> setarg(4,Z7,W7) ; true ) ), 'detach_known/1_1_$special_;/2___2'(Q3,C) ) ), known(B) ) ; E=(R3\=S3), ( 'chr newvia_2'(R3,S3,X3) -> get_attr(X3,guard_entailment,Y3), Y3=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,W3,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',W3) ), 'chr sbag_member'(T3,W3), T3=suspension(_,active,_,_,_,U3,V3), U3==R3, V3==S3, !, ( var(C) -> true ; C=suspension(_,T7,_,_,U7,V7), setarg(2,C,removed), ( T7==not_stored_yet -> Z3=[] ; term_variables(term(U7,V7),Z3), arg(4,C,P7), ( var(P7) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',Q7), Q7=[_|R7], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',R7), ( R7=[S7|_] -> setarg(4,S7,_) ; true ) ; P7=[_,_|R7], setarg(2,P7,R7), ( R7=[S7|_] -> setarg(4,S7,P7) ; true ) ), 'detach_known/1_1_$special_;/2___2'(Z3,C) ) ), known(B) ) ; E=(A4=B4), ( 'chr newvia_2'(A4,B4,G4) -> get_attr(G4,guard_entailment,H4), H4=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,F4,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',F4) ), 'chr sbag_member'(C4,F4), C4=suspension(_,active,_,_,D4,E4), D4==A4, E4==B4, !, ( var(C) -> true ; C=suspension(_,M7,_,_,N7,O7), setarg(2,C,removed), ( M7==not_stored_yet -> I4=[] ; term_variables(term(N7,O7),I4), arg(4,C,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'(I4,C) ) ), known(B) ) ; E=(J4\==K4), ( 'chr newvia_2'(J4,K4,P4) -> get_attr(P4,guard_entailment,Q4), Q4=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,O4,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',O4) ), 'chr sbag_member'(L4,O4), L4=suspension(_,active,_,_,_,M4,N4), M4==J4, N4==K4, !, ( var(C) -> true ; C=suspension(_,F7,_,_,G7,H7), setarg(2,C,removed), ( F7==not_stored_yet -> R4=[] ; term_variables(term(G7,H7),R4), arg(4,C,B7), ( var(B7) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C7), C7=[_|D7], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',D7), ( D7=[E7|_] -> setarg(4,E7,_) ; true ) ; B7=[_,_|D7], setarg(2,B7,D7), ( D7=[E7|_] -> setarg(4,E7,B7) ; true ) ), 'detach_known/1_1_$special_;/2___2'(R4,C) ) ), known(B) ) ; E=(S4==T4), ( 'chr newvia_2'(S4,T4,Y4) -> get_attr(Y4,guard_entailment,Z4), Z4=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,X4,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',X4) ), 'chr sbag_member'(U4,X4), U4=suspension(_,active,_,_,_,V4,W4), V4==S4, W4==T4, !, ( var(C) -> true ; C=suspension(_,Y6,_,_,Z6,A7), setarg(2,C,removed), ( Y6==not_stored_yet -> A5=[] ; term_variables(term(Z6,A7),A5), arg(4,C,U6), ( var(U6) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',V6), V6=[_|W6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',W6), ( W6=[X6|_] -> setarg(4,X6,_) ; true ) ; U6=[_,_|W6], setarg(2,U6,W6), ( W6=[X6|_] -> setarg(4,X6,U6) ; true ) ), 'detach_known/1_1_$special_;/2___2'(A5,C) ) ), known(B) ) ; E=(B5= get_attr(H5,guard_entailment,I5), I5=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,G5,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= true ; C=suspension(_,R6,_,_,S6,T6), setarg(2,C,removed), ( R6==not_stored_yet -> J5=[] ; term_variables(term(S6,T6),J5), arg(4,C,N6), ( var(N6) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',O6), O6=[_|P6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',P6), ( P6=[Q6|_] -> setarg(4,Q6,_) ; true ) ; N6=[_,_|P6], setarg(2,N6,P6), ( P6=[Q6|_] -> setarg(4,Q6,N6) ; true ) ), 'detach_known/1_1_$special_;/2___2'(J5,C) ) ), known(B) ) ; E=(K5=:=L5), ( 'chr newvia_2'(K5,L5,Q5) -> get_attr(Q5,guard_entailment,R5), R5=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,P5) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',P5) ), 'chr sbag_member'(M5,P5), M5=suspension(_,active,_,_,_,N5,O5), N5==K5, O5==L5, !, ( var(C) -> true ; C=suspension(_,K6,_,_,L6,M6), setarg(2,C,removed), ( K6==not_stored_yet -> S5=[] ; term_variables(term(L6,M6),S5), arg(4,C,G6), ( var(G6) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',H6), H6=[_|I6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',I6), ( I6=[J6|_] -> setarg(4,J6,_) ; true ) ; G6=[_,_|I6], setarg(2,G6,I6), ( I6=[J6|_] -> setarg(4,J6,G6) ; true ) ), 'detach_known/1_1_$special_;/2___2'(S5,C) ) ), known(B) ) ; ( 'chr newvia_1'(E,W5) -> get_attr(W5,guard_entailment,X5), X5=v(_,_,V5,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',V5) ), 'chr sbag_member'(T5,V5), T5=suspension(_,active,_,_,U5), U5==E, !, ( var(C) -> true ; C=suspension(_,D6,_,_,E6,F6), setarg(2,C,removed), ( D6==not_stored_yet -> Y5=[] ; term_variables(term(E6,F6),Y5), arg(4,C,Z5), ( var(Z5) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',A6), A6=[_|B6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',B6), ( B6=[C6|_] -> setarg(4,C6,_) ; true ) ; Z5=[_,_|B6], setarg(2,Z5,B6), ( B6=[C6|_] -> setarg(4,C6,Z5) ; true ) ), 'detach_known/1_1_$special_;/2___2'(Y5,C) ) ), known(B) ). 'known/1_1_$special_;/2___2__2'(A,B,C) :- ( 'chr newvia_1'(A,G) -> get_attr(G,guard_entailment,H), H=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,F,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',F) ), 'chr sbag_member'(D,F), D=suspension(_,active,_,_,E), E==A, !, ( var(C) -> true ; C=suspension(_,N,_,_,O,P), setarg(2,C,removed), ( N==not_stored_yet -> I=[] ; term_variables(term(O,P),I), arg(4,C,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'(I,C) ) ), known(B). 'known/1_1_$special_;/2___2__2'(A,B,C) :- nonvar(A), A=(D,_), ( 'chr newvia_1'(D,H) -> get_attr(H,guard_entailment,I), I=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,G,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',G) ), 'chr sbag_member'(E,G), E=suspension(_,active,_,_,F), F==D, !, ( var(C) -> true ; C=suspension(_,O,_,_,P,Q), setarg(2,C,removed), ( O==not_stored_yet -> J=[] ; term_variables(term(P,Q),J), arg(4,C,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'(J,C) ) ), known(B). 'known/1_1_$special_;/2___2__2'(A,B,C) :- A==fail, !, ( var(C) -> true ; C=suspension(_,I,_,_,J,K), setarg(2,C,removed), ( I==not_stored_yet -> D=[] ; term_variables(term(J,K),D), arg(4,C,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'(D,C) ) ), known(B). 'known/1_1_$special_;/2___2__2'(A,B,C) :- B==fail, !, ( var(C) -> true ; C=suspension(_,I,_,_,J,K), setarg(2,C,removed), ( I==not_stored_yet -> D=[] ; term_variables(term(J,K),D), arg(4,C,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'(D,C) ) ), known(A). 'known/1_1_$special_;/2___2__2'(A,_,B) :- A==true, !, ( var(B) -> true ; B=suspension(_,H,_,_,I,J), setarg(2,B,removed), ( H==not_stored_yet -> C=[] ; term_variables(term(I,J),C), arg(4,B,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'(C,B) ) ). 'known/1_1_$special_;/2___2__2'(_,A,B) :- A==true, !, ( var(B) -> true ; B=suspension(_,H,_,_,I,J), setarg(2,B,removed), ( H==not_stored_yet -> C=[] ; term_variables(term(I,J),C), arg(4,B,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'(C,B) ) ). 'known/1_1_$special_;/2___2__2'(A,B,C) :- nonvar(A), A=(\+D), nonvar(D), D=functor(E,F,G), ( ( ( 'chr newvia_1'(E,K) -> get_attr(K,guard_entailment,L), L=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,J,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',J) ), 'chr sbag_member'(H,J), H=suspension(_,active,_,_,I,_,_), I==E, !, ( var(C) -> true ; C=suspension(_,H1,_,_,I1,J1), setarg(2,C,removed), ( H1==not_stored_yet -> M=[] ; term_variables(term(I1,J1),M), arg(4,C,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'(M,C) ) ) ; nonvar(E), 'chr lock'(E), 'chr lock'(F), 'chr lock'(G), functor(E,F,G), 'chr unlock'(E), 'chr unlock'(F), 'chr unlock'(G), !, ( var(C) -> true ; C=suspension(_,A1,_,_,B1,C1), setarg(2,C,removed), ( A1==not_stored_yet -> N=[] ; term_variables(term(B1,C1),N), arg(4,C,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'(N,C) ) ), known(B) ) ; nonvar(E), 'chr lock'(E), 'chr lock'(F), 'chr lock'(G), \+functor(E,F,G), 'chr unlock'(E), 'chr unlock'(F), 'chr unlock'(G), !, ( var(C) -> true ; C=suspension(_,T,_,_,U,V), setarg(2,C,removed), ( T==not_stored_yet -> O=[] ; term_variables(term(U,V),O), arg(4,C,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,C) ) ) ). 'known/1_1_$special_;/2___2__2'(_,_,A) :- arg(2,A,E), setarg(2,A,active), arg(3,A,D), C is D+1, setarg(3,A,C), ( E==not_stored_yet -> A=suspension(_,_,_,_,F,G), term_variables(term(F,G),B), 'chr none_locked'(B), 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'(B,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,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,E,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,D), D==A, !, ( var(B) -> true ; B=suspension(_,M,_,_,N), setarg(2,B,removed), ( M==not_stored_yet -> H=[] ; term_variables(N,H), arg(4,B,I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/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_nonvar/1___1'(H,B) ) ). 'known/1_1_$special_nonvar/1___1__0'(_,A) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',C), 'chr sbag_member'(B,C), B=suspension(_,active,_), !, ( var(A) -> true ; A=suspension(_,I,_,_,J), setarg(2,A,removed), ( I==not_stored_yet -> D=[] ; term_variables(J,D), arg(4,A,E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',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_nonvar/1___1'(D,A) ) ). 'known/1_1_$special_nonvar/1___1__0'(A,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,E,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,D), nonvar(D), D=nonvar(H), H==A, !, C=suspension(_,_,_,_,U), setarg(2,C,removed), term_variables(U,I), arg(4,C,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'(I,C), ( var(B) -> true ; B=suspension(_,O,_,_,P), setarg(2,B,removed), ( O==not_stored_yet -> J=[] ; term_variables(P,J), arg(4,B,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,B) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_nonvar/1___1__0'(A,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,_,E,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,D), D==A, !, C=suspension(_,_,_,_,T), setarg(2,C,removed), term_variables(T,H), arg(4,C,P), ( var(P) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',Q), Q=[_|R], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',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_var/1___1'(H,C), ( var(B) -> true ; B=suspension(_,N,_,_,O), setarg(2,B,removed), ( N==not_stored_yet -> I=[] ; term_variables(O,I), arg(4,B,J), ( var(J) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',K), K=[_|L], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',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_nonvar/1___1'(I,B) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_nonvar/1___1__0'(A,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, ( var(B) -> B=suspension(F,not_stored_yet,0,_,A), 'chr gen_id'(F) ; true ), 'known/1_1_$special_nonvar/1___1__0__0__7'(C,A,B). 'known/1_1_$special_nonvar/1___1__0__0__7'([],B,A) :- 'known/1_1_$special_nonvar/1___1__1'(B,A). 'known/1_1_$special_nonvar/1___1__0__0__7'([E|H],A,B) :- ( E=suspension(_,active,_,_,C,D), nonvar(C), C=(\+F), nonvar(F), F=nonvar(G), G==A -> E=suspension(_,_,_,_,V,W), setarg(2,E,removed), term_variables(term(V,W),I), arg(4,E,R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',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_;/2___2'(I,E), arg(2,B,M), setarg(2,B,active), arg(3,B,L), K is L+1, setarg(3,B,K), ( M==not_stored_yet -> B=suspension(_,_,_,_,N), term_variables(N,J), 'chr none_locked'(J), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',O), P=[B|O], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',P), ( O=[Q|_] -> setarg(4,Q,P) ; true ), 'attach_known/1_1_$special_nonvar/1___1'(J,B) ; true ), known(D), ( B=suspension(_,active,K,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_nonvar/1___1__0__0__7'(H,A,B) ; true ) ; 'known/1_1_$special_nonvar/1___1__0__0__7'(H,A,B) ). 'known/1_1_$special_nonvar/1___1__0'(A,B) :- ( var(B) -> B=suspension(C,not_stored_yet,0,_,A), 'chr gen_id'(C) ; true ), 'known/1_1_$special_nonvar/1___1__1'(A,B). 'known/1_1_$special_nonvar/1___1__1'(A,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, 'known/1_1_$special_nonvar/1___1__1__0__8'(C,A,B). 'known/1_1_$special_nonvar/1___1__1__0__8'([],B,A) :- 'known/1_1_$special_nonvar/1___1__2'(B,A). 'known/1_1_$special_nonvar/1___1__1__0__8'([E|I],A,B) :- ( E=suspension(_,active,_,_,C,D), nonvar(C), C=(F,_), nonvar(F), F=(\+G), nonvar(G), G=nonvar(H), H==A -> E=suspension(_,_,_,_,W,X), setarg(2,E,removed), term_variables(term(W,X),J), arg(4,E,S), ( var(S) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',T), T=[_|U], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',U), ( U=[V|_] -> setarg(4,V,_) ; true ) ; S=[_,_|U], setarg(2,S,U), ( U=[V|_] -> setarg(4,V,S) ; true ) ), 'detach_known/1_1_$special_;/2___2'(J,E), arg(2,B,N), setarg(2,B,active), arg(3,B,M), L is M+1, setarg(3,B,L), ( N==not_stored_yet -> B=suspension(_,_,_,_,O), term_variables(O,K), 'chr none_locked'(K), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',P), Q=[B|P], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',Q), ( P=[R|_] -> setarg(4,R,Q) ; true ), 'attach_known/1_1_$special_nonvar/1___1'(K,B) ; true ), known(D), ( B=suspension(_,active,L,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_nonvar/1___1__1__0__8'(I,A,B) ; true ) ; 'known/1_1_$special_nonvar/1___1__1__0__8'(I,A,B) ). '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,E), setarg(2,A,active), arg(3,A,D), C is D+1, setarg(3,A,C), ( E==not_stored_yet -> A=suspension(_,_,_,_,F), term_variables(F,B), 'chr none_locked'(B), 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'(B,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,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,_,E,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,D), D==A, !, ( var(B) -> true ; B=suspension(_,M,_,_,N), setarg(2,B,removed), ( M==not_stored_yet -> H=[] ; term_variables(N,H), arg(4,B,I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/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_var/1___1'(H,B) ) ). 'known/1_1_$special_var/1___1__0'(_,A) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',C), 'chr sbag_member'(B,C), B=suspension(_,active,_), !, ( var(A) -> true ; A=suspension(_,I,_,_,J), setarg(2,A,removed), ( I==not_stored_yet -> D=[] ; term_variables(J,D), arg(4,A,E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',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_var/1___1'(D,A) ) ). 'known/1_1_$special_var/1___1__0'(A,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,E,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,D), nonvar(D), D=var(H), H==A, !, C=suspension(_,_,_,_,U), setarg(2,C,removed), term_variables(U,I), arg(4,C,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'(I,C), ( var(B) -> true ; B=suspension(_,O,_,_,P), setarg(2,B,removed), ( O==not_stored_yet -> J=[] ; term_variables(P,J), arg(4,B,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,B) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_var/1___1__0'(A,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,E,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,D), D==A, !, C=suspension(_,_,_,_,T), setarg(2,C,removed), term_variables(T,H), arg(4,C,P), ( var(P) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',Q), Q=[_|R], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',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_nonvar/1___1'(H,C), ( var(B) -> true ; B=suspension(_,N,_,_,O), setarg(2,B,removed), ( N==not_stored_yet -> I=[] ; term_variables(O,I), arg(4,B,J), ( var(J) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',K), K=[_|L], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',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_var/1___1'(I,B) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_var/1___1__0'(A,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, ( var(B) -> B=suspension(F,not_stored_yet,0,_,A), 'chr gen_id'(F) ; true ), 'known/1_1_$special_var/1___1__0__0__7'(C,A,B). 'known/1_1_$special_var/1___1__0__0__7'([],B,A) :- 'known/1_1_$special_var/1___1__1'(B,A). 'known/1_1_$special_var/1___1__0__0__7'([E|H],A,B) :- ( E=suspension(_,active,_,_,C,D), nonvar(C), C=(\+F), nonvar(F), F=var(G), G==A -> E=suspension(_,_,_,_,V,W), setarg(2,E,removed), term_variables(term(V,W),I), arg(4,E,R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',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_;/2___2'(I,E), arg(2,B,M), setarg(2,B,active), arg(3,B,L), K is L+1, setarg(3,B,K), ( M==not_stored_yet -> B=suspension(_,_,_,_,N), term_variables(N,J), 'chr none_locked'(J), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',O), P=[B|O], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',P), ( O=[Q|_] -> setarg(4,Q,P) ; true ), 'attach_known/1_1_$special_var/1___1'(J,B) ; true ), known(D), ( B=suspension(_,active,K,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_var/1___1__0__0__7'(H,A,B) ; true ) ; 'known/1_1_$special_var/1___1__0__0__7'(H,A,B) ). 'known/1_1_$special_var/1___1__0'(A,B) :- ( var(B) -> B=suspension(C,not_stored_yet,0,_,A), 'chr gen_id'(C) ; true ), 'known/1_1_$special_var/1___1__1'(A,B). 'known/1_1_$special_var/1___1__1'(A,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, 'known/1_1_$special_var/1___1__1__0__8'(C,A,B). 'known/1_1_$special_var/1___1__1__0__8'([],B,A) :- 'known/1_1_$special_var/1___1__2'(B,A). 'known/1_1_$special_var/1___1__1__0__8'([E|I],A,B) :- ( E=suspension(_,active,_,_,C,D), nonvar(C), C=(F,_), nonvar(F), F=(\+G), nonvar(G), G=var(H), H==A -> E=suspension(_,_,_,_,W,X), setarg(2,E,removed), term_variables(term(W,X),J), arg(4,E,S), ( var(S) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',T), T=[_|U], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',U), ( U=[V|_] -> setarg(4,V,_) ; true ) ; S=[_,_|U], setarg(2,S,U), ( U=[V|_] -> setarg(4,V,S) ; true ) ), 'detach_known/1_1_$special_;/2___2'(J,E), arg(2,B,N), setarg(2,B,active), arg(3,B,M), L is M+1, setarg(3,B,L), ( N==not_stored_yet -> B=suspension(_,_,_,_,O), term_variables(O,K), 'chr none_locked'(K), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',P), Q=[B|P], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',Q), ( P=[R|_] -> setarg(4,R,Q) ; true ), 'attach_known/1_1_$special_var/1___1'(K,B) ; true ), known(D), ( B=suspension(_,active,L,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_var/1___1__1__0__8'(I,A,B) ; true ) ; 'known/1_1_$special_var/1___1__1__0__8'(I,A,B) ). '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,E), setarg(2,A,active), arg(3,A,D), C is D+1, setarg(3,A,C), ( E==not_stored_yet -> A=suspension(_,_,_,_,F), term_variables(F,B), 'chr none_locked'(B), 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'(B,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,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,_,_,E,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,_,D), D==A, !, ( var(B) -> true ; B=suspension(_,M,_,_,_,N), setarg(2,B,removed), ( M==not_stored_yet -> H=[] ; term_variables(N,H), arg(5,B,I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',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_atom/1___1'(H,B) ) ). 'known/1_1_$special_atom/1___1__0'(_,A) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',C), 'chr sbag_member'(B,C), B=suspension(_,active,_), !, ( var(A) -> true ; A=suspension(_,I,_,_,_,J), setarg(2,A,removed), ( I==not_stored_yet -> D=[] ; term_variables(J,D), arg(5,A,E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',G), ( G=[H|_] -> setarg(5,H,_) ; true ) ; E=[_,_|G], setarg(2,E,G), ( G=[H|_] -> setarg(5,H,E) ; true ) ), 'detach_known/1_1_$special_atom/1___1'(D,A) ) ). 'known/1_1_$special_atom/1___1__0'(A,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,E,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,D), nonvar(D), D=atom(H), H==A, !, C=suspension(_,_,_,_,U), setarg(2,C,removed), term_variables(U,I), arg(4,C,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'(I,C), ( var(B) -> true ; B=suspension(_,O,_,_,_,P), setarg(2,B,removed), ( O==not_stored_yet -> J=[] ; term_variables(P,J), arg(5,B,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,B) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_atom/1___1__0'(A,B) :- ( var(B) -> B=suspension(E,not_stored_yet,t,0,_,A), 'chr gen_id'(E) ; true ), ( '$novel_production'(B,239), !, '$extend_history'(B,239), arg(2,B,G), setarg(2,B,active), arg(4,B,F), D is F+1, setarg(4,B,D), ( G==not_stored_yet -> B=suspension(_,_,_,_,_,H), term_variables(H,C), 'chr none_locked'(C), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',I), J=[B|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'(C,B) ; true ), 'known/1_1_$special_nonvar/1'(A), ( B=suspension(_,active,_,D,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_atom/1___1__1'(A,B) ; true ) ; 'known/1_1_$special_atom/1___1__1'(A,B) ). 'known/1_1_$special_atom/1___1__1'(A,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, 'known/1_1_$special_atom/1___1__1__0__7'(C,A,B). 'known/1_1_$special_atom/1___1__1__0__7'([],B,A) :- 'known/1_1_$special_atom/1___1__2'(B,A). 'known/1_1_$special_atom/1___1__1__0__7'([E|H],A,B) :- ( E=suspension(_,active,_,_,C,D), nonvar(C), C=(\+F), nonvar(F), F=atom(G), G==A -> E=suspension(_,_,_,_,V,W), setarg(2,E,removed), term_variables(term(V,W),I), arg(4,E,R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',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_;/2___2'(I,E), arg(2,B,M), setarg(2,B,active), arg(4,B,L), K is L+1, setarg(4,B,K), ( M==not_stored_yet -> B=suspension(_,_,_,_,_,N), term_variables(N,J), 'chr none_locked'(J), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',O), P=[B|O], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',P), ( O=[Q|_] -> setarg(5,Q,P) ; true ), 'attach_known/1_1_$special_atom/1___1'(J,B) ; true ), known(D), ( B=suspension(_,active,_,K,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_atom/1___1__1__0__7'(H,A,B) ; true ) ; 'known/1_1_$special_atom/1___1__1__0__7'(H,A,B) ). '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,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, 'known/1_1_$special_atom/1___1__2__0__8'(C,A,B). 'known/1_1_$special_atom/1___1__2__0__8'([],B,A) :- 'known/1_1_$special_atom/1___1__3'(B,A). 'known/1_1_$special_atom/1___1__2__0__8'([E|I],A,B) :- ( E=suspension(_,active,_,_,C,D), nonvar(C), C=(F,_), nonvar(F), F=(\+G), nonvar(G), G=atom(H), H==A -> E=suspension(_,_,_,_,W,X), setarg(2,E,removed), term_variables(term(W,X),J), arg(4,E,S), ( var(S) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',T), T=[_|U], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',U), ( U=[V|_] -> setarg(4,V,_) ; true ) ; S=[_,_|U], setarg(2,S,U), ( U=[V|_] -> setarg(4,V,S) ; true ) ), 'detach_known/1_1_$special_;/2___2'(J,E), arg(2,B,N), setarg(2,B,active), arg(4,B,M), L is M+1, setarg(4,B,L), ( N==not_stored_yet -> B=suspension(_,_,_,_,_,O), term_variables(O,K), 'chr none_locked'(K), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',P), Q=[B|P], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',Q), ( P=[R|_] -> setarg(5,R,Q) ; true ), 'attach_known/1_1_$special_atom/1___1'(K,B) ; true ), known(D), ( B=suspension(_,active,_,L,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_atom/1___1__2__0__8'(I,A,B) ; true ) ; 'known/1_1_$special_atom/1___1__2__0__8'(I,A,B) ). '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,E), setarg(2,A,active), arg(4,A,D), C is D+1, setarg(4,A,C), ( E==not_stored_yet -> A=suspension(_,_,_,_,_,F), term_variables(F,B), 'chr none_locked'(B), 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'(B,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,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,_,_,_,E,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,_,D), D==A, !, ( var(B) -> true ; B=suspension(_,M,_,_,_,N), setarg(2,B,removed), ( M==not_stored_yet -> H=[] ; term_variables(N,H), arg(5,B,I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',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_atomic/1___1'(H,B) ) ). 'known/1_1_$special_atomic/1___1__0'(_,A) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',C), 'chr sbag_member'(B,C), B=suspension(_,active,_), !, ( var(A) -> true ; A=suspension(_,I,_,_,_,J), setarg(2,A,removed), ( I==not_stored_yet -> D=[] ; term_variables(J,D), arg(5,A,E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',G), ( G=[H|_] -> setarg(5,H,_) ; true ) ; E=[_,_|G], setarg(2,E,G), ( G=[H|_] -> setarg(5,H,E) ; true ) ), 'detach_known/1_1_$special_atomic/1___1'(D,A) ) ). 'known/1_1_$special_atomic/1___1__0'(A,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,E,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,D), nonvar(D), D=atomic(H), H==A, !, C=suspension(_,_,_,_,U), setarg(2,C,removed), term_variables(U,I), arg(4,C,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'(I,C), ( var(B) -> true ; B=suspension(_,O,_,_,_,P), setarg(2,B,removed), ( O==not_stored_yet -> J=[] ; term_variables(P,J), arg(5,B,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,B) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_atomic/1___1__0'(A,B) :- ( var(B) -> B=suspension(E,not_stored_yet,t,0,_,A), 'chr gen_id'(E) ; true ), ( '$novel_production'(B,237), !, '$extend_history'(B,237), arg(2,B,G), setarg(2,B,active), arg(4,B,F), D is F+1, setarg(4,B,D), ( G==not_stored_yet -> B=suspension(_,_,_,_,_,H), term_variables(H,C), 'chr none_locked'(C), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',I), J=[B|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'(C,B) ; true ), 'known/1_1_$special_nonvar/1'(A), ( B=suspension(_,active,_,D,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_atomic/1___1__1'(A,B) ; true ) ; 'known/1_1_$special_atomic/1___1__1'(A,B) ). 'known/1_1_$special_atomic/1___1__1'(A,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, 'known/1_1_$special_atomic/1___1__1__0__7'(C,A,B). 'known/1_1_$special_atomic/1___1__1__0__7'([],B,A) :- 'known/1_1_$special_atomic/1___1__2'(B,A). 'known/1_1_$special_atomic/1___1__1__0__7'([E|H],A,B) :- ( E=suspension(_,active,_,_,C,D), nonvar(C), C=(\+F), nonvar(F), F=atomic(G), G==A -> E=suspension(_,_,_,_,V,W), setarg(2,E,removed), term_variables(term(V,W),I), arg(4,E,R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',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_;/2___2'(I,E), arg(2,B,M), setarg(2,B,active), arg(4,B,L), K is L+1, setarg(4,B,K), ( M==not_stored_yet -> B=suspension(_,_,_,_,_,N), term_variables(N,J), 'chr none_locked'(J), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',O), P=[B|O], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',P), ( O=[Q|_] -> setarg(5,Q,P) ; true ), 'attach_known/1_1_$special_atomic/1___1'(J,B) ; true ), known(D), ( B=suspension(_,active,_,K,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_atomic/1___1__1__0__7'(H,A,B) ; true ) ; 'known/1_1_$special_atomic/1___1__1__0__7'(H,A,B) ). '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,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, 'known/1_1_$special_atomic/1___1__2__0__8'(C,A,B). 'known/1_1_$special_atomic/1___1__2__0__8'([],B,A) :- 'known/1_1_$special_atomic/1___1__3'(B,A). 'known/1_1_$special_atomic/1___1__2__0__8'([E|I],A,B) :- ( E=suspension(_,active,_,_,C,D), nonvar(C), C=(F,_), nonvar(F), F=(\+G), nonvar(G), G=atomic(H), H==A -> E=suspension(_,_,_,_,W,X), setarg(2,E,removed), term_variables(term(W,X),J), arg(4,E,S), ( var(S) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',T), T=[_|U], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',U), ( U=[V|_] -> setarg(4,V,_) ; true ) ; S=[_,_|U], setarg(2,S,U), ( U=[V|_] -> setarg(4,V,S) ; true ) ), 'detach_known/1_1_$special_;/2___2'(J,E), arg(2,B,N), setarg(2,B,active), arg(4,B,M), L is M+1, setarg(4,B,L), ( N==not_stored_yet -> B=suspension(_,_,_,_,_,O), term_variables(O,K), 'chr none_locked'(K), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',P), Q=[B|P], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',Q), ( P=[R|_] -> setarg(5,R,Q) ; true ), 'attach_known/1_1_$special_atomic/1___1'(K,B) ; true ), known(D), ( B=suspension(_,active,_,L,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_atomic/1___1__2__0__8'(I,A,B) ; true ) ; 'known/1_1_$special_atomic/1___1__2__0__8'(I,A,B) ). '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,E), setarg(2,A,active), arg(4,A,D), C is D+1, setarg(4,A,C), ( E==not_stored_yet -> A=suspension(_,_,_,_,_,F), term_variables(F,B), 'chr none_locked'(B), 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'(B,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,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,_,_,_,_,E,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,_,D), D==A, !, ( var(B) -> true ; B=suspension(_,M,_,_,_,N), setarg(2,B,removed), ( M==not_stored_yet -> H=[] ; term_variables(N,H), arg(5,B,I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',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_compound/1___1'(H,B) ) ). 'known/1_1_$special_compound/1___1__0'(_,A) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',C), 'chr sbag_member'(B,C), B=suspension(_,active,_), !, ( var(A) -> true ; A=suspension(_,I,_,_,_,J), setarg(2,A,removed), ( I==not_stored_yet -> D=[] ; term_variables(J,D), arg(5,A,E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',G), ( G=[H|_] -> setarg(5,H,_) ; true ) ; E=[_,_|G], setarg(2,E,G), ( G=[H|_] -> setarg(5,H,E) ; true ) ), 'detach_known/1_1_$special_compound/1___1'(D,A) ) ). 'known/1_1_$special_compound/1___1__0'(A,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,E,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,D), nonvar(D), D=compound(H), H==A, !, C=suspension(_,_,_,_,U), setarg(2,C,removed), term_variables(U,I), arg(4,C,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'(I,C), ( var(B) -> true ; B=suspension(_,O,_,_,_,P), setarg(2,B,removed), ( O==not_stored_yet -> J=[] ; term_variables(P,J), arg(5,B,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,B) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_compound/1___1__0'(A,B) :- ( var(B) -> B=suspension(E,not_stored_yet,t,0,_,A), 'chr gen_id'(E) ; true ), ( '$novel_production'(B,236), !, '$extend_history'(B,236), arg(2,B,G), setarg(2,B,active), arg(4,B,F), D is F+1, setarg(4,B,D), ( G==not_stored_yet -> B=suspension(_,_,_,_,_,H), term_variables(H,C), 'chr none_locked'(C), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',I), J=[B|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'(C,B) ; true ), 'known/1_1_$special_nonvar/1'(A), ( B=suspension(_,active,_,D,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_compound/1___1__1'(A,B) ; true ) ; 'known/1_1_$special_compound/1___1__1'(A,B) ). 'known/1_1_$special_compound/1___1__1'(A,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, 'known/1_1_$special_compound/1___1__1__0__7'(C,A,B). 'known/1_1_$special_compound/1___1__1__0__7'([],B,A) :- 'known/1_1_$special_compound/1___1__2'(B,A). 'known/1_1_$special_compound/1___1__1__0__7'([E|H],A,B) :- ( E=suspension(_,active,_,_,C,D), nonvar(C), C=(\+F), nonvar(F), F=compound(G), G==A -> E=suspension(_,_,_,_,V,W), setarg(2,E,removed), term_variables(term(V,W),I), arg(4,E,R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',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_;/2___2'(I,E), arg(2,B,M), setarg(2,B,active), arg(4,B,L), K is L+1, setarg(4,B,K), ( M==not_stored_yet -> B=suspension(_,_,_,_,_,N), term_variables(N,J), 'chr none_locked'(J), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',O), P=[B|O], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',P), ( O=[Q|_] -> setarg(5,Q,P) ; true ), 'attach_known/1_1_$special_compound/1___1'(J,B) ; true ), known(D), ( B=suspension(_,active,_,K,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_compound/1___1__1__0__7'(H,A,B) ; true ) ; 'known/1_1_$special_compound/1___1__1__0__7'(H,A,B) ). '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,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, 'known/1_1_$special_compound/1___1__2__0__8'(C,A,B). 'known/1_1_$special_compound/1___1__2__0__8'([],B,A) :- 'known/1_1_$special_compound/1___1__3'(B,A). 'known/1_1_$special_compound/1___1__2__0__8'([E|I],A,B) :- ( E=suspension(_,active,_,_,C,D), nonvar(C), C=(F,_), nonvar(F), F=(\+G), nonvar(G), G=compound(H), H==A -> E=suspension(_,_,_,_,W,X), setarg(2,E,removed), term_variables(term(W,X),J), arg(4,E,S), ( var(S) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',T), T=[_|U], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',U), ( U=[V|_] -> setarg(4,V,_) ; true ) ; S=[_,_|U], setarg(2,S,U), ( U=[V|_] -> setarg(4,V,S) ; true ) ), 'detach_known/1_1_$special_;/2___2'(J,E), arg(2,B,N), setarg(2,B,active), arg(4,B,M), L is M+1, setarg(4,B,L), ( N==not_stored_yet -> B=suspension(_,_,_,_,_,O), term_variables(O,K), 'chr none_locked'(K), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',P), Q=[B|P], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',Q), ( P=[R|_] -> setarg(5,R,Q) ; true ), 'attach_known/1_1_$special_compound/1___1'(K,B) ; true ), known(D), ( B=suspension(_,active,_,L,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_compound/1___1__2__0__8'(I,A,B) ; true ) ; 'known/1_1_$special_compound/1___1__2__0__8'(I,A,B) ). '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,E), setarg(2,A,active), arg(4,A,D), C is D+1, setarg(4,A,C), ( E==not_stored_yet -> A=suspension(_,_,_,_,_,F), term_variables(F,B), 'chr none_locked'(B), 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'(B,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,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,_,_,_,_,_,E,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,_,D), D==A, !, ( var(B) -> true ; B=suspension(_,M,_,_,_,N), setarg(2,B,removed), ( M==not_stored_yet -> H=[] ; term_variables(N,H), arg(5,B,I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',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_ground/1___1'(H,B) ) ). 'known/1_1_$special_ground/1___1__0'(_,A) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',C), 'chr sbag_member'(B,C), B=suspension(_,active,_), !, ( var(A) -> true ; A=suspension(_,I,_,_,_,J), setarg(2,A,removed), ( I==not_stored_yet -> D=[] ; term_variables(J,D), arg(5,A,E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',G), ( G=[H|_] -> setarg(5,H,_) ; true ) ; E=[_,_|G], setarg(2,E,G), ( G=[H|_] -> setarg(5,H,E) ; true ) ), 'detach_known/1_1_$special_ground/1___1'(D,A) ) ). 'known/1_1_$special_ground/1___1__0'(A,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,E,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,D), nonvar(D), D=ground(H), H==A, !, C=suspension(_,_,_,_,U), setarg(2,C,removed), term_variables(U,I), arg(4,C,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'(I,C), ( var(B) -> true ; B=suspension(_,O,_,_,_,P), setarg(2,B,removed), ( O==not_stored_yet -> J=[] ; term_variables(P,J), arg(5,B,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,B) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_ground/1___1__0'(A,B) :- ( var(B) -> B=suspension(E,not_stored_yet,t,0,_,A), 'chr gen_id'(E) ; true ), ( '$novel_production'(B,235), !, '$extend_history'(B,235), arg(2,B,G), setarg(2,B,active), arg(4,B,F), D is F+1, setarg(4,B,D), ( G==not_stored_yet -> B=suspension(_,_,_,_,_,H), term_variables(H,C), 'chr none_locked'(C), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',I), J=[B|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'(C,B) ; true ), 'known/1_1_$special_nonvar/1'(A), ( B=suspension(_,active,_,D,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_ground/1___1__1'(A,B) ; true ) ; 'known/1_1_$special_ground/1___1__1'(A,B) ). 'known/1_1_$special_ground/1___1__1'(A,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, 'known/1_1_$special_ground/1___1__1__0__7'(C,A,B). 'known/1_1_$special_ground/1___1__1__0__7'([],B,A) :- 'known/1_1_$special_ground/1___1__2'(B,A). 'known/1_1_$special_ground/1___1__1__0__7'([E|H],A,B) :- ( E=suspension(_,active,_,_,C,D), nonvar(C), C=(\+F), nonvar(F), F=ground(G), G==A -> E=suspension(_,_,_,_,V,W), setarg(2,E,removed), term_variables(term(V,W),I), arg(4,E,R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',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_;/2___2'(I,E), arg(2,B,M), setarg(2,B,active), arg(4,B,L), K is L+1, setarg(4,B,K), ( M==not_stored_yet -> B=suspension(_,_,_,_,_,N), term_variables(N,J), 'chr none_locked'(J), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',O), P=[B|O], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',P), ( O=[Q|_] -> setarg(5,Q,P) ; true ), 'attach_known/1_1_$special_ground/1___1'(J,B) ; true ), known(D), ( B=suspension(_,active,_,K,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_ground/1___1__1__0__7'(H,A,B) ; true ) ; 'known/1_1_$special_ground/1___1__1__0__7'(H,A,B) ). '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,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, 'known/1_1_$special_ground/1___1__2__0__8'(C,A,B). 'known/1_1_$special_ground/1___1__2__0__8'([],B,A) :- 'known/1_1_$special_ground/1___1__3'(B,A). 'known/1_1_$special_ground/1___1__2__0__8'([E|I],A,B) :- ( E=suspension(_,active,_,_,C,D), nonvar(C), C=(F,_), nonvar(F), F=(\+G), nonvar(G), G=ground(H), H==A -> E=suspension(_,_,_,_,W,X), setarg(2,E,removed), term_variables(term(W,X),J), arg(4,E,S), ( var(S) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',T), T=[_|U], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',U), ( U=[V|_] -> setarg(4,V,_) ; true ) ; S=[_,_|U], setarg(2,S,U), ( U=[V|_] -> setarg(4,V,S) ; true ) ), 'detach_known/1_1_$special_;/2___2'(J,E), arg(2,B,N), setarg(2,B,active), arg(4,B,M), L is M+1, setarg(4,B,L), ( N==not_stored_yet -> B=suspension(_,_,_,_,_,O), term_variables(O,K), 'chr none_locked'(K), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',P), Q=[B|P], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',Q), ( P=[R|_] -> setarg(5,R,Q) ; true ), 'attach_known/1_1_$special_ground/1___1'(K,B) ; true ), known(D), ( B=suspension(_,active,_,L,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_ground/1___1__2__0__8'(I,A,B) ; true ) ; 'known/1_1_$special_ground/1___1__2__0__8'(I,A,B) ). '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,E), setarg(2,A,active), arg(4,A,D), C is D+1, setarg(4,A,C), ( E==not_stored_yet -> A=suspension(_,_,_,_,_,F), term_variables(F,B), 'chr none_locked'(B), 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'(B,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,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,_,_,_,_,_,_,E,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,_,D), D==A, !, ( var(B) -> true ; B=suspension(_,M,_,_,_,N), setarg(2,B,removed), ( M==not_stored_yet -> H=[] ; term_variables(N,H), arg(5,B,I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',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_integer/1___1'(H,B) ) ). 'known/1_1_$special_integer/1___1__0'(_,A) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',C), 'chr sbag_member'(B,C), B=suspension(_,active,_), !, ( var(A) -> true ; A=suspension(_,I,_,_,_,J), setarg(2,A,removed), ( I==not_stored_yet -> D=[] ; term_variables(J,D), arg(5,A,E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',G), ( G=[H|_] -> setarg(5,H,_) ; true ) ; E=[_,_|G], setarg(2,E,G), ( G=[H|_] -> setarg(5,H,E) ; true ) ), 'detach_known/1_1_$special_integer/1___1'(D,A) ) ). 'known/1_1_$special_integer/1___1__0'(A,B) :- nonvar(A), \+integer(A), !, ( var(B) -> true ; B=suspension(_,H,_,_,_,I), setarg(2,B,removed), ( H==not_stored_yet -> C=[] ; term_variables(I,C), arg(5,B,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',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_integer/1___1'(C,B) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_integer/1___1__0'(A,B) :- ( var(B) -> B=suspension(E,not_stored_yet,t,0,_,A), 'chr gen_id'(E) ; true ), ( '$novel_production'(B,199), !, '$extend_history'(B,199), arg(2,B,G), setarg(2,B,active), arg(4,B,F), D is F+1, setarg(4,B,D), ( G==not_stored_yet -> B=suspension(_,_,_,_,_,H), term_variables(H,C), 'chr none_locked'(C), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',I), J=[B|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'(C,B) ; true ), 'known/1_1_$special_number/1'(A), ( B=suspension(_,active,_,D,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_integer/1___1__1'(A,B) ; true ) ; 'known/1_1_$special_integer/1___1__1'(A,B) ). 'known/1_1_$special_integer/1___1__1'(A,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,E,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,D), nonvar(D), D=integer(H), H==A, !, C=suspension(_,_,_,_,U), setarg(2,C,removed), term_variables(U,I), arg(4,C,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'(I,C), ( var(B) -> true ; B=suspension(_,O,_,_,_,P), setarg(2,B,removed), ( O==not_stored_yet -> J=[] ; term_variables(P,J), arg(5,B,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,B) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_integer/1___1__1'(A,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, 'known/1_1_$special_integer/1___1__1__0__8'(C,A,B). 'known/1_1_$special_integer/1___1__1__0__8'([],B,A) :- 'known/1_1_$special_integer/1___1__2'(B,A). 'known/1_1_$special_integer/1___1__1__0__8'([E|H],A,B) :- ( E=suspension(_,active,_,_,C,D), nonvar(C), C=(\+F), nonvar(F), F=integer(G), G==A -> E=suspension(_,_,_,_,V,W), setarg(2,E,removed), term_variables(term(V,W),I), arg(4,E,R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',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_;/2___2'(I,E), arg(2,B,M), setarg(2,B,active), arg(4,B,L), K is L+1, setarg(4,B,K), ( M==not_stored_yet -> B=suspension(_,_,_,_,_,N), term_variables(N,J), 'chr none_locked'(J), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',O), P=[B|O], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',P), ( O=[Q|_] -> setarg(5,Q,P) ; true ), 'attach_known/1_1_$special_integer/1___1'(J,B) ; true ), known(D), ( B=suspension(_,active,_,K,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_integer/1___1__1__0__8'(H,A,B) ; true ) ; 'known/1_1_$special_integer/1___1__1__0__8'(H,A,B) ). '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,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, 'known/1_1_$special_integer/1___1__2__0__9'(C,A,B). 'known/1_1_$special_integer/1___1__2__0__9'([],B,A) :- 'known/1_1_$special_integer/1___1__3'(B,A). 'known/1_1_$special_integer/1___1__2__0__9'([E|I],A,B) :- ( E=suspension(_,active,_,_,C,D), nonvar(C), C=(F,_), nonvar(F), F=(\+G), nonvar(G), G=integer(H), H==A -> E=suspension(_,_,_,_,W,X), setarg(2,E,removed), term_variables(term(W,X),J), arg(4,E,S), ( var(S) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',T), T=[_|U], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',U), ( U=[V|_] -> setarg(4,V,_) ; true ) ; S=[_,_|U], setarg(2,S,U), ( U=[V|_] -> setarg(4,V,S) ; true ) ), 'detach_known/1_1_$special_;/2___2'(J,E), arg(2,B,N), setarg(2,B,active), arg(4,B,M), L is M+1, setarg(4,B,L), ( N==not_stored_yet -> B=suspension(_,_,_,_,_,O), term_variables(O,K), 'chr none_locked'(K), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',P), Q=[B|P], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',Q), ( P=[R|_] -> setarg(5,R,Q) ; true ), 'attach_known/1_1_$special_integer/1___1'(K,B) ; true ), known(D), ( B=suspension(_,active,_,L,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_integer/1___1__2__0__9'(I,A,B) ; true ) ; 'known/1_1_$special_integer/1___1__2__0__9'(I,A,B) ). '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,E), setarg(2,A,active), arg(4,A,D), C is D+1, setarg(4,A,C), ( E==not_stored_yet -> A=suspension(_,_,_,_,_,F), term_variables(F,B), 'chr none_locked'(B), 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'(B,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,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,_,_,_,_,_,_,_,E,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,_,D), D==A, !, ( var(B) -> true ; B=suspension(_,M,_,_,_,N), setarg(2,B,removed), ( M==not_stored_yet -> H=[] ; term_variables(N,H), arg(5,B,I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',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_float/1___1'(H,B) ) ). 'known/1_1_$special_float/1___1__0'(_,A) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',C), 'chr sbag_member'(B,C), B=suspension(_,active,_), !, ( var(A) -> true ; A=suspension(_,I,_,_,_,J), setarg(2,A,removed), ( I==not_stored_yet -> D=[] ; term_variables(J,D), arg(5,A,E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',G), ( G=[H|_] -> setarg(5,H,_) ; true ) ; E=[_,_|G], setarg(2,E,G), ( G=[H|_] -> setarg(5,H,E) ; true ) ), 'detach_known/1_1_$special_float/1___1'(D,A) ) ). 'known/1_1_$special_float/1___1__0'(A,B) :- nonvar(A), \+float(A), !, ( var(B) -> true ; B=suspension(_,H,_,_,_,I), setarg(2,B,removed), ( H==not_stored_yet -> C=[] ; term_variables(I,C), arg(5,B,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',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_float/1___1'(C,B) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_float/1___1__0'(A,B) :- ( var(B) -> B=suspension(E,not_stored_yet,t,0,_,A), 'chr gen_id'(E) ; true ), ( '$novel_production'(B,200), !, '$extend_history'(B,200), arg(2,B,G), setarg(2,B,active), arg(4,B,F), D is F+1, setarg(4,B,D), ( G==not_stored_yet -> B=suspension(_,_,_,_,_,H), term_variables(H,C), 'chr none_locked'(C), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',I), J=[B|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'(C,B) ; true ), 'known/1_1_$special_number/1'(A), ( B=suspension(_,active,_,D,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_float/1___1__1'(A,B) ; true ) ; 'known/1_1_$special_float/1___1__1'(A,B) ). 'known/1_1_$special_float/1___1__1'(A,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,E,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,D), nonvar(D), D=float(H), H==A, !, C=suspension(_,_,_,_,U), setarg(2,C,removed), term_variables(U,I), arg(4,C,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'(I,C), ( var(B) -> true ; B=suspension(_,O,_,_,_,P), setarg(2,B,removed), ( O==not_stored_yet -> J=[] ; term_variables(P,J), arg(5,B,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,B) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_float/1___1__1'(A,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, 'known/1_1_$special_float/1___1__1__0__8'(C,A,B). 'known/1_1_$special_float/1___1__1__0__8'([],B,A) :- 'known/1_1_$special_float/1___1__2'(B,A). 'known/1_1_$special_float/1___1__1__0__8'([E|H],A,B) :- ( E=suspension(_,active,_,_,C,D), nonvar(C), C=(\+F), nonvar(F), F=float(G), G==A -> E=suspension(_,_,_,_,V,W), setarg(2,E,removed), term_variables(term(V,W),I), arg(4,E,R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',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_;/2___2'(I,E), arg(2,B,M), setarg(2,B,active), arg(4,B,L), K is L+1, setarg(4,B,K), ( M==not_stored_yet -> B=suspension(_,_,_,_,_,N), term_variables(N,J), 'chr none_locked'(J), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',O), P=[B|O], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',P), ( O=[Q|_] -> setarg(5,Q,P) ; true ), 'attach_known/1_1_$special_float/1___1'(J,B) ; true ), known(D), ( B=suspension(_,active,_,K,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_float/1___1__1__0__8'(H,A,B) ; true ) ; 'known/1_1_$special_float/1___1__1__0__8'(H,A,B) ). '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,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, 'known/1_1_$special_float/1___1__2__0__9'(C,A,B). 'known/1_1_$special_float/1___1__2__0__9'([],B,A) :- 'known/1_1_$special_float/1___1__3'(B,A). 'known/1_1_$special_float/1___1__2__0__9'([E|I],A,B) :- ( E=suspension(_,active,_,_,C,D), nonvar(C), C=(F,_), nonvar(F), F=(\+G), nonvar(G), G=float(H), H==A -> E=suspension(_,_,_,_,W,X), setarg(2,E,removed), term_variables(term(W,X),J), arg(4,E,S), ( var(S) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',T), T=[_|U], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',U), ( U=[V|_] -> setarg(4,V,_) ; true ) ; S=[_,_|U], setarg(2,S,U), ( U=[V|_] -> setarg(4,V,S) ; true ) ), 'detach_known/1_1_$special_;/2___2'(J,E), arg(2,B,N), setarg(2,B,active), arg(4,B,M), L is M+1, setarg(4,B,L), ( N==not_stored_yet -> B=suspension(_,_,_,_,_,O), term_variables(O,K), 'chr none_locked'(K), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',P), Q=[B|P], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',Q), ( P=[R|_] -> setarg(5,R,Q) ; true ), 'attach_known/1_1_$special_float/1___1'(K,B) ; true ), known(D), ( B=suspension(_,active,_,L,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_float/1___1__2__0__9'(I,A,B) ; true ) ; 'known/1_1_$special_float/1___1__2__0__9'(I,A,B) ). '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,E), setarg(2,A,active), arg(4,A,D), C is D+1, setarg(4,A,C), ( E==not_stored_yet -> A=suspension(_,_,_,_,_,F), term_variables(F,B), 'chr none_locked'(B), 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'(B,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,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,_,_,_,_,_,_,_,_,E,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,_,D), D==A, !, ( var(B) -> true ; B=suspension(_,M,_,_,_,N), setarg(2,B,removed), ( M==not_stored_yet -> H=[] ; term_variables(N,H), arg(5,B,I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',J), J=[_|K], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',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_number/1___1'(H,B) ) ). 'known/1_1_$special_number/1___1__0'(_,A) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',C), 'chr sbag_member'(B,C), B=suspension(_,active,_), !, ( var(A) -> true ; A=suspension(_,I,_,_,_,J), setarg(2,A,removed), ( I==not_stored_yet -> D=[] ; term_variables(J,D), arg(5,A,E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',G), ( G=[H|_] -> setarg(5,H,_) ; true ) ; E=[_,_|G], setarg(2,E,G), ( G=[H|_] -> setarg(5,H,E) ; true ) ), 'detach_known/1_1_$special_number/1___1'(D,A) ) ). 'known/1_1_$special_number/1___1__0'(A,B) :- nonvar(A), \+number(A), !, ( var(B) -> true ; B=suspension(_,H,_,_,_,I), setarg(2,B,removed), ( H==not_stored_yet -> C=[] ; term_variables(I,C), arg(5,B,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',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_number/1___1'(C,B) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_number/1___1__0'(A,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,E,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,D), nonvar(D), D=number(H), H==A, !, C=suspension(_,_,_,_,U), setarg(2,C,removed), term_variables(U,I), arg(4,C,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'(I,C), ( var(B) -> true ; B=suspension(_,O,_,_,_,P), setarg(2,B,removed), ( O==not_stored_yet -> J=[] ; term_variables(P,J), arg(5,B,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,B) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_number/1___1__0'(A,B) :- ( var(B) -> B=suspension(E,not_stored_yet,t,0,_,A), 'chr gen_id'(E) ; true ), ( '$novel_production'(B,238), !, '$extend_history'(B,238), arg(2,B,G), setarg(2,B,active), arg(4,B,F), D is F+1, setarg(4,B,D), ( G==not_stored_yet -> B=suspension(_,_,_,_,_,H), term_variables(H,C), 'chr none_locked'(C), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',I), J=[B|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'(C,B) ; true ), 'known/1_1_$special_nonvar/1'(A), ( B=suspension(_,active,_,D,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_number/1___1__1'(A,B) ; true ) ; 'known/1_1_$special_number/1___1__1'(A,B) ). 'known/1_1_$special_number/1___1__1'(A,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, 'known/1_1_$special_number/1___1__1__0__8'(C,A,B). 'known/1_1_$special_number/1___1__1__0__8'([],B,A) :- 'known/1_1_$special_number/1___1__2'(B,A). 'known/1_1_$special_number/1___1__1__0__8'([E|H],A,B) :- ( E=suspension(_,active,_,_,C,D), nonvar(C), C=(\+F), nonvar(F), F=number(G), G==A -> E=suspension(_,_,_,_,V,W), setarg(2,E,removed), term_variables(term(V,W),I), arg(4,E,R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',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_;/2___2'(I,E), arg(2,B,M), setarg(2,B,active), arg(4,B,L), K is L+1, setarg(4,B,K), ( M==not_stored_yet -> B=suspension(_,_,_,_,_,N), term_variables(N,J), 'chr none_locked'(J), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',O), P=[B|O], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',P), ( O=[Q|_] -> setarg(5,Q,P) ; true ), 'attach_known/1_1_$special_number/1___1'(J,B) ; true ), known(D), ( B=suspension(_,active,_,K,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_number/1___1__1__0__8'(H,A,B) ; true ) ; 'known/1_1_$special_number/1___1__1__0__8'(H,A,B) ). '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,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, 'known/1_1_$special_number/1___1__2__0__9'(C,A,B). 'known/1_1_$special_number/1___1__2__0__9'([],B,A) :- 'known/1_1_$special_number/1___1__3'(B,A). 'known/1_1_$special_number/1___1__2__0__9'([E|I],A,B) :- ( E=suspension(_,active,_,_,C,D), nonvar(C), C=(F,_), nonvar(F), F=(\+G), nonvar(G), G=number(H), H==A -> E=suspension(_,_,_,_,W,X), setarg(2,E,removed), term_variables(term(W,X),J), arg(4,E,S), ( var(S) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',T), T=[_|U], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',U), ( U=[V|_] -> setarg(4,V,_) ; true ) ; S=[_,_|U], setarg(2,S,U), ( U=[V|_] -> setarg(4,V,S) ; true ) ), 'detach_known/1_1_$special_;/2___2'(J,E), arg(2,B,N), setarg(2,B,active), arg(4,B,M), L is M+1, setarg(4,B,L), ( N==not_stored_yet -> B=suspension(_,_,_,_,_,O), term_variables(O,K), 'chr none_locked'(K), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',P), Q=[B|P], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',Q), ( P=[R|_] -> setarg(5,R,Q) ; true ), 'attach_known/1_1_$special_number/1___1'(K,B) ; true ), known(D), ( B=suspension(_,active,_,L,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_number/1___1__2__0__9'(I,A,B) ; true ) ; 'known/1_1_$special_number/1___1__2__0__9'(I,A,B) ). '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,E), setarg(2,A,active), arg(4,A,D), C is D+1, setarg(4,A,C), ( E==not_stored_yet -> A=suspension(_,_,_,_,_,F), term_variables(F,B), 'chr none_locked'(B), 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'(B,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,C) :- ( 'chr newvia_2'(A,B,H) -> get_attr(H,guard_entailment,I), I=v(_,_,_,_,_,_,_,_,_,_,_,_,_,G,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',G) ), 'chr sbag_member'(D,G), D=suspension(_,active,_,_,_,E,F), E==A, F==B, !, ( var(C) -> true ; C=suspension(_,O,_,_,_,P,Q), setarg(2,C,removed), ( O==not_stored_yet -> J=[] ; term_variables(term(P,Q),J), arg(5,C,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'(J,C) ) ). 'known/1_1_$special_=\\=/2___2__0'(_,_,A) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',C), 'chr sbag_member'(B,C), B=suspension(_,active,_), !, ( var(A) -> true ; A=suspension(_,I,_,_,_,J,K), setarg(2,A,removed), ( I==not_stored_yet -> D=[] ; term_variables(term(J,K),D), arg(5,A,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(5,H,_) ; true ) ; E=[_,_|G], setarg(2,E,G), ( G=[H|_] -> setarg(5,H,E) ; true ) ), 'detach_known/1_1_$special_=\\=/2___2'(D,A) ) ). 'known/1_1_$special_=\\=/2___2__0'(A,B,C) :- ( 'chr newvia_1'(B,E) -> get_attr(E,guard_entailment,F), F=v(_,_,_,_,_,_,_,_,_,_,_,_,_,D,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',D) ), !, ( var(C) -> C=suspension(G,not_stored_yet,t,0,_,A,B), 'chr gen_id'(G) ; true ), 'known/1_1_$special_=\\=/2___2__0__0__5'(D,A,B,C). 'known/1_1_$special_=\\=/2___2__0__0__5'([],B,C,A) :- 'known/1_1_$special_=\\=/2___2__1'(B,C,A). 'known/1_1_$special_=\\=/2___2__0__0__5'([F|J],B,C,A) :- ( F=suspension(_,active,_,_,_,D,E), D==C, ( 'chr newvia_2'(C,E,H) -> get_attr(H,guard_entailment,I), I=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,G,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= 'known/1_1_$special_=\\=/2___2__0__1__5'(G,E,F,J,B,C,A) ; 'known/1_1_$special_=\\=/2___2__0__0__5'(J,B,C,A) ). 'known/1_1_$special_=\\=/2___2__0__1__5'([],_,_,A,C,D,B) :- 'known/1_1_$special_=\\=/2___2__0__0__5'(A,C,D,B). 'known/1_1_$special_=\\=/2___2__0__1__5'([I|M],F,A,B,D,E,C) :- ( I=suspension(_,active,_,_,_,G,H), G==E, H==F, ( 'chr newvia_2'(D,E,K) -> get_attr(K,guard_entailment,L), L=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,J,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= 'known/1_1_$special_=\\=/2___2__0__2__5'(J,I,M,F,A,B,D,E,C) ; 'known/1_1_$special_=\\=/2___2__0__1__5'(M,F,A,B,D,E,C) ). 'known/1_1_$special_=\\=/2___2__0__2__5'([],_,A,G,B,C,E,F,D) :- 'known/1_1_$special_=\\=/2___2__0__1__5'(A,G,B,C,E,F,D). 'known/1_1_$special_=\\=/2___2__0__2__5'([K|L],A,B,H,C,D,F,G,E) :- ( K=suspension(_,active,_,_,_,I,J), K\==A, I==F, J==G, O=t(188,K,E,A,C), '$novel_production'(K,O), '$novel_production'(E,O), '$novel_production'(A,O), '$novel_production'(C,O) -> '$extend_history'(E,O), arg(2,E,Q), setarg(2,E,active), arg(4,E,P), N is P+1, setarg(4,E,N), ( Q==not_stored_yet -> E=suspension(_,_,_,_,_,R,S), term_variables(term(R,S),M), 'chr none_locked'(M), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',T), U=[E|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',U), ( T=[V|_] -> setarg(5,V,U) ; true ), 'attach_known/1_1_$special_=\\=/2___2'(M,E) ; true ), 'known/1_1_$special_=\\=/2'(F,H), ( E=suspension(_,active,_,N,_,_,_) -> setarg(2,E,inactive), 'known/1_1_$special_=\\=/2___2__0__2__5'(L,A,B,H,C,D,F,G,E) ; true ) ; 'known/1_1_$special_=\\=/2___2__0__2__5'(L,A,B,H,C,D,F,G,E) ). 'known/1_1_$special_=\\=/2___2__0'(A,B,C) :- ( var(C) -> C=suspension(D,not_stored_yet,t,0,_,A,B), 'chr gen_id'(D) ; true ), 'known/1_1_$special_=\\=/2___2__1'(A,B,C). 'known/1_1_$special_=\\=/2___2__1'(A,B,C) :- ( 'chr newvia_1'(A,E) -> get_attr(E,guard_entailment,F), F=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,D,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= get_attr(H,guard_entailment,I), I=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,G,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= 'known/1_1_$special_=\\=/2___2__1__1__6'(G,D,F,J,B,C,A) ; 'known/1_1_$special_=\\=/2___2__1__0__6'(J,B,C,A) ). 'known/1_1_$special_=\\=/2___2__1__1__6'([],_,_,A,C,D,B) :- 'known/1_1_$special_=\\=/2___2__1__0__6'(A,C,D,B). 'known/1_1_$special_=\\=/2___2__1__1__6'([I|M],F,A,B,D,E,C) :- ( I=suspension(_,active,_,_,_,G,H), I\==A, G==D, H==E, ( 'chr newvia_2'(F,D,K) -> get_attr(K,guard_entailment,L), L=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,I,M,F,A,B,D,E,C) ; 'known/1_1_$special_=\\=/2___2__1__1__6'(M,F,A,B,D,E,C) ). 'known/1_1_$special_=\\=/2___2__1__2__6'([],_,A,G,B,C,E,F,D) :- 'known/1_1_$special_=\\=/2___2__1__1__6'(A,G,B,C,E,F,D). 'known/1_1_$special_=\\=/2___2__1__2__6'([K|L],A,B,H,C,D,F,G,E) :- ( K=suspension(_,active,_,_,_,I,J), I==H, J==F, O=t(188,C,K,A,E), '$novel_production'(C,O), '$novel_production'(K,O), '$novel_production'(A,O), '$novel_production'(E,O) -> '$extend_history'(E,O), arg(2,E,Q), setarg(2,E,active), arg(4,E,P), N is P+1, setarg(4,E,N), ( Q==not_stored_yet -> E=suspension(_,_,_,_,_,R,S), term_variables(term(R,S),M), 'chr none_locked'(M), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',T), U=[E|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',U), ( T=[V|_] -> setarg(5,V,U) ; true ), 'attach_known/1_1_$special_=\\=/2___2'(M,E) ; true ), 'known/1_1_$special_=\\=/2'(H,G), ( E=suspension(_,active,_,N,_,_,_) -> setarg(2,E,inactive), 'known/1_1_$special_=\\=/2___2__1__2__6'(L,A,B,H,C,D,F,G,E) ; true ) ; 'known/1_1_$special_=\\=/2___2__1__2__6'(L,A,B,H,C,D,F,G,E) ). '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,C) :- number(B), number(A), A=:=B, !, ( var(C) -> true ; C=suspension(_,I,_,_,_,J,K), setarg(2,C,removed), ( I==not_stored_yet -> D=[] ; term_variables(term(J,K),D), arg(5,C,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(5,H,_) ; true ) ; E=[_,_|G], setarg(2,E,G), ( G=[H|_] -> setarg(5,H,E) ; true ) ), 'detach_known/1_1_$special_=\\=/2___2'(D,C) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_=\\=/2___2__2'(A,B,C) :- B==A, !, ( var(C) -> true ; C=suspension(_,I,_,_,_,J,K), setarg(2,C,removed), ( I==not_stored_yet -> D=[] ; term_variables(term(J,K),D), arg(5,C,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(5,H,_) ; true ) ; E=[_,_|G], setarg(2,E,G), ( G=[H|_] -> setarg(5,H,E) ; true ) ), 'detach_known/1_1_$special_=\\=/2___2'(D,C) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_=\\=/2___2__2'(A,B,C) :- ( 'chr newvia_2'(A,B,H) -> get_attr(H,guard_entailment,I), I=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,G) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',G) ), 'chr sbag_member'(D,G), D=suspension(_,active,_,_,_,E,F), E==A, F==B, !, D=suspension(_,_,_,_,_,W,X), setarg(2,D,removed), term_variables(term(W,X),J), arg(5,D,S), ( var(S) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',T), T=[_|U], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',U), ( U=[V|_] -> setarg(5,V,_) ; true ) ; S=[_,_|U], setarg(2,S,U), ( U=[V|_] -> setarg(5,V,S) ; true ) ), 'detach_known/1_1_$special_=:=/2___2'(J,D), ( var(C) -> true ; C=suspension(_,P,_,_,_,Q,R), setarg(2,C,removed), ( P==not_stored_yet -> K=[] ; term_variables(term(Q,R),K), arg(5,C,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(5,O,_) ; true ) ; L=[_,_|N], setarg(2,L,N), ( N=[O|_] -> setarg(5,O,L) ; true ) ), 'detach_known/1_1_$special_=\\=/2___2'(K,C) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_=\\=/2___2__2'(A,B,C) :- '$novel_production'(C,195), !, '$extend_history'(C,195), arg(2,C,G), setarg(2,C,active), arg(4,C,F), E is F+1, setarg(4,C,E), ( G==not_stored_yet -> C=suspension(_,_,_,_,_,H,I), term_variables(term(H,I),D), 'chr none_locked'(D), 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'(D,C) ; true ), 'known/1_1_$special_=\\=/2'(B,A), ( C=suspension(_,active,_,E,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_=\\=/2___2__3'(A,B,C) ; 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,C) :- ( 'chr newvia_2'(A,B,G) -> get_attr(G,guard_entailment,H), H=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,F,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',F) ), 'chr sbag_member'(D,F), D=suspension(_,active,_,_,E), nonvar(E), E=(I=\=J), I==A, J==B, !, D=suspension(_,_,_,_,X), setarg(2,D,removed), term_variables(X,K), arg(4,D,T), ( var(T) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',U), U=[_|V], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',V), ( V=[W|_] -> setarg(4,W,_) ; true ) ; T=[_,_|V], setarg(2,T,V), ( V=[W|_] -> setarg(4,W,T) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(K,D), ( var(C) -> true ; C=suspension(_,Q,_,_,_,R,S), setarg(2,C,removed), ( Q==not_stored_yet -> L=[] ; term_variables(term(R,S),L), arg(5,C,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(5,P,_) ; true ) ; M=[_,_|O], setarg(2,M,O), ( O=[P|_] -> setarg(5,P,M) ; true ) ), 'detach_known/1_1_$special_=\\=/2___2'(L,C) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_=\\=/2___2__3'(A,B,C) :- ( 'chr newvia_2'(A,B,E) -> get_attr(E,guard_entailment,F), F=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__12'(D,A,B,C). 'known/1_1_$special_=\\=/2___2__3__0__12'([],B,C,A) :- 'known/1_1_$special_=\\=/2___2__4'(B,C,A). 'known/1_1_$special_=\\=/2___2__3__0__12'([F|J],A,B,C) :- ( F=suspension(_,active,_,_,D,E), nonvar(D), D=(\+G), nonvar(G), G=(H=\=I), H==A, I==B -> F=suspension(_,_,_,_,Y,Z), setarg(2,F,removed), term_variables(term(Y,Z),K), arg(4,F,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'(K,F), arg(2,C,O), setarg(2,C,active), arg(4,C,N), M is N+1, setarg(4,C,M), ( O==not_stored_yet -> C=suspension(_,_,_,_,_,P,Q), term_variables(term(P,Q),L), 'chr none_locked'(L), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',R), S=[C|R], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',S), ( R=[T|_] -> setarg(5,T,S) ; true ), 'attach_known/1_1_$special_=\\=/2___2'(L,C) ; true ), known(E), ( C=suspension(_,active,_,M,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_=\\=/2___2__3__0__12'(J,A,B,C) ; true ) ; 'known/1_1_$special_=\\=/2___2__3__0__12'(J,A,B,C) ). '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,C) :- ( 'chr newvia_2'(A,B,E) -> get_attr(E,guard_entailment,F), F=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__13'(D,A,B,C). 'known/1_1_$special_=\\=/2___2__4__0__13'([],B,C,A) :- 'known/1_1_$special_=\\=/2___2__5'(B,C,A). 'known/1_1_$special_=\\=/2___2__4__0__13'([F|K],A,B,C) :- ( F=suspension(_,active,_,_,D,E), nonvar(D), D=(G,_), nonvar(G), G=(\+H), nonvar(H), H=(I=\=J), I==A, J==B -> F=suspension(_,_,_,_,Z,A1), setarg(2,F,removed), term_variables(term(Z,A1),L), arg(4,F,V), ( var(V) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',W), W=[_|X], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',X), ( X=[Y|_] -> setarg(4,Y,_) ; true ) ; V=[_,_|X], setarg(2,V,X), ( X=[Y|_] -> setarg(4,Y,V) ; true ) ), 'detach_known/1_1_$special_;/2___2'(L,F), arg(2,C,P), setarg(2,C,active), arg(4,C,O), N is O+1, setarg(4,C,N), ( P==not_stored_yet -> C=suspension(_,_,_,_,_,Q,R), term_variables(term(Q,R),M), 'chr none_locked'(M), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',S), T=[C|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',T), ( S=[U|_] -> setarg(5,U,T) ; true ), 'attach_known/1_1_$special_=\\=/2___2'(M,C) ; true ), known(E), ( C=suspension(_,active,_,N,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_=\\=/2___2__4__0__13'(K,A,B,C) ; true ) ; 'known/1_1_$special_=\\=/2___2__4__0__13'(K,A,B,C) ). '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,E), setarg(2,A,active), arg(4,A,D), C is D+1, setarg(4,A,C), ( E==not_stored_yet -> A=suspension(_,_,_,_,_,F,G), term_variables(term(F,G),B), 'chr none_locked'(B), 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'(B,A) ; true ). 'known/1_1_$special_\\+/1'(A) :- 'known/1_1_$special_\\+/1___1__0'(A,_). 'known/1_1_$special_\\+/1___1__0'(A,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,E,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,D), D==A, !, ( var(B) -> true ; B=suspension(_,M,_,_,N), setarg(2,B,removed), ( M==not_stored_yet -> H=[] ; term_variables(N,H), arg(4,B,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,B) ) ). 'known/1_1_$special_\\+/1___1__0'(_,A) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',C), 'chr sbag_member'(B,C), B=suspension(_,active,_), !, ( var(A) -> true ; A=suspension(_,I,_,_,J), setarg(2,A,removed), ( I==not_stored_yet -> D=[] ; term_variables(J,D), arg(4,A,E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',F), F=[_|G], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',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_\\+/1___1'(D,A) ) ). 'known/1_1_$special_\\+/1___1__0'(A,B) :- nonvar(A), ( ( ( ( ( ( ( ( ( ( ( A=functor(C,D,E), nonvar(C), 'chr lock'(C), 'chr lock'(D), 'chr lock'(E), functor(C,D,E), 'chr unlock'(C), 'chr unlock'(D), 'chr unlock'(E), !, ( var(B) -> true ; B=suspension(_,R8,_,_,S8), setarg(2,B,removed), ( R8==not_stored_yet -> F=[] ; term_variables(S8,F), arg(4,B,N8), ( var(N8) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',O8), O8=[_|P8], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',P8), ( P8=[Q8|_] -> setarg(4,Q8,_) ; true ) ; N8=[_,_|P8], setarg(2,N8,P8), ( P8=[Q8|_] -> setarg(4,Q8,N8) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(F,B) ) ), 'known/1_1_$special_fail/0' ; A=(G;H), ( 'chr newvia_2'(G,H,M) -> get_attr(M,guard_entailment,N), N=v(_,_,_,L,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',L) ), 'chr sbag_member'(I,L), I=suspension(_,active,_,_,J,K), J==G, K==H, !, I=suspension(_,_,_,_,L8,M8), setarg(2,I,removed), term_variables(term(L8,M8),O), arg(4,I,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(4,K8,_) ; true ) ; H8=[_,_|J8], setarg(2,H8,J8), ( J8=[K8|_] -> setarg(4,K8,H8) ; true ) ), 'detach_known/1_1_$special_;/2___2'(O,I), ( var(B) -> true ; B=suspension(_,F8,_,_,G8), setarg(2,B,removed), ( F8==not_stored_yet -> P=[] ; term_variables(G8,P), arg(4,B,B8), ( var(B8) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',C8), C8=[_|D8], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',D8), ( D8=[E8|_] -> setarg(4,E8,_) ; true ) ; B8=[_,_|D8], setarg(2,B8,D8), ( D8=[E8|_] -> setarg(4,E8,B8) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(P,B) ) ), 'known/1_1_$special_fail/0' ) ; A=nonvar(Q), ( 'chr newvia_1'(Q,U) -> get_attr(U,guard_entailment,V), V=v(_,_,_,_,T,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',T) ), 'chr sbag_member'(R,T), R=suspension(_,active,_,_,S), S==Q, !, R=suspension(_,_,_,_,A8), setarg(2,R,removed), term_variables(A8,W), arg(4,R,W7), ( var(W7) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',X7), X7=[_|Y7], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',Y7), ( Y7=[Z7|_] -> setarg(4,Z7,_) ; true ) ; W7=[_,_|Y7], setarg(2,W7,Y7), ( Y7=[Z7|_] -> setarg(4,Z7,W7) ; true ) ), 'detach_known/1_1_$special_nonvar/1___1'(W,R), ( var(B) -> true ; B=suspension(_,U7,_,_,V7), setarg(2,B,removed), ( U7==not_stored_yet -> X=[] ; term_variables(V7,X), arg(4,B,Q7), ( var(Q7) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',R7), R7=[_|S7], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',S7), ( S7=[T7|_] -> setarg(4,T7,_) ; true ) ; Q7=[_,_|S7], setarg(2,Q7,S7), ( S7=[T7|_] -> setarg(4,T7,Q7) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(X,B) ) ), 'known/1_1_$special_fail/0' ) ; A=var(Y), ( 'chr newvia_1'(Y,C1) -> get_attr(C1,guard_entailment,D1), D1=v(_,_,_,_,_,B1,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',B1) ), 'chr sbag_member'(Z,B1), Z=suspension(_,active,_,_,A1), A1==Y, !, Z=suspension(_,_,_,_,P7), setarg(2,Z,removed), term_variables(P7,E1), arg(4,Z,L7), ( var(L7) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',M7), M7=[_|N7], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',N7), ( N7=[O7|_] -> setarg(4,O7,_) ; true ) ; L7=[_,_|N7], setarg(2,L7,N7), ( N7=[O7|_] -> setarg(4,O7,L7) ; true ) ), 'detach_known/1_1_$special_var/1___1'(E1,Z), ( var(B) -> true ; B=suspension(_,J7,_,_,K7), setarg(2,B,removed), ( J7==not_stored_yet -> F1=[] ; term_variables(K7,F1), arg(4,B,F7), ( var(F7) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',G7), G7=[_|H7], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',H7), ( H7=[I7|_] -> setarg(4,I7,_) ; true ) ; F7=[_,_|H7], setarg(2,F7,H7), ( H7=[I7|_] -> setarg(4,I7,F7) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(F1,B) ) ), 'known/1_1_$special_fail/0' ) ; A=atom(G1), ( 'chr newvia_1'(G1,K1) -> get_attr(K1,guard_entailment,L1), L1=v(_,_,_,_,_,_,J1,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',J1) ), 'chr sbag_member'(H1,J1), H1=suspension(_,active,_,_,_,I1), I1==G1, !, H1=suspension(_,_,_,_,_,E7), setarg(2,H1,removed), term_variables(E7,M1), arg(5,H1,A7), ( var(A7) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',B7), B7=[_|C7], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',C7), ( C7=[D7|_] -> setarg(5,D7,_) ; true ) ; A7=[_,_|C7], setarg(2,A7,C7), ( C7=[D7|_] -> setarg(5,D7,A7) ; true ) ), 'detach_known/1_1_$special_atom/1___1'(M1,H1), ( var(B) -> true ; B=suspension(_,Y6,_,_,Z6), setarg(2,B,removed), ( Y6==not_stored_yet -> N1=[] ; term_variables(Z6,N1), arg(4,B,U6), ( var(U6) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',V6), V6=[_|W6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',W6), ( W6=[X6|_] -> setarg(4,X6,_) ; true ) ; U6=[_,_|W6], setarg(2,U6,W6), ( W6=[X6|_] -> setarg(4,X6,U6) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(N1,B) ) ), 'known/1_1_$special_fail/0' ) ; A=atomic(O1), ( 'chr newvia_1'(O1,S1) -> get_attr(S1,guard_entailment,T1), T1=v(_,_,_,_,_,_,_,R1,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',R1) ), 'chr sbag_member'(P1,R1), P1=suspension(_,active,_,_,_,Q1), Q1==O1, !, P1=suspension(_,_,_,_,_,T6), setarg(2,P1,removed), term_variables(T6,U1), arg(5,P1,P6), ( var(P6) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',Q6), Q6=[_|R6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',R6), ( R6=[S6|_] -> setarg(5,S6,_) ; true ) ; P6=[_,_|R6], setarg(2,P6,R6), ( R6=[S6|_] -> setarg(5,S6,P6) ; true ) ), 'detach_known/1_1_$special_atomic/1___1'(U1,P1), ( var(B) -> true ; B=suspension(_,N6,_,_,O6), setarg(2,B,removed), ( N6==not_stored_yet -> V1=[] ; term_variables(O6,V1), arg(4,B,J6), ( var(J6) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',K6), K6=[_|L6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',L6), ( L6=[M6|_] -> setarg(4,M6,_) ; true ) ; J6=[_,_|L6], setarg(2,J6,L6), ( L6=[M6|_] -> setarg(4,M6,J6) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(V1,B) ) ), 'known/1_1_$special_fail/0' ) ; A=compound(W1), ( 'chr newvia_1'(W1,A2) -> get_attr(A2,guard_entailment,B2), B2=v(_,_,_,_,_,_,_,_,Z1,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',Z1) ), 'chr sbag_member'(X1,Z1), X1=suspension(_,active,_,_,_,Y1), Y1==W1, !, X1=suspension(_,_,_,_,_,I6), setarg(2,X1,removed), term_variables(I6,C2), arg(5,X1,E6), ( var(E6) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',F6), F6=[_|G6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',G6), ( G6=[H6|_] -> setarg(5,H6,_) ; true ) ; E6=[_,_|G6], setarg(2,E6,G6), ( G6=[H6|_] -> setarg(5,H6,E6) ; true ) ), 'detach_known/1_1_$special_compound/1___1'(C2,X1), ( var(B) -> true ; B=suspension(_,C6,_,_,D6), setarg(2,B,removed), ( C6==not_stored_yet -> D2=[] ; term_variables(D6,D2), arg(4,B,Y5), ( var(Y5) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',Z5), Z5=[_|A6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',A6), ( A6=[B6|_] -> setarg(4,B6,_) ; true ) ; Y5=[_,_|A6], setarg(2,Y5,A6), ( A6=[B6|_] -> setarg(4,B6,Y5) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(D2,B) ) ), 'known/1_1_$special_fail/0' ) ; A=ground(E2), ( 'chr newvia_1'(E2,I2) -> get_attr(I2,guard_entailment,J2), J2=v(_,_,_,_,_,_,_,_,_,H2,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',H2) ), 'chr sbag_member'(F2,H2), F2=suspension(_,active,_,_,_,G2), G2==E2, !, F2=suspension(_,_,_,_,_,X5), setarg(2,F2,removed), term_variables(X5,K2), arg(5,F2,T5), ( var(T5) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',U5), U5=[_|V5], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',V5), ( V5=[W5|_] -> setarg(5,W5,_) ; true ) ; T5=[_,_|V5], setarg(2,T5,V5), ( V5=[W5|_] -> setarg(5,W5,T5) ; true ) ), 'detach_known/1_1_$special_ground/1___1'(K2,F2), ( var(B) -> true ; B=suspension(_,R5,_,_,S5), setarg(2,B,removed), ( R5==not_stored_yet -> L2=[] ; term_variables(S5,L2), arg(4,B,N5), ( var(N5) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',O5), O5=[_|P5], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',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_\\+/1___1'(L2,B) ) ), 'known/1_1_$special_fail/0' ) ; A=integer(M2), ( 'chr newvia_1'(M2,Q2) -> get_attr(Q2,guard_entailment,R2), R2=v(_,_,_,_,_,_,_,_,_,_,P2,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',P2) ), 'chr sbag_member'(N2,P2), N2=suspension(_,active,_,_,_,O2), O2==M2, !, N2=suspension(_,_,_,_,_,M5), setarg(2,N2,removed), term_variables(M5,S2), arg(5,N2,I5), ( var(I5) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',J5), J5=[_|K5], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',K5), ( K5=[L5|_] -> setarg(5,L5,_) ; true ) ; I5=[_,_|K5], setarg(2,I5,K5), ( K5=[L5|_] -> setarg(5,L5,I5) ; true ) ), 'detach_known/1_1_$special_integer/1___1'(S2,N2), ( var(B) -> true ; B=suspension(_,G5,_,_,H5), setarg(2,B,removed), ( G5==not_stored_yet -> T2=[] ; term_variables(H5,T2), arg(4,B,C5), ( var(C5) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',D5), D5=[_|E5], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',E5), ( E5=[F5|_] -> setarg(4,F5,_) ; true ) ; C5=[_,_|E5], setarg(2,C5,E5), ( E5=[F5|_] -> setarg(4,F5,C5) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(T2,B) ) ), 'known/1_1_$special_fail/0' ) ; A=float(U2), ( 'chr newvia_1'(U2,Y2) -> get_attr(Y2,guard_entailment,Z2), Z2=v(_,_,_,_,_,_,_,_,_,_,_,X2,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',X2) ), 'chr sbag_member'(V2,X2), V2=suspension(_,active,_,_,_,W2), W2==U2, !, V2=suspension(_,_,_,_,_,B5), setarg(2,V2,removed), term_variables(B5,A3), arg(5,V2,X4), ( var(X4) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',Y4), Y4=[_|Z4], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',Z4), ( Z4=[A5|_] -> setarg(5,A5,_) ; true ) ; X4=[_,_|Z4], setarg(2,X4,Z4), ( Z4=[A5|_] -> setarg(5,A5,X4) ; true ) ), 'detach_known/1_1_$special_float/1___1'(A3,V2), ( var(B) -> true ; B=suspension(_,V4,_,_,W4), setarg(2,B,removed), ( V4==not_stored_yet -> B3=[] ; term_variables(W4,B3), arg(4,B,R4), ( var(R4) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',S4), S4=[_|T4], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',T4), ( T4=[U4|_] -> setarg(4,U4,_) ; true ) ; R4=[_,_|T4], setarg(2,R4,T4), ( T4=[U4|_] -> setarg(4,U4,R4) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(B3,B) ) ), 'known/1_1_$special_fail/0' ) ; A=number(C3), ( 'chr newvia_1'(C3,G3) -> get_attr(G3,guard_entailment,H3), H3=v(_,_,_,_,_,_,_,_,_,_,_,_,F3,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',F3) ), 'chr sbag_member'(D3,F3), D3=suspension(_,active,_,_,_,E3), E3==C3, !, D3=suspension(_,_,_,_,_,Q4), setarg(2,D3,removed), term_variables(Q4,I3), arg(5,D3,M4), ( var(M4) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',N4), N4=[_|O4], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',O4), ( O4=[P4|_] -> setarg(5,P4,_) ; true ) ; M4=[_,_|O4], setarg(2,M4,O4), ( O4=[P4|_] -> setarg(5,P4,M4) ; true ) ), 'detach_known/1_1_$special_number/1___1'(I3,D3), ( var(B) -> true ; B=suspension(_,K4,_,_,L4), setarg(2,B,removed), ( K4==not_stored_yet -> J3=[] ; term_variables(L4,J3), arg(4,B,G4), ( var(G4) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',H4), H4=[_|I4], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',I4), ( I4=[J4|_] -> setarg(4,J4,_) ; true ) ; G4=[_,_|I4], setarg(2,G4,I4), ( I4=[J4|_] -> setarg(4,J4,G4) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(J3,B) ) ), 'known/1_1_$special_fail/0' ) ; A=(K3=\=L3), ( 'chr newvia_2'(K3,L3,Q3) -> get_attr(Q3,guard_entailment,R3), R3=v(_,_,_,_,_,_,_,_,_,_,_,_,_,P3,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',P3) ), 'chr sbag_member'(M3,P3), M3=suspension(_,active,_,_,_,N3,O3), N3==K3, O3==L3, !, M3=suspension(_,_,_,_,_,E4,F4), setarg(2,M3,removed), term_variables(term(E4,F4),S3), arg(5,M3,A4), ( var(A4) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',B4), B4=[_|C4], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',C4), ( C4=[D4|_] -> setarg(5,D4,_) ; true ) ; A4=[_,_|C4], setarg(2,A4,C4), ( C4=[D4|_] -> setarg(5,D4,A4) ; true ) ), 'detach_known/1_1_$special_=\\=/2___2'(S3,M3), ( var(B) -> true ; B=suspension(_,Y3,_,_,Z3), setarg(2,B,removed), ( Y3==not_stored_yet -> T3=[] ; term_variables(Z3,T3), arg(4,B,U3), ( var(U3) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',V3), V3=[_|W3], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',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_\\+/1___1'(T3,B) ) ), 'known/1_1_$special_fail/0' ). 'known/1_1_$special_\\+/1___1__0'(A,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,E,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,D), nonvar(D), D=(\+H), H==A, !, C=suspension(_,_,_,_,U), setarg(2,C,removed), term_variables(U,I), arg(4,C,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'(I,C), ( var(B) -> true ; B=suspension(_,O,_,_,P), setarg(2,B,removed), ( O==not_stored_yet -> J=[] ; term_variables(P,J), arg(4,B,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,B) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_\\+/1___1__0'(A,B) :- nonvar(A), ( ( ( ( ( ( ( A=(\+C), ( 'chr newvia_1'(C,G) -> get_attr(G,guard_entailment,H), H=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,F,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',F) ), 'chr sbag_member'(D,F), D=suspension(_,active,_,_,E), E==C, !, D=suspension(_,_,_,_,V6), setarg(2,D,removed), term_variables(V6,I), arg(4,D,R6), ( var(R6) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',S6), S6=[_|T6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',T6), ( T6=[U6|_] -> setarg(4,U6,_) ; true ) ; R6=[_,_|T6], setarg(2,R6,T6), ( T6=[U6|_] -> setarg(4,U6,R6) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(I,D), ( var(B) -> true ; B=suspension(_,P6,_,_,Q6), setarg(2,B,removed), ( P6==not_stored_yet -> J=[] ; term_variables(Q6,J), arg(4,B,L6), ( var(L6) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',M6), M6=[_|N6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',N6), ( N6=[O6|_] -> setarg(4,O6,_) ; true ) ; L6=[_,_|N6], setarg(2,L6,N6), ( N6=[O6|_] -> setarg(4,O6,L6) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(J,B) ) ), 'known/1_1_$special_fail/0' ; A=functor(K,L,M), ( 'chr newvia'([K,L,M],S) -> get_attr(S,guard_entailment,T), T=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,R,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',R) ), 'chr sbag_member'(N,R), N=suspension(_,active,_,_,O,P,Q), O==K, P==L, Q==M, !, N=suspension(_,_,_,_,I6,J6,K6), setarg(2,N,removed), term_variables(term(I6,J6,K6),U), arg(4,N,E6), ( var(E6) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',F6), F6=[_|G6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',G6), ( G6=[H6|_] -> setarg(4,H6,_) ; true ) ; E6=[_,_|G6], setarg(2,E6,G6), ( G6=[H6|_] -> setarg(4,H6,E6) ; true ) ), 'detach_known/1_1_$special_functor/3___3'(U,N), ( var(B) -> true ; B=suspension(_,C6,_,_,D6), setarg(2,B,removed), ( C6==not_stored_yet -> V=[] ; term_variables(D6,V), arg(4,B,Y5), ( var(Y5) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',Z5), Z5=[_|A6], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',A6), ( A6=[B6|_] -> setarg(4,B6,_) ; true ) ; Y5=[_,_|A6], setarg(2,Y5,A6), ( A6=[B6|_] -> setarg(4,B6,Y5) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(V,B) ) ), 'known/1_1_$special_fail/0' ) ; A=(W\=X), ( 'chr newvia_2'(W,X,C1) -> get_attr(C1,guard_entailment,D1), D1=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,B1,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',B1) ), 'chr sbag_member'(Y,B1), Y=suspension(_,active,_,_,_,Z,A1), Z==W, A1==X, !, Y=suspension(_,_,_,_,_,W5,X5), setarg(2,Y,removed), term_variables(term(W5,X5),E1), arg(5,Y,S5), ( var(S5) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',T5), T5=[_|U5], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',U5), ( U5=[V5|_] -> setarg(5,V5,_) ; true ) ; S5=[_,_|U5], setarg(2,S5,U5), ( U5=[V5|_] -> setarg(5,V5,S5) ; true ) ), 'detach_known/1_1_$special_\\=/2___2'(E1,Y), ( var(B) -> true ; B=suspension(_,Q5,_,_,R5), setarg(2,B,removed), ( Q5==not_stored_yet -> F1=[] ; term_variables(R5,F1), arg(4,B,M5), ( var(M5) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',N5), N5=[_|O5], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',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_\\+/1___1'(F1,B) ) ), 'known/1_1_$special_fail/0' ) ; A=(G1=H1), ( 'chr newvia_2'(G1,H1,M1) -> get_attr(M1,guard_entailment,N1), N1=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,L1,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',L1) ), 'chr sbag_member'(I1,L1), I1=suspension(_,active,_,_,J1,K1), J1==G1, K1==H1, !, I1=suspension(_,_,_,_,K5,L5), setarg(2,I1,removed), term_variables(term(K5,L5),O1), arg(4,I1,G5), ( var(G5) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',H5), H5=[_|I5], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',I5), ( I5=[J5|_] -> setarg(4,J5,_) ; true ) ; G5=[_,_|I5], setarg(2,G5,I5), ( I5=[J5|_] -> setarg(4,J5,G5) ; true ) ), 'detach_known/1_1_$special_=/2___2'(O1,I1), ( var(B) -> true ; B=suspension(_,E5,_,_,F5), setarg(2,B,removed), ( E5==not_stored_yet -> P1=[] ; term_variables(F5,P1), arg(4,B,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'(P1,B) ) ), 'known/1_1_$special_fail/0' ) ; A=(Q1\==R1), ( 'chr newvia_2'(Q1,R1,W1) -> get_attr(W1,guard_entailment,X1), X1=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,V1,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',V1) ), 'chr sbag_member'(S1,V1), S1=suspension(_,active,_,_,_,T1,U1), T1==Q1, U1==R1, !, S1=suspension(_,_,_,_,_,Y4,Z4), setarg(2,S1,removed), term_variables(term(Y4,Z4),Y1), arg(5,S1,U4), ( var(U4) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',V4), V4=[_|W4], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',W4), ( W4=[X4|_] -> setarg(5,X4,_) ; true ) ; U4=[_,_|W4], setarg(2,U4,W4), ( W4=[X4|_] -> setarg(5,X4,U4) ; true ) ), 'detach_known/1_1_$special_\\==/2___2'(Y1,S1), ( var(B) -> true ; B=suspension(_,S4,_,_,T4), setarg(2,B,removed), ( S4==not_stored_yet -> Z1=[] ; term_variables(T4,Z1), arg(4,B,O4), ( var(O4) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',P4), P4=[_|Q4], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',Q4), ( Q4=[R4|_] -> setarg(4,R4,_) ; true ) ; O4=[_,_|Q4], setarg(2,O4,Q4), ( Q4=[R4|_] -> setarg(4,R4,O4) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(Z1,B) ) ), 'known/1_1_$special_fail/0' ) ; A=(A2==B2), ( 'chr newvia_2'(A2,B2,G2) -> get_attr(G2,guard_entailment,H2), H2=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,F2,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',F2) ), 'chr sbag_member'(C2,F2), C2=suspension(_,active,_,_,_,D2,E2), D2==A2, E2==B2, !, C2=suspension(_,_,_,_,_,M4,N4), setarg(2,C2,removed), term_variables(term(M4,N4),I2), arg(5,C2,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(5,L4,_) ; true ) ; I4=[_,_|K4], setarg(2,I4,K4), ( K4=[L4|_] -> setarg(5,L4,I4) ; true ) ), 'detach_known/1_1_$special_==/2___2'(I2,C2), ( var(B) -> true ; B=suspension(_,G4,_,_,H4), setarg(2,B,removed), ( G4==not_stored_yet -> J2=[] ; term_variables(H4,J2), arg(4,B,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'(J2,B) ) ), 'known/1_1_$special_fail/0' ) ; A=(K2= get_attr(Q2,guard_entailment,R2), R2=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,P2,_) ; 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,Z3,_) ; true ) ; W3=[_,_|Y3], setarg(2,W3,Y3), ( Y3=[Z3|_] -> setarg(5,Z3,W3) ; true ) ), 'detach_known/1_1_$special_= true ; B=suspension(_,U3,_,_,V3), setarg(2,B,removed), ( U3==not_stored_yet -> T2=[] ; term_variables(V3,T2), arg(4,B,Q3), ( var(Q3) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',R3), R3=[_|S3], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',S3), ( S3=[T3|_] -> setarg(4,T3,_) ; true ) ; Q3=[_,_|S3], setarg(2,Q3,S3), ( S3=[T3|_] -> setarg(4,T3,Q3) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(T2,B) ) ), 'known/1_1_$special_fail/0' ) ; A=(U2=:=V2), ( 'chr newvia_2'(U2,V2,A3) -> get_attr(A3,guard_entailment,B3), B3=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,Z2) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',Z2) ), 'chr sbag_member'(W2,Z2), W2=suspension(_,active,_,_,_,X2,Y2), X2==U2, Y2==V2, !, W2=suspension(_,_,_,_,_,O3,P3), setarg(2,W2,removed), term_variables(term(O3,P3),C3), arg(5,W2,K3), ( var(K3) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',L3), L3=[_|M3], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',M3), ( M3=[N3|_] -> setarg(5,N3,_) ; true ) ; K3=[_,_|M3], setarg(2,K3,M3), ( M3=[N3|_] -> setarg(5,N3,K3) ; true ) ), 'detach_known/1_1_$special_=:=/2___2'(C3,W2), ( var(B) -> true ; B=suspension(_,I3,_,_,J3), setarg(2,B,removed), ( I3==not_stored_yet -> D3=[] ; term_variables(J3,D3), arg(4,B,E3), ( var(E3) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',F3), F3=[_|G3], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',G3), ( G3=[H3|_] -> setarg(4,H3,_) ; true ) ; E3=[_,_|G3], setarg(2,E3,G3), ( G3=[H3|_] -> setarg(4,H3,E3) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(D3,B) ) ), 'known/1_1_$special_fail/0' ). 'known/1_1_$special_\\+/1___1__0'(A,B) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,E,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',E) ), 'chr sbag_member'(C,E), C=suspension(_,active,_,_,D), D==A, !, C=suspension(_,_,_,_,T), setarg(2,C,removed), term_variables(T,H), arg(4,C,P), ( var(P) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',Q), Q=[_|R], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',R), ( R=[S|_] -> setarg(4,S,_) ; true ) ; P=[_,_|R], setarg(2,P,R), ( R=[S|_] -> setarg(4,S,P) ; true ) ), 'detach_known/1_1_$default___1'(H,C), ( var(B) -> true ; B=suspension(_,N,_,_,O), setarg(2,B,removed), ( N==not_stored_yet -> I=[] ; term_variables(O,I), arg(4,B,J), ( var(J) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',K), K=[_|L], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',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_\\+/1___1'(I,B) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_\\+/1___1__0'(A,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, ( var(B) -> B=suspension(F,not_stored_yet,0,_,A), 'chr gen_id'(F) ; true ), 'known/1_1_$special_\\+/1___1__0__0__33'(C,A,B). 'known/1_1_$special_\\+/1___1__0__0__33'([],B,A) :- 'known/1_1_$special_\\+/1___1__1'(B,A). 'known/1_1_$special_\\+/1___1__0__0__33'([E|H],A,B) :- ( E=suspension(_,active,_,_,C,D), nonvar(C), C=(\+F), nonvar(F), F=(\+G), G==A -> E=suspension(_,_,_,_,V,W), setarg(2,E,removed), term_variables(term(V,W),I), arg(4,E,R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',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_;/2___2'(I,E), arg(2,B,M), setarg(2,B,active), arg(3,B,L), K is L+1, setarg(3,B,K), ( M==not_stored_yet -> B=suspension(_,_,_,_,N), term_variables(N,J), 'chr none_locked'(J), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',O), P=[B|O], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',P), ( O=[Q|_] -> setarg(4,Q,P) ; true ), 'attach_known/1_1_$special_\\+/1___1'(J,B) ; true ), known(D), ( B=suspension(_,active,K,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_\\+/1___1__0__0__33'(H,A,B) ; true ) ; 'known/1_1_$special_\\+/1___1__0__0__33'(H,A,B) ). 'known/1_1_$special_\\+/1___1__0'(A,B) :- ( var(B) -> B=suspension(C,not_stored_yet,0,_,A), 'chr gen_id'(C) ; true ), 'known/1_1_$special_\\+/1___1__1'(A,B). 'known/1_1_$special_\\+/1___1__1'(A,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, 'known/1_1_$special_\\+/1___1__1__0__34'(C,A,B). 'known/1_1_$special_\\+/1___1__1__0__34'([],B,A) :- 'known/1_1_$special_\\+/1___1__2'(B,A). 'known/1_1_$special_\\+/1___1__1__0__34'([E|I],A,B) :- ( E=suspension(_,active,_,_,C,D), nonvar(C), C=(F,_), nonvar(F), F=(\+G), nonvar(G), G=(\+H), H==A -> E=suspension(_,_,_,_,W,X), setarg(2,E,removed), term_variables(term(W,X),J), arg(4,E,S), ( var(S) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',T), T=[_|U], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',U), ( U=[V|_] -> setarg(4,V,_) ; true ) ; S=[_,_|U], setarg(2,S,U), ( U=[V|_] -> setarg(4,V,S) ; true ) ), 'detach_known/1_1_$special_;/2___2'(J,E), arg(2,B,N), setarg(2,B,active), arg(3,B,M), L is M+1, setarg(3,B,L), ( N==not_stored_yet -> B=suspension(_,_,_,_,O), term_variables(O,K), 'chr none_locked'(K), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',P), Q=[B|P], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',Q), ( P=[R|_] -> setarg(4,R,Q) ; true ), 'attach_known/1_1_$special_\\+/1___1'(K,B) ; true ), known(D), ( B=suspension(_,active,L,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_\\+/1___1__1__0__34'(I,A,B) ; true ) ; 'known/1_1_$special_\\+/1___1__1__0__34'(I,A,B) ). '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,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, 'known/1_1_$special_\\+/1___1__2__0__35'(C,A,B). 'known/1_1_$special_\\+/1___1__2__0__35'([],B,A) :- 'known/1_1_$special_\\+/1___1__3'(B,A). 'known/1_1_$special_\\+/1___1__2__0__35'([E|F],A,B) :- ( E=suspension(_,active,_,_,C,D), C==A -> E=suspension(_,_,_,_,T,U), setarg(2,E,removed), term_variables(term(T,U),G), arg(4,E,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'(G,E), arg(2,B,K), setarg(2,B,active), arg(3,B,J), I is J+1, setarg(3,B,I), ( K==not_stored_yet -> B=suspension(_,_,_,_,L), term_variables(L,H), 'chr none_locked'(H), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',M), N=[B|M], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',N), ( M=[O|_] -> setarg(4,O,N) ; true ), 'attach_known/1_1_$special_\\+/1___1'(H,B) ; true ), known(D), ( B=suspension(_,active,I,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_\\+/1___1__2__0__35'(F,A,B) ; true ) ; 'known/1_1_$special_\\+/1___1__2__0__35'(F,A,B) ). '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,B) :- ( 'chr newvia_1'(A,D) -> get_attr(D,guard_entailment,E), E=v(_,_,_,C,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',C) ), !, 'known/1_1_$special_\\+/1___1__3__0__36'(C,A,B). 'known/1_1_$special_\\+/1___1__3__0__36'([],B,A) :- 'known/1_1_$special_\\+/1___1__4'(B,A). 'known/1_1_$special_\\+/1___1__3__0__36'([E|G],A,B) :- ( E=suspension(_,active,_,_,C,D), nonvar(C), C=(F,_), F==A -> E=suspension(_,_,_,_,U,V), setarg(2,E,removed), term_variables(term(U,V),H), arg(4,E,Q), ( var(Q) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',R), R=[_|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',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_;/2___2'(H,E), arg(2,B,L), setarg(2,B,active), arg(3,B,K), J is K+1, setarg(3,B,J), ( L==not_stored_yet -> B=suspension(_,_,_,_,M), term_variables(M,I), 'chr none_locked'(I), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',N), O=[B|N], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',O), ( N=[P|_] -> setarg(4,P,O) ; true ), 'attach_known/1_1_$special_\\+/1___1'(I,B) ; true ), known(D), ( B=suspension(_,active,J,_,_) -> setarg(2,B,inactive), 'known/1_1_$special_\\+/1___1__3__0__36'(G,A,B) ; true ) ; 'known/1_1_$special_\\+/1___1__3__0__36'(G,A,B) ). '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,E), setarg(2,A,active), arg(3,A,D), C is D+1, setarg(3,A,C), ( E==not_stored_yet -> A=suspension(_,_,_,_,F), term_variables(F,B), 'chr none_locked'(B), 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'(B,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,D) :- ( 'chr newvia'([A,B,C],J) -> get_attr(J,guard_entailment,K), K=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,I,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',I) ), 'chr sbag_member'(E,I), E=suspension(_,active,_,_,F,G,H), F==A, G==B, H==C, !, ( var(D) -> true ; D=suspension(_,Q,_,_,R,S,T), setarg(2,D,removed), ( Q==not_stored_yet -> L=[] ; term_variables(term(R,S,T),L), arg(4,D,M), ( var(M) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',N), N=[_|O], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',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_functor/3___3'(L,D) ) ). 'known/1_1_$special_functor/3___3__0'(_,_,_,A) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',C), 'chr sbag_member'(B,C), B=suspension(_,active,_), !, ( var(A) -> true ; A=suspension(_,I,_,_,J,K,L), setarg(2,A,removed), ( I==not_stored_yet -> D=[] ; term_variables(term(J,K,L),D), 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'(D,A) ) ). 'known/1_1_$special_functor/3___3__0'(A,B,C,D) :- ground(C), ground(B), var(A), nb_getval('$chr_store_global_list_guard_entailment____variables___1',G), 'chr sbag_member'(E,G), E=suspension(_,active,_,F), !, E=suspension(_,_,_,X), setarg(2,E,removed), term_variables(X,J), arg(3,E,T), ( var(T) -> nb_getval('$chr_store_global_list_guard_entailment____variables___1',U), U=[_|V], b_setval('$chr_store_global_list_guard_entailment____variables___1',V), ( V=[W|_] -> setarg(3,W,_) ; true ) ; T=[_,_|V], setarg(2,T,V), ( V=[W|_] -> setarg(3,W,T) ; true ) ), detach_variables___1(J,E), ( var(D) -> true ; D=suspension(_,P,_,_,Q,R,S), setarg(2,D,removed), ( P==not_stored_yet -> K=[] ; term_variables(term(Q,R,S),K), arg(4,D,L), ( var(L) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',M), M=[_|N], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',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_functor/3___3'(K,D) ) ), functor(A,B,C), A=..[_|H], append(H,F,I), variables(I). '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(_,J,_,_,K,L,M), setarg(2,D,removed), ( J==not_stored_yet -> E=[] ; term_variables(term(K,L,M),E), arg(4,D,F), ( var(F) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',G), G=[_|H], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',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_functor/3___3'(E,D) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_functor/3___3__0'(A,B,C,D) :- nonvar(C), nonvar(B), ( 'chr newvia_1'(A,J) -> get_attr(J,guard_entailment,K), K=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,I,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',I) ), 'chr sbag_member'(E,I), E=suspension(_,active,_,_,F,G,H), F==A, nonvar(H), nonvar(G), !, E=suspension(_,_,_,_,Z,A1,B1), setarg(2,E,removed), term_variables(term(Z,A1,B1),L), arg(4,E,V), ( var(V) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',W), W=[_|X], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',X), ( X=[Y|_] -> setarg(4,Y,_) ; true ) ; V=[_,_|X], setarg(2,V,X), ( X=[Y|_] -> setarg(4,Y,V) ; true ) ), 'detach_known/1_1_$special_functor/3___3'(L,E), ( var(D) -> true ; D=suspension(_,R,_,_,S,T,U), setarg(2,D,removed), ( R==not_stored_yet -> M=[] ; term_variables(term(S,T,U),M), arg(4,D,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'(M,D) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_functor/3___3__0'(A,B,C,D) :- ( 'chr newvia'([A,B,C],H) -> get_attr(H,guard_entailment,I), I=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,G,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',G) ), 'chr sbag_member'(E,G), E=suspension(_,active,_,_,F), nonvar(F), F=functor(J,K,L), J==A, K==B, L==C, !, E=suspension(_,_,_,_,A1), setarg(2,E,removed), term_variables(A1,M), arg(4,E,W), ( var(W) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',X), X=[_|Y], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',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_\\+/1___1'(M,E), ( var(D) -> true ; D=suspension(_,S,_,_,T,U,V), setarg(2,D,removed), ( S==not_stored_yet -> N=[] ; term_variables(term(T,U,V),N), arg(4,D,O), ( var(O) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',P), P=[_|Q], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',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_functor/3___3'(N,D) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_functor/3___3__0'(A,B,C,D) :- ( 'chr newvia'([A,B,C],F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,E,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',E) ), !, ( var(D) -> D=suspension(H,not_stored_yet,0,_,A,B,C), 'chr gen_id'(H) ; true ), 'known/1_1_$special_functor/3___3__0__0__10'(E,A,B,C,D). 'known/1_1_$special_functor/3___3__0__0__10'([],B,C,D,A) :- 'known/1_1_$special_functor/3___3__1'(B,C,D,A). 'known/1_1_$special_functor/3___3__0__0__10'([G|L],A,B,C,D) :- ( G=suspension(_,active,_,_,E,F), nonvar(E), E=(\+H), nonvar(H), H=functor(I,J,K), I==A, J==B, K==C -> G=suspension(_,_,_,_,B1,C1), setarg(2,G,removed), term_variables(term(B1,C1),M), arg(4,G,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'(M,G), arg(2,D,Q), setarg(2,D,active), arg(3,D,P), O is P+1, setarg(3,D,O), ( Q==not_stored_yet -> D=suspension(_,_,_,_,R,S,T), term_variables(term(R,S,T),N), 'chr none_locked'(N), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',U), V=[D|U], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',V), ( U=[W|_] -> setarg(4,W,V) ; true ), 'attach_known/1_1_$special_functor/3___3'(N,D) ; true ), known(F), ( D=suspension(_,active,O,_,_,_,_) -> setarg(2,D,inactive), 'known/1_1_$special_functor/3___3__0__0__10'(L,A,B,C,D) ; true ) ; 'known/1_1_$special_functor/3___3__0__0__10'(L,A,B,C,D) ). 'known/1_1_$special_functor/3___3__0'(A,B,C,D) :- ( var(D) -> D=suspension(E,not_stored_yet,0,_,A,B,C), 'chr gen_id'(E) ; true ), 'known/1_1_$special_functor/3___3__1'(A,B,C,D). 'known/1_1_$special_functor/3___3__1'(A,B,C,D) :- ( 'chr newvia'([A,B,C],F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,E,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',E) ), !, 'known/1_1_$special_functor/3___3__1__0__11'(E,A,B,C,D). 'known/1_1_$special_functor/3___3__1__0__11'([],B,C,D,A) :- 'known/1_1_$special_functor/3___3__2'(B,C,D,A). 'known/1_1_$special_functor/3___3__1__0__11'([G|M],A,B,C,D) :- ( G=suspension(_,active,_,_,E,F), nonvar(E), E=(H,_), nonvar(H), H=(\+I), nonvar(I), I=functor(J,K,L), J==A, K==B, L==C -> G=suspension(_,_,_,_,C1,D1), setarg(2,G,removed), term_variables(term(C1,D1),N), arg(4,G,Y), ( var(Y) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',Z), Z=[_|A1], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',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_;/2___2'(N,G), arg(2,D,R), setarg(2,D,active), arg(3,D,Q), P is Q+1, setarg(3,D,P), ( R==not_stored_yet -> D=suspension(_,_,_,_,S,T,U), term_variables(term(S,T,U),O), 'chr none_locked'(O), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',V), W=[D|V], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',W), ( V=[X|_] -> setarg(4,X,W) ; true ), 'attach_known/1_1_$special_functor/3___3'(O,D) ; true ), known(F), ( D=suspension(_,active,P,_,_,_,_) -> setarg(2,D,inactive), 'known/1_1_$special_functor/3___3__1__0__11'(M,A,B,C,D) ; true ) ; 'known/1_1_$special_functor/3___3__1__0__11'(M,A,B,C,D) ). '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,B,C,D) :- ( 'chr newvia_1'(A,F) -> get_attr(F,guard_entailment,G), G=v(_,_,_,E,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',E) ), !, 'known/1_1_$special_functor/3___3__2__0__12'(E,A,B,C,D). 'known/1_1_$special_functor/3___3__2__0__12'([],B,C,D,A) :- 'known/1_1_$special_functor/3___3__3'(B,C,D,A). 'known/1_1_$special_functor/3___3__2__0__12'([F|I],A,B,C,D) :- ( F=suspension(_,active,_,_,E,_), nonvar(E), E=(\+G), nonvar(G), G=functor(H,_,_), H==A -> F=suspension(_,_,_,_,O,P), setarg(2,F,removed), term_variables(term(O,P),J), arg(4,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(4,N,_) ; true ) ; K=[_,_|M], setarg(2,K,M), ( M=[N|_] -> setarg(4,N,K) ; true ) ), 'detach_known/1_1_$special_;/2___2'(J,F), 'known/1_1_$special_functor/3___3__2__0__12'(I,A,B,C,D) ; 'known/1_1_$special_functor/3___3__2__0__12'(I,A,B,C,D) ). '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,E), setarg(2,A,active), arg(3,A,D), C is D+1, setarg(3,A,C), ( E==not_stored_yet -> A=suspension(_,_,_,_,F,G,H), term_variables(term(F,G,H),B), 'chr none_locked'(B), 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'(B,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,C) :- ( 'chr newvia_2'(A,B,H) -> get_attr(H,guard_entailment,I), I=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,G,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',G) ), 'chr sbag_member'(D,G), D=suspension(_,active,_,_,_,E,F), E==A, F==B, !, ( var(C) -> true ; C=suspension(_,O,_,_,_,P,Q), setarg(2,C,removed), ( O==not_stored_yet -> J=[] ; term_variables(term(P,Q),J), arg(5,C,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'(J,C) ) ). 'known/1_1_$special_\\=/2___2__0'(_,_,A) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',C), 'chr sbag_member'(B,C), B=suspension(_,active,_), !, ( var(A) -> true ; A=suspension(_,I,_,_,_,J,K), setarg(2,A,removed), ( I==not_stored_yet -> D=[] ; term_variables(term(J,K),D), arg(5,A,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(5,H,_) ; true ) ; E=[_,_|G], setarg(2,E,G), ( G=[H|_] -> setarg(5,H,E) ; true ) ), 'detach_known/1_1_$special_\\=/2___2'(D,A) ) ). 'known/1_1_$special_\\=/2___2__0'(A,B,C) :- ground(B), ground(A), 'chr lock'(A), 'chr lock'(B), A=B, 'chr unlock'(A), 'chr unlock'(B), !, ( var(C) -> true ; C=suspension(_,I,_,_,_,J,K), setarg(2,C,removed), ( I==not_stored_yet -> D=[] ; term_variables(term(J,K),D), arg(5,C,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(5,H,_) ; true ) ; E=[_,_|G], setarg(2,E,G), ( G=[H|_] -> setarg(5,H,E) ; true ) ), 'detach_known/1_1_$special_\\=/2___2'(D,C) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_\\=/2___2__0'(A,B,C) :- B==A, !, ( var(C) -> true ; C=suspension(_,I,_,_,_,J,K), setarg(2,C,removed), ( I==not_stored_yet -> D=[] ; term_variables(term(J,K),D), arg(5,C,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(5,H,_) ; true ) ; E=[_,_|G], setarg(2,E,G), ( G=[H|_] -> setarg(5,H,E) ; true ) ), 'detach_known/1_1_$special_\\=/2___2'(D,C) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_\\=/2___2__0'(A,B,C) :- nonvar(B), ( var(A), 'chr lock'(B), functor(B,D,E), E>0, 'chr unlock'(B), !, ( var(C) -> true ; C=suspension(_,C1,_,_,_,D1,E1), setarg(2,C,removed), ( C1==not_stored_yet -> K=[] ; term_variables(term(D1,E1),K), arg(5,C,Y), ( var(Y) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',Z), Z=[_|A1], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',A1), ( A1=[B1|_] -> setarg(5,B1,_) ; true ) ; Y=[_,_|A1], setarg(2,Y,A1), ( A1=[B1|_] -> setarg(5,B1,Y) ; true ) ), 'detach_known/1_1_$special_\\=/2___2'(K,C) ) ), length(F,E), B=..[D|G], H=..[D|F], add_args_nunif(G,F,I), J=(\+functor(A,D,E);A=H,I), known(J) ; nonvar(A), 'chr lock'(A), functor(A,L,M), 'chr unlock'(A), !, ( var(C) -> true ; C=suspension(_,V,_,_,_,W,X), setarg(2,C,removed), ( V==not_stored_yet -> Q=[] ; term_variables(term(W,X),Q), arg(5,C,R), ( var(R) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',S), S=[_|T], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',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_\\=/2___2'(Q,C) ) ), ( functor(B,L,M) -> A=..[L|N], B=..[L|O], add_args_nunif(N,O,P), known(P) ; true ) ). 'known/1_1_$special_\\=/2___2__0'(A,B,C) :- ( var(C) -> C=suspension(F,not_stored_yet,t,0,_,A,B), 'chr gen_id'(F) ; true ), ( '$novel_production'(C,182), !, '$extend_history'(C,182), arg(2,C,H), setarg(2,C,active), arg(4,C,G), E is G+1, setarg(4,C,E), ( H==not_stored_yet -> C=suspension(_,_,_,_,_,I,J), term_variables(term(I,J),D), 'chr none_locked'(D), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',K), L=[C|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'(D,C) ; true ), 'known/1_1_$special_\\=/2'(B,A), ( C=suspension(_,active,_,E,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_\\=/2___2__1'(A,B,C) ; true ) ; 'known/1_1_$special_\\=/2___2__1'(A,B,C) ). 'known/1_1_$special_\\=/2___2__1'(A,B,C) :- ( 'chr newvia_2'(A,B,G) -> get_attr(G,guard_entailment,H), H=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,F,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',F) ), 'chr sbag_member'(D,F), D=suspension(_,active,_,_,E), nonvar(E), E=(I\=J), I==A, J==B, !, D=suspension(_,_,_,_,X), setarg(2,D,removed), term_variables(X,K), arg(4,D,T), ( var(T) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',U), U=[_|V], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',V), ( V=[W|_] -> setarg(4,W,_) ; true ) ; T=[_,_|V], setarg(2,T,V), ( V=[W|_] -> setarg(4,W,T) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(K,D), ( var(C) -> true ; C=suspension(_,Q,_,_,_,R,S), setarg(2,C,removed), ( Q==not_stored_yet -> L=[] ; term_variables(term(R,S),L), arg(5,C,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(5,P,_) ; true ) ; M=[_,_|O], setarg(2,M,O), ( O=[P|_] -> setarg(5,P,M) ; true ) ), 'detach_known/1_1_$special_\\=/2___2'(L,C) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_\\=/2___2__1'(A,B,C) :- ( 'chr newvia_2'(A,B,E) -> get_attr(E,guard_entailment,F), F=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__11'(D,A,B,C). 'known/1_1_$special_\\=/2___2__1__0__11'([],B,C,A) :- 'known/1_1_$special_\\=/2___2__2'(B,C,A). 'known/1_1_$special_\\=/2___2__1__0__11'([F|J],A,B,C) :- ( F=suspension(_,active,_,_,D,E), nonvar(D), D=(\+G), nonvar(G), G=(H\=I), H==A, I==B -> F=suspension(_,_,_,_,Y,Z), setarg(2,F,removed), term_variables(term(Y,Z),K), arg(4,F,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'(K,F), arg(2,C,O), setarg(2,C,active), arg(4,C,N), M is N+1, setarg(4,C,M), ( O==not_stored_yet -> C=suspension(_,_,_,_,_,P,Q), term_variables(term(P,Q),L), 'chr none_locked'(L), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',R), S=[C|R], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',S), ( R=[T|_] -> setarg(5,T,S) ; true ), 'attach_known/1_1_$special_\\=/2___2'(L,C) ; true ), known(E), ( C=suspension(_,active,_,M,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_\\=/2___2__1__0__11'(J,A,B,C) ; true ) ; 'known/1_1_$special_\\=/2___2__1__0__11'(J,A,B,C) ). '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,C) :- ( 'chr newvia_2'(A,B,E) -> get_attr(E,guard_entailment,F), F=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__12'(D,A,B,C). 'known/1_1_$special_\\=/2___2__2__0__12'([],B,C,A) :- 'known/1_1_$special_\\=/2___2__3'(B,C,A). 'known/1_1_$special_\\=/2___2__2__0__12'([F|K],A,B,C) :- ( F=suspension(_,active,_,_,D,E), nonvar(D), D=(G,_), nonvar(G), G=(\+H), nonvar(H), H=(I\=J), I==A, J==B -> F=suspension(_,_,_,_,Z,A1), setarg(2,F,removed), term_variables(term(Z,A1),L), arg(4,F,V), ( var(V) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',W), W=[_|X], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',X), ( X=[Y|_] -> setarg(4,Y,_) ; true ) ; V=[_,_|X], setarg(2,V,X), ( X=[Y|_] -> setarg(4,Y,V) ; true ) ), 'detach_known/1_1_$special_;/2___2'(L,F), arg(2,C,P), setarg(2,C,active), arg(4,C,O), N is O+1, setarg(4,C,N), ( P==not_stored_yet -> C=suspension(_,_,_,_,_,Q,R), term_variables(term(Q,R),M), 'chr none_locked'(M), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',S), T=[C|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\=/2___2',T), ( S=[U|_] -> setarg(5,U,T) ; true ), 'attach_known/1_1_$special_\\=/2___2'(M,C) ; true ), known(E), ( C=suspension(_,active,_,N,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_\\=/2___2__2__0__12'(K,A,B,C) ; true ) ; 'known/1_1_$special_\\=/2___2__2__0__12'(K,A,B,C) ). '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,E), setarg(2,A,active), arg(4,A,D), C is D+1, setarg(4,A,C), ( E==not_stored_yet -> A=suspension(_,_,_,_,_,F,G), term_variables(term(F,G),B), 'chr none_locked'(B), 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'(B,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,C) :- ( 'chr newvia_2'(A,B,H) -> get_attr(H,guard_entailment,I), I=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,G,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',G) ), 'chr sbag_member'(D,G), D=suspension(_,active,_,_,E,F), E==A, F==B, !, ( var(C) -> true ; C=suspension(_,O,_,_,P,Q), setarg(2,C,removed), ( O==not_stored_yet -> J=[] ; term_variables(term(P,Q),J), arg(4,C,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'(J,C) ) ). 'known/1_1_$special_=/2___2__0'(_,_,A) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',C), 'chr sbag_member'(B,C), B=suspension(_,active,_), !, ( var(A) -> true ; A=suspension(_,I,_,_,J,K), setarg(2,A,removed), ( I==not_stored_yet -> D=[] ; term_variables(term(J,K),D), arg(4,A,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'(D,A) ) ). 'known/1_1_$special_=/2___2__0'(A,B,C) :- B==A, !, ( var(C) -> true ; C=suspension(_,I,_,_,J,K), setarg(2,C,removed), ( I==not_stored_yet -> D=[] ; term_variables(term(J,K),D), arg(4,C,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'(D,C) ) ). 'known/1_1_$special_=/2___2__0'(A,B,C) :- var(A), !, ( var(C) -> true ; C=suspension(_,I,_,_,J,K), setarg(2,C,removed), ( I==not_stored_yet -> D=[] ; term_variables(term(J,K),D), arg(4,C,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'(D,C) ) ), A=B. 'known/1_1_$special_=/2___2__0'(A,B,C) :- var(B), !, ( var(C) -> true ; C=suspension(_,I,_,_,J,K), setarg(2,C,removed), ( I==not_stored_yet -> D=[] ; term_variables(term(J,K),D), arg(4,C,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'(D,C) ) ), A=B. 'known/1_1_$special_=/2___2__0'(A,B,C) :- 'chr lock'(A), functor(A,D,E), 'chr unlock'(A), !, ( var(C) -> true ; C=suspension(_,K,_,_,L,M), setarg(2,C,removed), ( K==not_stored_yet -> F=[] ; term_variables(term(L,M),F), arg(4,C,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,C) ) ), ( functor(B,D,E), A=B -> true ; 'known/1_1_$special_fail/0' ). 'known/1_1_$special_=/2___2__0'(A,B,C) :- ( 'chr newvia_2'(A,B,G) -> get_attr(G,guard_entailment,H), H=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,F,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',F) ), 'chr sbag_member'(D,F), D=suspension(_,active,_,_,E), nonvar(E), E=(I=J), I==A, J==B, !, D=suspension(_,_,_,_,X), setarg(2,D,removed), term_variables(X,K), arg(4,D,T), ( var(T) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',U), U=[_|V], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',V), ( V=[W|_] -> setarg(4,W,_) ; true ) ; T=[_,_|V], setarg(2,T,V), ( V=[W|_] -> setarg(4,W,T) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(K,D), ( var(C) -> true ; C=suspension(_,Q,_,_,R,S), setarg(2,C,removed), ( Q==not_stored_yet -> L=[] ; term_variables(term(R,S),L), arg(4,C,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,C) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_=/2___2__0'(A,B,C) :- ( 'chr newvia_2'(A,B,E) -> get_attr(E,guard_entailment,F), F=v(_,_,_,D,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',D) ), !, ( var(C) -> C=suspension(G,not_stored_yet,0,_,A,B), 'chr gen_id'(G) ; true ), 'known/1_1_$special_=/2___2__0__0__10'(D,A,B,C). 'known/1_1_$special_=/2___2__0__0__10'([],B,C,A) :- 'known/1_1_$special_=/2___2__1'(B,C,A). 'known/1_1_$special_=/2___2__0__0__10'([F|J],A,B,C) :- ( F=suspension(_,active,_,_,D,E), nonvar(D), D=(\+G), nonvar(G), G=(H=I), H==A, I==B -> F=suspension(_,_,_,_,Y,Z), setarg(2,F,removed), term_variables(term(Y,Z),K), arg(4,F,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'(K,F), arg(2,C,O), setarg(2,C,active), arg(3,C,N), M is N+1, setarg(3,C,M), ( O==not_stored_yet -> C=suspension(_,_,_,_,P,Q), term_variables(term(P,Q),L), 'chr none_locked'(L), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',R), S=[C|R], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',S), ( R=[T|_] -> setarg(4,T,S) ; true ), 'attach_known/1_1_$special_=/2___2'(L,C) ; true ), known(E), ( C=suspension(_,active,M,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_=/2___2__0__0__10'(J,A,B,C) ; true ) ; 'known/1_1_$special_=/2___2__0__0__10'(J,A,B,C) ). 'known/1_1_$special_=/2___2__0'(A,B,C) :- ( var(C) -> C=suspension(D,not_stored_yet,0,_,A,B), 'chr gen_id'(D) ; true ), 'known/1_1_$special_=/2___2__1'(A,B,C). 'known/1_1_$special_=/2___2__1'(A,B,C) :- ( 'chr newvia_2'(A,B,E) -> get_attr(E,guard_entailment,F), F=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__11'(D,A,B,C). 'known/1_1_$special_=/2___2__1__0__11'([],B,C,A) :- 'known/1_1_$special_=/2___2__2'(B,C,A). 'known/1_1_$special_=/2___2__1__0__11'([F|K],A,B,C) :- ( F=suspension(_,active,_,_,D,E), nonvar(D), D=(G,_), nonvar(G), G=(\+H), nonvar(H), H=(I=J), I==A, J==B -> F=suspension(_,_,_,_,Z,A1), setarg(2,F,removed), term_variables(term(Z,A1),L), arg(4,F,V), ( var(V) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',W), W=[_|X], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',X), ( X=[Y|_] -> setarg(4,Y,_) ; true ) ; V=[_,_|X], setarg(2,V,X), ( X=[Y|_] -> setarg(4,Y,V) ; true ) ), 'detach_known/1_1_$special_;/2___2'(L,F), arg(2,C,P), setarg(2,C,active), arg(3,C,O), N is O+1, setarg(3,C,N), ( P==not_stored_yet -> C=suspension(_,_,_,_,Q,R), term_variables(term(Q,R),M), 'chr none_locked'(M), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',S), T=[C|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=/2___2',T), ( S=[U|_] -> setarg(4,U,T) ; true ), 'attach_known/1_1_$special_=/2___2'(M,C) ; true ), known(E), ( C=suspension(_,active,N,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_=/2___2__1__0__11'(K,A,B,C) ; true ) ; 'known/1_1_$special_=/2___2__1__0__11'(K,A,B,C) ). '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,E), setarg(2,A,active), arg(3,A,D), C is D+1, setarg(3,A,C), ( E==not_stored_yet -> A=suspension(_,_,_,_,F,G), term_variables(term(F,G),B), 'chr none_locked'(B), 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'(B,A) ; true ). 'known/1_1_$special_,/2'(_,_) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',B), 'chr sbag_member'(A,B), A=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,C) :- ( 'chr newvia_2'(A,B,H) -> get_attr(H,guard_entailment,I), I=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,G,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',G) ), 'chr sbag_member'(D,G), D=suspension(_,active,_,_,_,E,F), E==A, F==B, !, ( var(C) -> true ; C=suspension(_,O,_,_,_,P,Q), setarg(2,C,removed), ( O==not_stored_yet -> J=[] ; term_variables(term(P,Q),J), arg(5,C,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'(J,C) ) ). 'known/1_1_$special_\\==/2___2__0'(A,B,C) :- ( var(C) -> C=suspension(F,not_stored_yet,t,0,_,A,B), 'chr gen_id'(F) ; true ), ( '$novel_production'(C,138), number(A), !, '$extend_history'(C,138), arg(2,C,H), setarg(2,C,active), arg(4,C,G), E is G+1, setarg(4,C,E), ( H==not_stored_yet -> C=suspension(_,_,_,_,_,I,J), term_variables(term(I,J),D), 'chr none_locked'(D), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',K), L=[C|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'(D,C) ; true ), 'known/1_1_$special_=\\=/2'(A,B), ( C=suspension(_,active,_,E,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_\\==/2___2__1'(A,B,C) ; true ) ; 'known/1_1_$special_\\==/2___2__1'(A,B,C) ). 'known/1_1_$special_\\==/2___2__1'(A,B,C) :- '$novel_production'(C,139), number(B), !, '$extend_history'(C,139), arg(2,C,G), setarg(2,C,active), arg(4,C,F), E is F+1, setarg(4,C,E), ( G==not_stored_yet -> C=suspension(_,_,_,_,_,H,I), term_variables(term(H,I),D), 'chr none_locked'(D), 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'(D,C) ; true ), 'known/1_1_$special_=\\=/2'(A,B), ( C=suspension(_,active,_,E,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_\\==/2___2__2'(A,B,C) ; 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'(_,_,A) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',C), 'chr sbag_member'(B,C), B=suspension(_,active,_), !, ( var(A) -> true ; A=suspension(_,I,_,_,_,J,K), setarg(2,A,removed), ( I==not_stored_yet -> D=[] ; term_variables(term(J,K),D), arg(5,A,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(5,H,_) ; true ) ; E=[_,_|G], setarg(2,E,G), ( G=[H|_] -> setarg(5,H,E) ; true ) ), 'detach_known/1_1_$special_\\==/2___2'(D,A) ) ). 'known/1_1_$special_\\==/2___2__2'(A,B,C) :- ( 'chr newvia_2'(A,B,G) -> get_attr(G,guard_entailment,H), H=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,F,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',F) ), 'chr sbag_member'(D,F), D=suspension(_,active,_,_,E), nonvar(E), E=(I\==J), I==A, J==B, !, D=suspension(_,_,_,_,X), setarg(2,D,removed), term_variables(X,K), arg(4,D,T), ( var(T) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',U), U=[_|V], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',V), ( V=[W|_] -> setarg(4,W,_) ; true ) ; T=[_,_|V], setarg(2,T,V), ( V=[W|_] -> setarg(4,W,T) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(K,D), ( var(C) -> true ; C=suspension(_,Q,_,_,_,R,S), setarg(2,C,removed), ( Q==not_stored_yet -> L=[] ; term_variables(term(R,S),L), arg(5,C,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(5,P,_) ; true ) ; M=[_,_|O], setarg(2,M,O), ( O=[P|_] -> setarg(5,P,M) ; true ) ), 'detach_known/1_1_$special_\\==/2___2'(L,C) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_\\==/2___2__2'(A,B,C) :- ( 'chr newvia_2'(A,B,H) -> get_attr(H,guard_entailment,I), I=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,G,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',G) ), 'chr sbag_member'(D,G), D=suspension(_,active,_,_,_,E,F), E==A, F==B, !, D=suspension(_,_,_,_,_,W,X), setarg(2,D,removed), term_variables(term(W,X),J), arg(5,D,S), ( var(S) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',T), T=[_|U], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',U), ( U=[V|_] -> setarg(5,V,_) ; true ) ; S=[_,_|U], setarg(2,S,U), ( U=[V|_] -> setarg(5,V,S) ; true ) ), 'detach_known/1_1_$special_==/2___2'(J,D), ( var(C) -> true ; C=suspension(_,P,_,_,_,Q,R), setarg(2,C,removed), ( P==not_stored_yet -> K=[] ; term_variables(term(Q,R),K), arg(5,C,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(5,O,_) ; true ) ; L=[_,_|N], setarg(2,L,N), ( N=[O|_] -> setarg(5,O,L) ; true ) ), 'detach_known/1_1_$special_\\==/2___2'(K,C) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_\\==/2___2__2'(A,B,C) :- ( 'chr newvia_1'(A,E) -> get_attr(E,guard_entailment,F), F=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,B,C). 'known/1_1_$special_\\==/2___2__2__0__9'([],B,C,A) :- 'known/1_1_$special_\\==/2___2__3'(B,C,A). 'known/1_1_$special_\\==/2___2__2__0__9'([F|G],B,C,A) :- ( F=suspension(_,active,_,_,_,D,E), E==B, J=t(229,F,A), '$novel_production'(F,J), '$novel_production'(A,J) -> '$extend_history'(A,J), arg(2,A,L), setarg(2,A,active), arg(4,A,K), I is K+1, setarg(4,A,I), ( L==not_stored_yet -> A=suspension(_,_,_,_,_,M,N), term_variables(term(M,N),H), 'chr none_locked'(H), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',O), P=[A|O], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',P), ( O=[Q|_] -> setarg(5,Q,P) ; true ), 'attach_known/1_1_$special_\\==/2___2'(H,A) ; true ), 'known/1_1_$special_\\==/2'(D,C), ( A=suspension(_,active,_,I,_,_,_) -> setarg(2,A,inactive), 'known/1_1_$special_\\==/2___2__2__0__9'(G,B,C,A) ; true ) ; 'known/1_1_$special_\\==/2___2__2__0__9'(G,B,C,A) ). '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,C) :- '$novel_production'(C,231), !, '$extend_history'(C,231), arg(2,C,G), setarg(2,C,active), arg(4,C,F), E is F+1, setarg(4,C,E), ( G==not_stored_yet -> C=suspension(_,_,_,_,_,H,I), term_variables(term(H,I),D), 'chr none_locked'(D), 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'(D,C) ; true ), 'known/1_1_$special_\\==/2'(B,A), ( C=suspension(_,active,_,E,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_\\==/2___2__4'(A,B,C) ; 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'(A,B,C) :- B==A, '$novel_production'(C,232), !, '$extend_history'(C,232), arg(2,C,G), setarg(2,C,active), arg(4,C,F), E is F+1, setarg(4,C,E), ( G==not_stored_yet -> C=suspension(_,_,_,_,_,H,I), term_variables(term(H,I),D), 'chr none_locked'(D), 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'(D,C) ; true ), 'known/1_1_$special_fail/0', ( C=suspension(_,active,_,E,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_\\==/2___2__5'(A,B,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'(A,B,C) :- nonvar(B), nonvar(A), 'chr lock'(A), functor(A,D,E), 'chr unlock'(A), !, ( var(C) -> true ; C=suspension(_,N,_,_,_,O,P), setarg(2,C,removed), ( N==not_stored_yet -> I=[] ; term_variables(term(O,P),I), arg(5,C,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(5,M,_) ; true ) ; J=[_,_|L], setarg(2,J,L), ( L=[M|_] -> setarg(5,M,J) ; true ) ), 'detach_known/1_1_$special_\\==/2___2'(I,C) ) ), ( functor(B,D,E) -> A=..[D|F], B=..[D|G], add_args_nmatch(F,G,H), known(H) ; true ). 'known/1_1_$special_\\==/2___2__5'(A,B,C) :- ( 'chr newvia_2'(A,B,E) -> get_attr(E,guard_entailment,F), F=v(_,_,_,D,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',D) ), !, 'known/1_1_$special_\\==/2___2__5__0__13'(D,A,B,C). 'known/1_1_$special_\\==/2___2__5__0__13'([],B,C,A) :- 'known/1_1_$special_\\==/2___2__6'(B,C,A). 'known/1_1_$special_\\==/2___2__5__0__13'([F|J],A,B,C) :- ( F=suspension(_,active,_,_,D,E), nonvar(D), D=(\+G), nonvar(G), G=(H\==I), H==A, I==B -> F=suspension(_,_,_,_,Y,Z), setarg(2,F,removed), term_variables(term(Y,Z),K), arg(4,F,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'(K,F), arg(2,C,O), setarg(2,C,active), arg(4,C,N), M is N+1, setarg(4,C,M), ( O==not_stored_yet -> C=suspension(_,_,_,_,_,P,Q), term_variables(term(P,Q),L), 'chr none_locked'(L), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',R), S=[C|R], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',S), ( R=[T|_] -> setarg(5,T,S) ; true ), 'attach_known/1_1_$special_\\==/2___2'(L,C) ; true ), known(E), ( C=suspension(_,active,_,M,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_\\==/2___2__5__0__13'(J,A,B,C) ; true ) ; 'known/1_1_$special_\\==/2___2__5__0__13'(J,A,B,C) ). '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,C) :- ( 'chr newvia_2'(A,B,E) -> get_attr(E,guard_entailment,F), F=v(_,_,_,D,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',D) ), !, 'known/1_1_$special_\\==/2___2__6__0__14'(D,A,B,C). 'known/1_1_$special_\\==/2___2__6__0__14'([],B,C,A) :- 'known/1_1_$special_\\==/2___2__7'(B,C,A). 'known/1_1_$special_\\==/2___2__6__0__14'([F|K],A,B,C) :- ( F=suspension(_,active,_,_,D,E), nonvar(D), D=(G,_), nonvar(G), G=(\+H), nonvar(H), H=(I\==J), I==A, J==B -> F=suspension(_,_,_,_,Z,A1), setarg(2,F,removed), term_variables(term(Z,A1),L), arg(4,F,V), ( var(V) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',W), W=[_|X], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',X), ( X=[Y|_] -> setarg(4,Y,_) ; true ) ; V=[_,_|X], setarg(2,V,X), ( X=[Y|_] -> setarg(4,Y,V) ; true ) ), 'detach_known/1_1_$special_;/2___2'(L,F), arg(2,C,P), setarg(2,C,active), arg(4,C,O), N is O+1, setarg(4,C,N), ( P==not_stored_yet -> C=suspension(_,_,_,_,_,Q,R), term_variables(term(Q,R),M), 'chr none_locked'(M), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',S), T=[C|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',T), ( S=[U|_] -> setarg(5,U,T) ; true ), 'attach_known/1_1_$special_\\==/2___2'(M,C) ; true ), known(E), ( C=suspension(_,active,_,N,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_\\==/2___2__6__0__14'(K,A,B,C) ; true ) ; 'known/1_1_$special_\\==/2___2__6__0__14'(K,A,B,C) ). '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,E), setarg(2,A,active), arg(4,A,D), C is D+1, setarg(4,A,C), ( E==not_stored_yet -> A=suspension(_,_,_,_,_,F,G), term_variables(term(F,G),B), 'chr none_locked'(B), 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'(B,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,C) :- ( 'chr newvia_2'(A,B,H) -> get_attr(H,guard_entailment,I), I=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,G,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',G) ), 'chr sbag_member'(D,G), D=suspension(_,active,_,_,_,E,F), E==A, F==B, !, ( var(C) -> true ; C=suspension(_,O,_,_,_,P,Q), setarg(2,C,removed), ( O==not_stored_yet -> J=[] ; term_variables(term(P,Q),J), arg(5,C,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'(J,C) ) ). 'known/1_1_$special_==/2___2__0'(A,B,C) :- ( var(C) -> C=suspension(F,not_stored_yet,t,0,_,A,B), 'chr gen_id'(F) ; true ), ( '$novel_production'(C,136), number(A), !, '$extend_history'(C,136), arg(2,C,H), setarg(2,C,active), arg(4,C,G), E is G+1, setarg(4,C,E), ( H==not_stored_yet -> C=suspension(_,_,_,_,_,I,J), term_variables(term(I,J),D), 'chr none_locked'(D), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',K), L=[C|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'(D,C) ; true ), 'known/1_1_$special_=:=/2'(A,B), ( C=suspension(_,active,_,E,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_==/2___2__1'(A,B,C) ; true ) ; 'known/1_1_$special_==/2___2__1'(A,B,C) ). 'known/1_1_$special_==/2___2__1'(A,B,C) :- '$novel_production'(C,137), number(B), !, '$extend_history'(C,137), arg(2,C,G), setarg(2,C,active), arg(4,C,F), E is F+1, setarg(4,C,E), ( G==not_stored_yet -> C=suspension(_,_,_,_,_,H,I), term_variables(term(H,I),D), 'chr none_locked'(D), 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'(D,C) ; true ), 'known/1_1_$special_=:=/2'(A,B), ( C=suspension(_,active,_,E,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_==/2___2__2'(A,B,C) ; 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'(_,_,A) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',C), 'chr sbag_member'(B,C), B=suspension(_,active,_), !, ( var(A) -> true ; A=suspension(_,I,_,_,_,J,K), setarg(2,A,removed), ( I==not_stored_yet -> D=[] ; term_variables(term(J,K),D), arg(5,A,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(5,H,_) ; true ) ; E=[_,_|G], setarg(2,E,G), ( G=[H|_] -> setarg(5,H,E) ; true ) ), 'detach_known/1_1_$special_==/2___2'(D,A) ) ). 'known/1_1_$special_==/2___2__2'(A,B,C) :- B==A, !, ( var(C) -> true ; C=suspension(_,I,_,_,_,J,K), setarg(2,C,removed), ( I==not_stored_yet -> D=[] ; term_variables(term(J,K),D), arg(5,C,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(5,H,_) ; true ) ; E=[_,_|G], setarg(2,E,G), ( G=[H|_] -> setarg(5,H,E) ; true ) ), 'detach_known/1_1_$special_==/2___2'(D,C) ) ). 'known/1_1_$special_==/2___2__2'(A,B,C) :- ( 'chr newvia_2'(A,B,G) -> get_attr(G,guard_entailment,H), H=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,F,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',F) ), 'chr sbag_member'(D,F), D=suspension(_,active,_,_,E), nonvar(E), E=(I==J), I==A, J==B, !, D=suspension(_,_,_,_,X), setarg(2,D,removed), term_variables(X,K), arg(4,D,T), ( var(T) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',U), U=[_|V], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',V), ( V=[W|_] -> setarg(4,W,_) ; true ) ; T=[_,_|V], setarg(2,T,V), ( V=[W|_] -> setarg(4,W,T) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(K,D), ( var(C) -> true ; C=suspension(_,Q,_,_,_,R,S), setarg(2,C,removed), ( Q==not_stored_yet -> L=[] ; term_variables(term(R,S),L), arg(5,C,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(5,P,_) ; true ) ; M=[_,_|O], setarg(2,M,O), ( O=[P|_] -> setarg(5,P,M) ; true ) ), 'detach_known/1_1_$special_==/2___2'(L,C) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_==/2___2__2'(A,B,C) :- ( 'chr newvia_2'(A,B,H) -> get_attr(H,guard_entailment,I), I=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,G,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',G) ), 'chr sbag_member'(D,G), D=suspension(_,active,_,_,_,E,F), E==A, F==B, !, D=suspension(_,_,_,_,_,W,X), setarg(2,D,removed), term_variables(term(W,X),J), arg(5,D,S), ( var(S) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',T), T=[_|U], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\==/2___2',U), ( U=[V|_] -> setarg(5,V,_) ; true ) ; S=[_,_|U], setarg(2,S,U), ( U=[V|_] -> setarg(5,V,S) ; true ) ), 'detach_known/1_1_$special_\\==/2___2'(J,D), ( var(C) -> true ; C=suspension(_,P,_,_,_,Q,R), setarg(2,C,removed), ( P==not_stored_yet -> K=[] ; term_variables(term(Q,R),K), arg(5,C,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(5,O,_) ; true ) ; L=[_,_|N], setarg(2,L,N), ( N=[O|_] -> setarg(5,O,L) ; true ) ), 'detach_known/1_1_$special_==/2___2'(K,C) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_==/2___2__2'(A,B,C) :- ( 'chr newvia_1'(B,E) -> get_attr(E,guard_entailment,F), F=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,A,B,C). 'known/1_1_$special_==/2___2__2__0__10'([],B,C,A) :- 'known/1_1_$special_==/2___2__3'(B,C,A). 'known/1_1_$special_==/2___2__2__0__10'([F|G],B,C,A) :- ( F=suspension(_,active,_,_,_,D,E), D==C, J=t(228,A,F), '$novel_production'(A,J), '$novel_production'(F,J) -> '$extend_history'(A,J), arg(2,A,L), setarg(2,A,active), arg(4,A,K), I is K+1, setarg(4,A,I), ( L==not_stored_yet -> A=suspension(_,_,_,_,_,M,N), term_variables(term(M,N),H), 'chr none_locked'(H), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',O), P=[A|O], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',P), ( O=[Q|_] -> setarg(5,Q,P) ; true ), 'attach_known/1_1_$special_==/2___2'(H,A) ; true ), 'known/1_1_$special_==/2'(B,E), ( A=suspension(_,active,_,I,_,_,_) -> setarg(2,A,inactive), 'known/1_1_$special_==/2___2__2__0__10'(G,B,C,A) ; true ) ; 'known/1_1_$special_==/2___2__2__0__10'(G,B,C,A) ). '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,C) :- ( 'chr newvia_1'(A,E) -> get_attr(E,guard_entailment,F), F=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,B,C). 'known/1_1_$special_==/2___2__3__0__11'([],B,C,A) :- 'known/1_1_$special_==/2___2__4'(B,C,A). 'known/1_1_$special_==/2___2__3__0__11'([F|G],B,C,A) :- ( F=suspension(_,active,_,_,_,D,E), E==B, J=t(228,F,A), '$novel_production'(F,J), '$novel_production'(A,J) -> '$extend_history'(A,J), arg(2,A,L), setarg(2,A,active), arg(4,A,K), I is K+1, setarg(4,A,I), ( L==not_stored_yet -> A=suspension(_,_,_,_,_,M,N), term_variables(term(M,N),H), 'chr none_locked'(H), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',O), P=[A|O], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',P), ( O=[Q|_] -> setarg(5,Q,P) ; true ), 'attach_known/1_1_$special_==/2___2'(H,A) ; true ), 'known/1_1_$special_==/2'(D,C), ( A=suspension(_,active,_,I,_,_,_) -> setarg(2,A,inactive), 'known/1_1_$special_==/2___2__3__0__11'(G,B,C,A) ; true ) ; 'known/1_1_$special_==/2___2__3__0__11'(G,B,C,A) ). '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,C) :- ( 'chr newvia_1'(B,E) -> get_attr(E,guard_entailment,F), F=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,A,B,C). 'known/1_1_$special_==/2___2__4__0__12'([],B,C,A) :- 'known/1_1_$special_==/2___2__5'(B,C,A). 'known/1_1_$special_==/2___2__4__0__12'([F|G],B,C,A) :- ( F=suspension(_,active,_,_,_,D,E), D==C, J=t(229,A,F), '$novel_production'(A,J), '$novel_production'(F,J) -> '$extend_history'(A,J), arg(2,A,L), setarg(2,A,active), arg(4,A,K), I is K+1, setarg(4,A,I), ( L==not_stored_yet -> A=suspension(_,_,_,_,_,M,N), term_variables(term(M,N),H), 'chr none_locked'(H), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',O), P=[A|O], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',P), ( O=[Q|_] -> setarg(5,Q,P) ; true ), 'attach_known/1_1_$special_==/2___2'(H,A) ; true ), 'known/1_1_$special_\\==/2'(B,E), ( A=suspension(_,active,_,I,_,_,_) -> setarg(2,A,inactive), 'known/1_1_$special_==/2___2__4__0__12'(G,B,C,A) ; true ) ; 'known/1_1_$special_==/2___2__4__0__12'(G,B,C,A) ). '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,B,C) :- '$novel_production'(C,230), !, '$extend_history'(C,230), arg(2,C,G), setarg(2,C,active), arg(4,C,F), E is F+1, setarg(4,C,E), ( G==not_stored_yet -> C=suspension(_,_,_,_,_,H,I), term_variables(term(H,I),D), 'chr none_locked'(D), 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'(D,C) ; true ), 'known/1_1_$special_==/2'(B,A), ( C=suspension(_,active,_,E,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_==/2___2__6'(A,B,C) ; 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'(A,B,C) :- '$novel_production'(C,234), !, '$extend_history'(C,234), arg(2,C,G), setarg(2,C,active), arg(4,C,F), E is F+1, setarg(4,C,E), ( G==not_stored_yet -> C=suspension(_,_,_,_,_,H,I), term_variables(term(H,I),D), 'chr none_locked'(D), 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'(D,C) ; true ), 'known/1_1_$special_=/2'(A,B), ( C=suspension(_,active,_,E,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_==/2___2__7'(A,B,C) ; 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,C) :- ( 'chr newvia_2'(A,B,E) -> get_attr(E,guard_entailment,F), F=v(_,_,_,D,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',D) ), !, 'known/1_1_$special_==/2___2__7__0__15'(D,A,B,C). 'known/1_1_$special_==/2___2__7__0__15'([],B,C,A) :- 'known/1_1_$special_==/2___2__8'(B,C,A). 'known/1_1_$special_==/2___2__7__0__15'([F|J],A,B,C) :- ( F=suspension(_,active,_,_,D,E), nonvar(D), D=(\+G), nonvar(G), G=(H==I), H==A, I==B -> F=suspension(_,_,_,_,Y,Z), setarg(2,F,removed), term_variables(term(Y,Z),K), arg(4,F,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'(K,F), arg(2,C,O), setarg(2,C,active), arg(4,C,N), M is N+1, setarg(4,C,M), ( O==not_stored_yet -> C=suspension(_,_,_,_,_,P,Q), term_variables(term(P,Q),L), 'chr none_locked'(L), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',R), S=[C|R], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',S), ( R=[T|_] -> setarg(5,T,S) ; true ), 'attach_known/1_1_$special_==/2___2'(L,C) ; true ), known(E), ( C=suspension(_,active,_,M,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_==/2___2__7__0__15'(J,A,B,C) ; true ) ; 'known/1_1_$special_==/2___2__7__0__15'(J,A,B,C) ). '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,C) :- ( 'chr newvia_2'(A,B,E) -> get_attr(E,guard_entailment,F), F=v(_,_,_,D,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',D) ), !, 'known/1_1_$special_==/2___2__8__0__16'(D,A,B,C). 'known/1_1_$special_==/2___2__8__0__16'([],B,C,A) :- 'known/1_1_$special_==/2___2__9'(B,C,A). 'known/1_1_$special_==/2___2__8__0__16'([F|K],A,B,C) :- ( F=suspension(_,active,_,_,D,E), nonvar(D), D=(G,_), nonvar(G), G=(\+H), nonvar(H), H=(I==J), I==A, J==B -> F=suspension(_,_,_,_,Z,A1), setarg(2,F,removed), term_variables(term(Z,A1),L), arg(4,F,V), ( var(V) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',W), W=[_|X], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',X), ( X=[Y|_] -> setarg(4,Y,_) ; true ) ; V=[_,_|X], setarg(2,V,X), ( X=[Y|_] -> setarg(4,Y,V) ; true ) ), 'detach_known/1_1_$special_;/2___2'(L,F), arg(2,C,P), setarg(2,C,active), arg(4,C,O), N is O+1, setarg(4,C,N), ( P==not_stored_yet -> C=suspension(_,_,_,_,_,Q,R), term_variables(term(Q,R),M), 'chr none_locked'(M), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',S), T=[C|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_==/2___2',T), ( S=[U|_] -> setarg(5,U,T) ; true ), 'attach_known/1_1_$special_==/2___2'(M,C) ; true ), known(E), ( C=suspension(_,active,_,N,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_==/2___2__8__0__16'(K,A,B,C) ; true ) ; 'known/1_1_$special_==/2___2__8__0__16'(K,A,B,C) ). '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,E), setarg(2,A,active), arg(4,A,D), C is D+1, setarg(4,A,C), ( E==not_stored_yet -> A=suspension(_,_,_,_,_,F,G), term_variables(term(F,G),B), 'chr none_locked'(B), 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'(B,A) ; true ). 'known/1_1_$special_is/2'(A,B) :- 'known/1_1_$special_=:=/2'(A,B). 'known/1_1_$special_=/2'(A,B) :- 'known/1_1_$special_=/2'(A,B) :- 'known/1_1_$special_ get_attr(H,guard_entailment,I), I=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,G,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= true ; C=suspension(_,O,_,_,_,P,Q), setarg(2,C,removed), ( O==not_stored_yet -> J=[] ; term_variables(term(P,Q),J), arg(5,C,K), ( var(K) -> 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 ; A=suspension(_,I,_,_,_,J,K), setarg(2,A,removed), ( I==not_stored_yet -> D=[] ; term_variables(term(J,K),D), arg(5,A,E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5,H,_) ; true ) ; E=[_,_|G], setarg(2,E,G), ( G=[H|_] -> setarg(5,H,E) ; true ) ), 'detach_known/1_1_$special_= true ; C=suspension(_,I,_,_,_,J,K), setarg(2,C,removed), ( I==not_stored_yet -> D=[] ; term_variables(term(J,K),D), arg(5,C,E), ( var(E) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5,H,_) ; true ) ; E=[_,_|G], setarg(2,E,G), ( G=[H|_] -> setarg(5,H,E) ; true ) ), 'detach_known/1_1_$special_=B, !, ( var(C) -> true ; C=suspension(_,W,_,_,_,X,Y), setarg(2,C,removed), ( W==not_stored_yet -> D=[] ; term_variables(term(X,Y),D), arg(5,C,S), ( var(S) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5,V,_) ; true ) ; S=[_,_|U], setarg(2,S,U), ( U=[V|_] -> setarg(5,V,S) ; true ) ), 'detach_known/1_1_$special_= get_attr(I,guard_entailment,J), J=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,H,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= true ; C=suspension(_,P,_,_,_,Q,R), setarg(2,C,removed), ( P==not_stored_yet -> K=[] ; term_variables(term(Q,R),K), arg(5,C,L), ( var(L) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5,O,_) ; true ) ; L=[_,_|N], setarg(2,L,N), ( N=[O|_] -> setarg(5,O,L) ; true ) ), 'detach_known/1_1_$special_= get_attr(E,guard_entailment,F), F=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,D,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= F=suspension(_,_,_,_,_,M,N), setarg(2,F,removed), term_variables(term(M,N),H), arg(5,F,I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5,L,_) ; true ) ; I=[_,_|K], setarg(2,I,K), ( K=[L|_] -> setarg(5,L,I) ; true ) ), 'detach_known/1_1_$special_= get_attr(H,guard_entailment,I), I=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,G,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= true ; C=suspension(_,O,_,_,_,P,Q), setarg(2,C,removed), ( O==not_stored_yet -> J=[] ; term_variables(term(P,Q),J), arg(5,C,K), ( var(K) -> 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_= get_attr(E,guard_entailment,F), F=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,D,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= F=suspension(_,_,_,_,_,M,N), setarg(2,F,removed), term_variables(term(M,N),H), arg(5,F,I), ( var(I) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5,L,_) ; true ) ; I=[_,_|K], setarg(2,I,K), ( K=[L|_] -> setarg(5,L,I) ; true ) ), 'detach_known/1_1_$special_= get_attr(H,guard_entailment,I), I=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,G,_) ; 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,V,_) ; true ) ; S=[_,_|U], setarg(2,S,U), ( U=[V|_] -> setarg(5,V,S) ; true ) ), 'detach_known/1_1_$special_= true ; C=suspension(_,P,_,_,_,Q,R), setarg(2,C,removed), ( P==not_stored_yet -> K=[] ; term_variables(term(Q,R),K), arg(5,C,L), ( var(L) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5,O,_) ; true ) ; L=[_,_|N], setarg(2,L,N), ( N=[O|_] -> setarg(5,O,L) ; true ) ), 'detach_known/1_1_$special_= get_attr(E,guard_entailment,F), F=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,D,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= C=suspension(G,not_stored_yet,t,0,_,A,B), 'chr gen_id'(G) ; true ), 'known/1_1_$special_= '$extend_history'(A,J), arg(2,A,L), setarg(2,A,active), arg(4,A,K), I is K+1, setarg(4,A,I), ( L==not_stored_yet -> A=suspension(_,_,_,_,_,M,N), term_variables(term(M,N),H), 'chr none_locked'(H), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5,Q,P) ; true ), 'attach_known/1_1_$special_= setarg(2,A,inactive), 'known/1_1_$special_= C=suspension(D,not_stored_yet,t,0,_,A,B), 'chr gen_id'(D) ; true ), 'known/1_1_$special_= get_attr(E,guard_entailment,F), F=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,D,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= '$extend_history'(A,J), arg(2,A,L), setarg(2,A,active), arg(4,A,K), I is K+1, setarg(4,A,I), ( L==not_stored_yet -> A=suspension(_,_,_,_,_,M,N), term_variables(term(M,N),H), 'chr none_locked'(H), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5,Q,P) ; true ), 'attach_known/1_1_$special_= setarg(2,A,inactive), 'known/1_1_$special_= get_attr(E,guard_entailment,F), F=v(_,_,_,_,_,_,_,_,_,_,_,_,_,D,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',D) ), !, 'known/1_1_$special_= get_attr(H,guard_entailment,I), I=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,G,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= 'known/1_1_$special_= get_attr(K,guard_entailment,L), L=v(_,_,_,_,_,_,_,_,_,_,_,_,_,J,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',J) ) -> 'known/1_1_$special_= '$extend_history'(E,O), arg(2,E,Q), setarg(2,E,active), arg(4,E,P), N is P+1, setarg(4,E,N), ( Q==not_stored_yet -> E=suspension(_,_,_,_,_,R,S), term_variables(term(R,S),M), 'chr none_locked'(M), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5,V,U) ; true ), 'attach_known/1_1_$special_= setarg(2,E,inactive), 'known/1_1_$special_= get_attr(E,guard_entailment,F), F=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,D,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= get_attr(H,guard_entailment,I), I=v(_,_,_,_,_,_,_,_,_,_,_,_,_,G,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',G) ) -> 'known/1_1_$special_= get_attr(K,guard_entailment,L), L=v(_,_,_,_,_,_,_,_,_,_,_,_,_,J,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',J) ) -> 'known/1_1_$special_= '$extend_history'(E,O), arg(2,E,Q), setarg(2,E,active), arg(4,E,P), N is P+1, setarg(4,E,N), ( Q==not_stored_yet -> E=suspension(_,_,_,_,_,R,S), term_variables(term(R,S),M), 'chr none_locked'(M), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5,V,U) ; true ), 'attach_known/1_1_$special_= setarg(2,E,inactive), 'known/1_1_$special_= get_attr(G,guard_entailment,H), H=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,F,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',F) ), 'chr sbag_member'(D,F), D=suspension(_,active,_,_,E), nonvar(E), E=(I= nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',U), U=[_|V], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',V), ( V=[W|_] -> setarg(4,W,_) ; true ) ; T=[_,_|V], setarg(2,T,V), ( V=[W|_] -> setarg(4,W,T) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(K,D), ( var(C) -> true ; C=suspension(_,Q,_,_,_,R,S), setarg(2,C,removed), ( Q==not_stored_yet -> L=[] ; term_variables(term(R,S),L), arg(5,C,M), ( var(M) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5,P,_) ; true ) ; M=[_,_|O], setarg(2,M,O), ( O=[P|_] -> setarg(5,P,M) ; true ) ), 'detach_known/1_1_$special_= get_attr(E,guard_entailment,F), F=v(_,_,_,D,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',D) ), !, 'known/1_1_$special_= F=suspension(_,_,_,_,Y,Z), setarg(2,F,removed), term_variables(term(Y,Z),K), arg(4,F,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'(K,F), arg(2,C,O), setarg(2,C,active), arg(4,C,N), M is N+1, setarg(4,C,M), ( O==not_stored_yet -> C=suspension(_,_,_,_,_,P,Q), term_variables(term(P,Q),L), 'chr none_locked'(L), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5,T,S) ; true ), 'attach_known/1_1_$special_= setarg(2,C,inactive), 'known/1_1_$special_= get_attr(E,guard_entailment,F), F=v(_,_,_,D,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',D) ), !, 'known/1_1_$special_= F=suspension(_,_,_,_,Z,A1), setarg(2,F,removed), term_variables(term(Z,A1),L), arg(4,F,V), ( var(V) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',W), W=[_|X], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',X), ( X=[Y|_] -> setarg(4,Y,_) ; true ) ; V=[_,_|X], setarg(2,V,X), ( X=[Y|_] -> setarg(4,Y,V) ; true ) ), 'detach_known/1_1_$special_;/2___2'(L,F), arg(2,C,P), setarg(2,C,active), arg(4,C,O), N is O+1, setarg(4,C,N), ( P==not_stored_yet -> C=suspension(_,_,_,_,_,Q,R), term_variables(term(Q,R),M), 'chr none_locked'(M), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5,U,T) ; true ), 'attach_known/1_1_$special_= setarg(2,C,inactive), 'known/1_1_$special_= A=suspension(_,_,_,_,_,F,G), term_variables(term(F,G),B), 'chr none_locked'(B), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_= setarg(5,J,I) ; true ), 'attach_known/1_1_$special_= get_attr(H,guard_entailment,I), I=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,G) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',G) ), 'chr sbag_member'(D,G), D=suspension(_,active,_,_,_,E,F), E==A, F==B, !, ( var(C) -> true ; C=suspension(_,O,_,_,_,P,Q), setarg(2,C,removed), ( O==not_stored_yet -> J=[] ; term_variables(term(P,Q),J), arg(5,C,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'(J,C) ) ). 'known/1_1_$special_=:=/2___2__0'(_,_,A) :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',C), 'chr sbag_member'(B,C), B=suspension(_,active,_), !, ( var(A) -> true ; A=suspension(_,I,_,_,_,J,K), setarg(2,A,removed), ( I==not_stored_yet -> D=[] ; term_variables(term(J,K),D), arg(5,A,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(5,H,_) ; true ) ; E=[_,_|G], setarg(2,E,G), ( G=[H|_] -> setarg(5,H,E) ; true ) ), 'detach_known/1_1_$special_=:=/2___2'(D,A) ) ). 'known/1_1_$special_=:=/2___2__0'(A,B,C) :- B==A, !, ( var(C) -> true ; C=suspension(_,I,_,_,_,J,K), setarg(2,C,removed), ( I==not_stored_yet -> D=[] ; term_variables(term(J,K),D), arg(5,C,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(5,H,_) ; true ) ; E=[_,_|G], setarg(2,E,G), ( G=[H|_] -> setarg(5,H,E) ; true ) ), 'detach_known/1_1_$special_=:=/2___2'(D,C) ) ). 'known/1_1_$special_=:=/2___2__0'(A,B,C) :- number(B), number(A), A=\=B, !, ( var(C) -> true ; C=suspension(_,I,_,_,_,J,K), setarg(2,C,removed), ( I==not_stored_yet -> D=[] ; term_variables(term(J,K),D), arg(5,C,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(5,H,_) ; true ) ; E=[_,_|G], setarg(2,E,G), ( G=[H|_] -> setarg(5,H,E) ; true ) ), 'detach_known/1_1_$special_=:=/2___2'(D,C) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_=:=/2___2__0'(A,B,C) :- ( 'chr newvia_2'(A,B,H) -> get_attr(H,guard_entailment,I), I=v(_,_,_,_,_,_,_,_,_,_,_,_,_,G,_,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',G) ), 'chr sbag_member'(D,G), D=suspension(_,active,_,_,_,E,F), E==A, F==B, !, D=suspension(_,_,_,_,_,W,X), setarg(2,D,removed), term_variables(term(W,X),J), arg(5,D,S), ( var(S) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',T), T=[_|U], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=\\=/2___2',U), ( U=[V|_] -> setarg(5,V,_) ; true ) ; S=[_,_|U], setarg(2,S,U), ( U=[V|_] -> setarg(5,V,S) ; true ) ), 'detach_known/1_1_$special_=\\=/2___2'(J,D), ( var(C) -> true ; C=suspension(_,P,_,_,_,Q,R), setarg(2,C,removed), ( P==not_stored_yet -> K=[] ; term_variables(term(Q,R),K), arg(5,C,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(5,O,_) ; true ) ; L=[_,_|N], setarg(2,L,N), ( N=[O|_] -> setarg(5,O,L) ; true ) ), 'detach_known/1_1_$special_=:=/2___2'(K,C) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_=:=/2___2__0'(A,B,C) :- ( 'chr newvia_1'(B,E) -> get_attr(E,guard_entailment,F), F=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,D) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',D) ), !, ( var(C) -> C=suspension(G,not_stored_yet,t,0,_,A,B), 'chr gen_id'(G) ; true ), 'known/1_1_$special_=:=/2___2__0__0__11'(D,A,B,C). 'known/1_1_$special_=:=/2___2__0__0__11'([],B,C,A) :- 'known/1_1_$special_=:=/2___2__1'(B,C,A). 'known/1_1_$special_=:=/2___2__0__0__11'([F|G],B,C,A) :- ( F=suspension(_,active,_,_,_,D,E), D==C, J=t(193,A,F), '$novel_production'(A,J), '$novel_production'(F,J), B\==E -> '$extend_history'(A,J), arg(2,A,L), setarg(2,A,active), arg(4,A,K), I is K+1, setarg(4,A,I), ( L==not_stored_yet -> A=suspension(_,_,_,_,_,M,N), term_variables(term(M,N),H), 'chr none_locked'(H), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',O), P=[A|O], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',P), ( O=[Q|_] -> setarg(5,Q,P) ; true ), 'attach_known/1_1_$special_=:=/2___2'(H,A) ; true ), 'known/1_1_$special_=:=/2'(B,E), ( A=suspension(_,active,_,I,_,_,_) -> setarg(2,A,inactive), 'known/1_1_$special_=:=/2___2__0__0__11'(G,B,C,A) ; true ) ; 'known/1_1_$special_=:=/2___2__0__0__11'(G,B,C,A) ). 'known/1_1_$special_=:=/2___2__0'(A,B,C) :- ( var(C) -> C=suspension(D,not_stored_yet,t,0,_,A,B), 'chr gen_id'(D) ; true ), 'known/1_1_$special_=:=/2___2__1'(A,B,C). 'known/1_1_$special_=:=/2___2__1'(A,B,C) :- ( 'chr newvia_1'(A,E) -> get_attr(E,guard_entailment,F), F=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,B,C). 'known/1_1_$special_=:=/2___2__1__0__12'([],B,C,A) :- 'known/1_1_$special_=:=/2___2__2'(B,C,A). 'known/1_1_$special_=:=/2___2__1__0__12'([F|G],B,C,A) :- ( F=suspension(_,active,_,_,_,D,E), E==B, J=t(193,F,A), '$novel_production'(F,J), '$novel_production'(A,J), D\==C -> '$extend_history'(A,J), arg(2,A,L), setarg(2,A,active), arg(4,A,K), I is K+1, setarg(4,A,I), ( L==not_stored_yet -> A=suspension(_,_,_,_,_,M,N), term_variables(term(M,N),H), 'chr none_locked'(H), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',O), P=[A|O], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',P), ( O=[Q|_] -> setarg(5,Q,P) ; true ), 'attach_known/1_1_$special_=:=/2___2'(H,A) ; true ), 'known/1_1_$special_=:=/2'(D,C), ( A=suspension(_,active,_,I,_,_,_) -> setarg(2,A,inactive), 'known/1_1_$special_=:=/2___2__1__0__12'(G,B,C,A) ; true ) ; 'known/1_1_$special_=:=/2___2__1__0__12'(G,B,C,A) ). '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,C) :- '$novel_production'(C,194), !, '$extend_history'(C,194), arg(2,C,G), setarg(2,C,active), arg(4,C,F), E is F+1, setarg(4,C,E), ( G==not_stored_yet -> C=suspension(_,_,_,_,_,H,I), term_variables(term(H,I),D), 'chr none_locked'(D), 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'(D,C) ; true ), 'known/1_1_$special_=:=/2'(B,A), ( C=suspension(_,active,_,E,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_=:=/2___2__3'(A,B,C) ; 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,C) :- ( 'chr newvia_2'(A,B,G) -> get_attr(G,guard_entailment,H), H=v(_,_,_,_,_,_,_,_,_,_,_,_,_,_,F,_,_,_,_,_,_,_) ; nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',F) ), 'chr sbag_member'(D,F), D=suspension(_,active,_,_,E), nonvar(E), E=(I=:=J), I==A, J==B, !, D=suspension(_,_,_,_,X), setarg(2,D,removed), term_variables(X,K), arg(4,D,T), ( var(T) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',U), U=[_|V], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',V), ( V=[W|_] -> setarg(4,W,_) ; true ) ; T=[_,_|V], setarg(2,T,V), ( V=[W|_] -> setarg(4,W,T) ; true ) ), 'detach_known/1_1_$special_\\+/1___1'(K,D), ( var(C) -> true ; C=suspension(_,Q,_,_,_,R,S), setarg(2,C,removed), ( Q==not_stored_yet -> L=[] ; term_variables(term(R,S),L), arg(5,C,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(5,P,_) ; true ) ; M=[_,_|O], setarg(2,M,O), ( O=[P|_] -> setarg(5,P,M) ; true ) ), 'detach_known/1_1_$special_=:=/2___2'(L,C) ) ), 'known/1_1_$special_fail/0'. 'known/1_1_$special_=:=/2___2__3'(A,B,C) :- ( 'chr newvia_2'(A,B,E) -> get_attr(E,guard_entailment,F), F=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__15'(D,A,B,C). 'known/1_1_$special_=:=/2___2__3__0__15'([],B,C,A) :- 'known/1_1_$special_=:=/2___2__4'(B,C,A). 'known/1_1_$special_=:=/2___2__3__0__15'([F|J],A,B,C) :- ( F=suspension(_,active,_,_,D,E), nonvar(D), D=(\+G), nonvar(G), G=(H=:=I), H==A, I==B -> F=suspension(_,_,_,_,Y,Z), setarg(2,F,removed), term_variables(term(Y,Z),K), arg(4,F,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'(K,F), arg(2,C,O), setarg(2,C,active), arg(4,C,N), M is N+1, setarg(4,C,M), ( O==not_stored_yet -> C=suspension(_,_,_,_,_,P,Q), term_variables(term(P,Q),L), 'chr none_locked'(L), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',R), S=[C|R], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',S), ( R=[T|_] -> setarg(5,T,S) ; true ), 'attach_known/1_1_$special_=:=/2___2'(L,C) ; true ), known(E), ( C=suspension(_,active,_,M,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_=:=/2___2__3__0__15'(J,A,B,C) ; true ) ; 'known/1_1_$special_=:=/2___2__3__0__15'(J,A,B,C) ). '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,C) :- ( 'chr newvia_2'(A,B,E) -> get_attr(E,guard_entailment,F), F=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__16'(D,A,B,C). 'known/1_1_$special_=:=/2___2__4__0__16'([],B,C,A) :- 'known/1_1_$special_=:=/2___2__5'(B,C,A). 'known/1_1_$special_=:=/2___2__4__0__16'([F|K],A,B,C) :- ( F=suspension(_,active,_,_,D,E), nonvar(D), D=(G,_), nonvar(G), G=(\+H), nonvar(H), H=(I=:=J), I==A, J==B -> F=suspension(_,_,_,_,Z,A1), setarg(2,F,removed), term_variables(term(Z,A1),L), arg(4,F,V), ( var(V) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',W), W=[_|X], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_;/2___2',X), ( X=[Y|_] -> setarg(4,Y,_) ; true ) ; V=[_,_|X], setarg(2,V,X), ( X=[Y|_] -> setarg(4,Y,V) ; true ) ), 'detach_known/1_1_$special_;/2___2'(L,F), arg(2,C,P), setarg(2,C,active), arg(4,C,O), N is O+1, setarg(4,C,N), ( P==not_stored_yet -> C=suspension(_,_,_,_,_,Q,R), term_variables(term(Q,R),M), 'chr none_locked'(M), nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',S), T=[C|S], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_=:=/2___2',T), ( S=[U|_] -> setarg(5,U,T) ; true ), 'attach_known/1_1_$special_=:=/2___2'(M,C) ; true ), known(E), ( C=suspension(_,active,_,N,_,_,_) -> setarg(2,C,inactive), 'known/1_1_$special_=:=/2___2__4__0__16'(K,A,B,C) ; true ) ; 'known/1_1_$special_=:=/2___2__4__0__16'(K,A,B,C) ). '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,E), setarg(2,A,active), arg(4,A,D), C is D+1, setarg(4,A,C), ( E==not_stored_yet -> A=suspension(_,_,_,_,_,F,G), term_variables(term(F,G),B), 'chr none_locked'(B), 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'(B,A) ; true ). 'known/1_1_$special_fail/0' :- nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',B), 'chr sbag_member'(A,B), A=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|B]) :- ( A=suspension(_,active,_,_,_,_) -> A=suspension(_,_,_,_,H,I), setarg(2,A,removed), term_variables(term(H,I),C), 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'(C,A), 'known/1_1_$special_fail/0___0__0__0__24'(B) ; 'known/1_1_$special_fail/0___0__0__0__24'(B) ). '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|B]) :- ( A=suspension(_,active,_,_,_) -> A=suspension(_,_,_,_,H), setarg(2,A,removed), term_variables(H,C), arg(4,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_nonvar/1___1',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_nonvar/1___1'(C,A), 'known/1_1_$special_fail/0___0__1__0__25'(B) ; 'known/1_1_$special_fail/0___0__1__0__25'(B) ). '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|B]) :- ( A=suspension(_,active,_,_,_) -> A=suspension(_,_,_,_,H), setarg(2,A,removed), term_variables(H,C), arg(4,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_var/1___1',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_var/1___1'(C,A), 'known/1_1_$special_fail/0___0__2__0__26'(B) ; 'known/1_1_$special_fail/0___0__2__0__26'(B) ). '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|B]) :- ( A=suspension(_,active,_,_,_,_) -> A=suspension(_,_,_,_,_,H), setarg(2,A,removed), term_variables(H,C), arg(5,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atom/1___1',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_atom/1___1'(C,A), 'known/1_1_$special_fail/0___0__3__0__27'(B) ; 'known/1_1_$special_fail/0___0__3__0__27'(B) ). '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|B]) :- ( A=suspension(_,active,_,_,_,_) -> A=suspension(_,_,_,_,_,H), setarg(2,A,removed), term_variables(H,C), arg(5,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_atomic/1___1',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_atomic/1___1'(C,A), 'known/1_1_$special_fail/0___0__4__0__28'(B) ; 'known/1_1_$special_fail/0___0__4__0__28'(B) ). '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|B]) :- ( A=suspension(_,active,_,_,_,_) -> A=suspension(_,_,_,_,_,H), setarg(2,A,removed), term_variables(H,C), arg(5,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_compound/1___1',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_compound/1___1'(C,A), 'known/1_1_$special_fail/0___0__5__0__29'(B) ; 'known/1_1_$special_fail/0___0__5__0__29'(B) ). '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|B]) :- ( A=suspension(_,active,_,_,_,_) -> A=suspension(_,_,_,_,_,H), setarg(2,A,removed), term_variables(H,C), arg(5,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_ground/1___1',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_ground/1___1'(C,A), 'known/1_1_$special_fail/0___0__6__0__30'(B) ; 'known/1_1_$special_fail/0___0__6__0__30'(B) ). '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|B]) :- ( A=suspension(_,active,_,_,_,_) -> A=suspension(_,_,_,_,_,H), setarg(2,A,removed), term_variables(H,C), arg(5,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_integer/1___1',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_integer/1___1'(C,A), 'known/1_1_$special_fail/0___0__7__0__31'(B) ; 'known/1_1_$special_fail/0___0__7__0__31'(B) ). '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|B]) :- ( A=suspension(_,active,_,_,_,_) -> A=suspension(_,_,_,_,_,H), setarg(2,A,removed), term_variables(H,C), arg(5,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_float/1___1',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_float/1___1'(C,A), 'known/1_1_$special_fail/0___0__8__0__32'(B) ; 'known/1_1_$special_fail/0___0__8__0__32'(B) ). '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|B]) :- ( A=suspension(_,active,_,_,_,_) -> A=suspension(_,_,_,_,_,H), setarg(2,A,removed), term_variables(H,C), arg(5,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_number/1___1',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_number/1___1'(C,A), 'known/1_1_$special_fail/0___0__9__0__33'(B) ; 'known/1_1_$special_fail/0___0__9__0__33'(B) ). '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|B]) :- ( A=suspension(_,active,_,_,_,_,_) -> A=suspension(_,_,_,_,_,H,I), setarg(2,A,removed), term_variables(term(H,I),C), 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'(C,A), 'known/1_1_$special_fail/0___0__10__0__34'(B) ; 'known/1_1_$special_fail/0___0__10__0__34'(B) ). '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|B]) :- ( A=suspension(_,active,_,_,_) -> A=suspension(_,_,_,_,H), setarg(2,A,removed), term_variables(H,C), arg(4,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_\\+/1___1',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_\\+/1___1'(C,A), 'known/1_1_$special_fail/0___0__11__0__35'(B) ; 'known/1_1_$special_fail/0___0__11__0__35'(B) ). '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|B]) :- ( A=suspension(_,active,_,_,_,_,_) -> A=suspension(_,_,_,_,H,I,J), setarg(2,A,removed), term_variables(term(H,I,J),C), arg(4,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$special_functor/3___3',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_functor/3___3'(C,A), 'known/1_1_$special_fail/0___0__12__0__36'(B) ; 'known/1_1_$special_fail/0___0__12__0__36'(B) ). '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|B]) :- ( A=suspension(_,active,_,_,_,_,_) -> A=suspension(_,_,_,_,_,H,I), setarg(2,A,removed), term_variables(term(H,I),C), 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'(C,A), 'known/1_1_$special_fail/0___0__13__0__37'(B) ; 'known/1_1_$special_fail/0___0__13__0__37'(B) ). '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|B]) :- ( A=suspension(_,active,_,_,_,_) -> A=suspension(_,_,_,_,H,I), setarg(2,A,removed), term_variables(term(H,I),C), 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'(C,A), 'known/1_1_$special_fail/0___0__14__0__38'(B) ; 'known/1_1_$special_fail/0___0__14__0__38'(B) ). '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|B]) :- ( A=suspension(_,active,_,_,_,_,_) -> A=suspension(_,_,_,_,_,H,I), setarg(2,A,removed), term_variables(term(H,I),C), 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'(C,A), 'known/1_1_$special_fail/0___0__15__0__40'(B) ; 'known/1_1_$special_fail/0___0__15__0__40'(B) ). '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|B]) :- ( A=suspension(_,active,_,_,_,_,_) -> A=suspension(_,_,_,_,_,H,I), setarg(2,A,removed), term_variables(term(H,I),C), 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'(C,A), 'known/1_1_$special_fail/0___0__16__0__41'(B) ; 'known/1_1_$special_fail/0___0__16__0__41'(B) ). '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(_,_,_,_,_,H,I), setarg(2,A,removed), term_variables(term(H,I),C), 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(_,_,_,_,_,H,I), setarg(2,A,removed), term_variables(term(H,I),C), 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'(C,A), 'known/1_1_$special_fail/0___0__18__0__47'(B) ; 'known/1_1_$special_fail/0___0__18__0__47'(B) ). '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|B]) :- ( A=suspension(_,active,_,_,_) -> A=suspension(_,_,_,_,H), setarg(2,A,removed), term_variables(H,C), arg(4,A,D), ( var(D) -> nb_getval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',E), E=[_|F], b_setval('$chr_store_global_list_guard_entailment____known/1_1_$default___1',F), ( F=[G|_] -> setarg(4,G,_) ; true ) ; D=[_,_|F], setarg(2,D,F), ( F=[G|_] -> setarg(4,G,D) ; true ) ), 'detach_known/1_1_$default___1'(C,A), 'known/1_1_$special_fail/0___0__19__0__50'(B) ; 'known/1_1_$special_fail/0___0__19__0__50'(B) ). 'known/1_1_$special_fail/0___0__19' :- 'known/1_1_$special_fail/0___0__20'. 'known/1_1_$special_fail/0___0__20' :- A=suspension(B,active,_), 'chr gen_id'(B), nb_getval('$chr_store_global_ground_guard_entailment____known/1_1_$special_fail/0___0',C), D=[A|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.