Found epsilon equivalences:
knows_current <=> _q2 \/ _q1.
knows_old <=> _q2 \/ _q1.
agent <=> _q2 \/ _q1.
Found state equivalence classes (states mapped to distinct numbers have empty intersection):
 _q4:3 _q3:2 _q2:4 _q1:1
Checking clause knows_old(M2) :- knows_old(cons(M1,M2))...
 >knows_old(X1) :- knows_old(cons(X2,X1)).
 ... OK.
Checking source clause alice_agent. OK.
Checking source clause bob_agent. OK.
Checking source clause server_agent. OK.
Checking source clause intruder_agent. OK.
Checking source clause intruder_knows_nil_old. OK.
Checking source clause intruder_can_take_first_components_old. OK.
Checking source clause intruder_can_take_second_components_old. OK.
Checking source clause intruder_can_build_pairs_old. OK.
Checking source clause intruder_can_encrypt_old. OK.
Checking source clause intruder_can_decrypt_if_has_private_key_old. OK.
Checking source clause intruder_can_decrypt_if_has_public_key_old. OK.
Checking source clause intruder_can_decrypt_if_has_symmetric_key_old. OK.
Checking source clause intruder_can_compute_successors_old. OK.
Checking source clause intruder_can_compute_predecessors_old. OK.
Checking source clause alice_asks_server_old. OK.
Checking source clause server_gives_bobs_public_key_to_alice_old. OK.
Checking source clause alice_sends_msg_to_bob_old. OK.
Checking source clause bob_asks_server_old. OK.
Checking source clause server_gives_alices_public_key_to_bob_old. OK.
Checking source clause bob_answers_alice_with_own_msg_old. OK.
Checking source clause alice_confirms_to_bob_old. OK.
Checking source clause intruder_knows_all_agents_old. OK.
Checking source clause intruder_knows_every_public_key_old. OK.
Checking source clause intruder_knows_own_private_key_old. OK.
Checking source clause intruder_remembers. OK.
Checking source clause intruder_knows_all_previous_session_keys. OK.
Checking source clause intruder_knows_all_previous_noncea. OK.
Checking source clause intruder_knows_all_previous_nonceb. OK.
Checking source clause intruder_knows_nil_current. OK.
Checking source clause intruder_can_take_first_components_current. OK.
Checking source clause intruder_can_take_second_components_current. OK.
Checking source clause intruder_can_build_pairs_current. OK.
Checking source clause intruder_can_encrypt_current. OK.
Checking source clause intruder_can_decrypt_if_has_private_key_current. OK.
Checking source clause intruder_can_decrypt_if_has_public_key_current. OK.
Checking source clause intruder_can_decrypt_if_has_symmetric_key_current. OK.
Checking source clause intruder_can_compute_successors_current. OK.
Checking source clause intruder_can_compute_predecessors_current. OK.
Checking source clause alice_asks_server_current. OK.
Checking source clause server_gives_bobs_public_key_to_alice_current. OK.
Checking source clause alice_sends_msg_to_bob_current. OK.
Checking source clause bob_asks_server_current. OK.
Checking source clause server_gives_alices_public_key_to_bob_current. OK.
Checking source clause bob_answers_alice_with_own_msg_current. OK.
Checking source clause alice_confirms_to_bob_current. OK.
Checking source clause intruder_knows_all_agents_current. OK.
Checking source clause intruder_knows_every_public_key_current. OK.
Checking source clause intruder_knows_own_private_key_current. OK.
Checking source clause intruder_knows_alice_msg. OK.
Checking source clause intruder_knows_bob_msg. OK.
Checking clause knows_current(M2) :- knows_current(cons(M1,M2))...
 >knows_current(X1) :- knows_current(cons(X2,X1)).
 ... OK.
Checking clause knows_current(crypt(M,K)) :- knows_current(M), knows_current(K)...
 >knows_current(crypt(X1,X2)) :- knows_current(X2), knows_current(X1).
*** pos_value_checker: knows_current(crypt(X1,X2)) :- knows_current(X2), knows_current(X1).
Cannot check.
 >knows_current(crypt(X1,X2)) :- _q2(X2), knows_current(X1).
*** pos_value_checker: knows_current(crypt(X1,X2)) :- _q2(X2), knows_current(X1).
Cannot check.
 >knows_current(crypt(X1,X2)) :- _q1(X2), knows_current(X1).
*** pos_value_checker: knows_current(crypt(X1,X2)) :- _q1(X2), knows_current(X1).
Cannot check.
 ... OK.
Checking clause knows_old(crypt(cons(Na,cons(nonceb_old(A,B,KPa,Na),cons(B,nil))),KPa)) :- knows_old(crypt(cons(Na,cons(A,nil)),key(pub,B))), agent(B), knows_old(crypt(cons(KPa,cons(A,nil)),key(prv,server)))...
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- agent(X3), knows_old(crypt(cons(X4,cons(X2,nil)),key(prv,server))), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X4,cons(X2,nil))), _q4(key(prv,server)), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X4,cons(X2,nil))), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q4(key(prv,server)).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X4,cons(X2,nil))), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X2,nil)), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(nil), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(cons(X1,cons(X2,nil))), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q1(cons(X2,nil)), _q4(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q1(nil), _q4(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q4(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q2(cons(X2,nil)), _q4(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q2(nil), _q4(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q4(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(key(pub,X3)), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(cons(X1,cons(X2,nil))), _q1(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q1(cons(X2,nil)), _q1(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q1(key(pub,X3)), _q1(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q1(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q1(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(key(pub,X3)), _q2(X1), _q2(cons(X2,nil)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(cons(X1,cons(X2,nil))), _q2(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q2(cons(X2,nil)), _q2(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q2(key(pub,X3)), _q2(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q2(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q2(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(cons(X2,nil)), _q2(X1), _q2(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(nil), _q2(X1), _q2(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q2(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q2(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(cons(X1,cons(X2,nil))), _q2(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q1(cons(X2,nil)), _q2(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q1(nil), _q2(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q2(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q2(cons(X2,nil)), _q2(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q2(key(pub,X3)), _q2(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q2(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(key(pub,X3)), _q2(cons(X1,cons(X2,nil))), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q1(X4), _q1(pub), _q2(cons(X1,cons(X2,nil))), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q1(X4), _q2(cons(X1,cons(X2,nil))), agent(X3). + #false() :- _q1(pub).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q1(X4), _q2(cons(X1,cons(X2,nil))), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(cons(X1,cons(X2,nil))), _q3(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q3(key(pub,X3)), _q4(cons(X2,nil)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(key(pub,X3)), _q4(X1), _q4(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(key(pub,X3)), _q4(X1), agent(X3). + #false() :- _q4(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(key(pub,X3)), _q4(X1), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(cons(X2,nil)), _q3(X1), _q3(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(nil), _q3(X1), _q3(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(X1), _q3(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(X1), _q3(cons(X2,nil)), _q3(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(X1), _q3(key(pub,X3)), _q4(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q4(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(nil), _q3(key(pub,X3)), _q4(X1), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(key(pub,X3)), _q4(X1), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(X1), _q3(key(pub,X3)), _q4(cons(X2,nil)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(cons(X2,nil)), _q3(X1), _q3(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(nil), _q3(X1), _q3(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q3(cons(X2,nil)), _q3(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q3(key(pub,X3)), _q4(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q4(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q3(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(key(pub,X3)), _q4(cons(X1,cons(X2,nil))), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q1(X4), _q1(pub), _q4(cons(X1,cons(X2,nil))), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q1(X4), _q4(cons(X1,cons(X2,nil))), agent(X3). + #false() :- _q1(pub).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q1(X4), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(cons(X1,cons(X2,nil))), _q3(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q2(cons(X2,nil)), _q3(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q2(nil), _q3(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q3(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q3(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(cons(X2,nil)), _q2(X1), _q3(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(nil), _q2(X1), _q3(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q2(nil), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X1,cons(X2,nil))), _q2(X2), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q1(cons(X2,nil)), _q2(X2), _q4(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q2(nil), _q4(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q4(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q2(cons(X2,nil)), _q4(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(nil), _q2(X1), _q2(X2), _q4(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q4(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(key(pub,X3)), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X1,cons(X2,nil))), _q1(key(pub,X3)), _q2(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q1(cons(X2,nil)), _q1(key(pub,X3)), _q2(X2), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q1(key(pub,X3)), _q2(X2), _q2(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q1(key(pub,X3)), _q2(X2), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q1(key(pub,X3)), _q2(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(key(pub,X3)), _q2(X1), _q2(X2), _q2(cons(X2,nil)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q2(cons(X1,cons(X2,nil))), _q2(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q2(cons(X2,nil)), _q2(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q1(nil), _q2(X2), _q2(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q2(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q2(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X2,nil)), _q2(X1), _q2(X2), _q2(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q2(key(pub,X3)), _q2(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q2(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q2(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X1,cons(X2,nil))), _q2(X2), _q2(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q1(cons(X2,nil)), _q2(X2), _q2(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q2(key(pub,X3)), _q2(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q2(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q2(cons(X2,nil)), _q2(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(nil), _q2(X1), _q2(X2), _q2(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q2(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(key(pub,X3)), _q2(X2), _q2(cons(X1,cons(X2,nil))), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q1(pub), _q2(X2), _q2(cons(X1,cons(X2,nil))), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(X2), _q2(cons(X1,cons(X2,nil))), agent(X3). + #false() :- _q1(pub).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(X2), _q2(cons(X1,cons(X2,nil))), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(cons(X1,cons(X2,nil))), _q3(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q3(key(pub,X3)), _q4(cons(X2,nil)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(key(pub,X3)), _q3(nil), _q4(X1), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(key(pub,X3)), _q4(X1), agent(X3). + #false() :- _q3(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(key(pub,X3)), _q4(X1), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q2(cons(X2,nil)), _q3(X1), _q3(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(nil), _q2(X2), _q3(X1), _q3(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(X1), _q3(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(X1), _q3(cons(X2,nil)), _q3(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(X1), _q3(key(pub,X3)), _q3(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q3(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q2(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(nil), _q2(X2), _q3(key(pub,X3)), _q4(X1), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(key(pub,X3)), _q4(X1), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(X1), _q3(key(pub,X3)), _q4(cons(X2,nil)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X2,nil)), _q2(X2), _q3(X1), _q3(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q2(nil), _q3(X1), _q3(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q3(cons(X2,nil)), _q3(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q3(key(pub,X3)), _q3(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q3(key(pub,X3)), agent(X3). + #false() :- _q3(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q3(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(key(pub,X3)), _q2(X2), _q4(cons(X1,cons(X2,nil))), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q1(pub), _q2(X2), _q4(cons(X1,cons(X2,nil))), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(X2), _q4(cons(X1,cons(X2,nil))), agent(X3). + #false() :- _q1(pub).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(X2), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q2(cons(X1,cons(X2,nil))), _q3(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q2(cons(X2,nil)), _q3(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q1(nil), _q2(X2), _q3(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q3(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q3(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X2,nil)), _q2(X1), _q2(X2), _q3(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q2(nil), _q3(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q3(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q2(cons(X2,nil)), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q2(nil), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(cons(X1,cons(X2,nil))), _q2(X4), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(cons(X2,nil)), _q2(X4), _q4(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(nil), _q2(X4), _q4(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q2(X4), _q4(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q2(X4), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(X4), _q2(cons(X2,nil)), _q4(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(X4), _q2(nil), _q4(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(X4), _q4(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(X4), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q3(key(pub,X3)), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(cons(X1,cons(X2,nil))), _q1(key(pub,X3)), _q2(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(cons(X2,nil)), _q1(key(pub,X3)), _q2(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(key(pub,X3)), _q1(nil), _q2(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(key(pub,X3)), _q2(X4), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(key(pub,X3)), _q2(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(key(pub,X3)), _q2(X1), _q2(X4), _q2(cons(X2,nil)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q2(cons(X1,cons(X2,nil))), _q2(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q2(X4), _q2(cons(X2,nil)), _q2(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q2(X4), _q2(key(pub,X3)), _q2(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q2(X4), _q2(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q2(X4), _q2(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(cons(X2,nil)), _q2(X1), _q2(X4), _q2(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(nil), _q2(X1), _q2(X4), _q2(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(X4), _q2(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(X4), _q2(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(cons(X1,cons(X2,nil))), _q2(X4), _q2(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(cons(X2,nil)), _q2(X4), _q2(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(nil), _q2(X4), _q2(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q2(X4), _q2(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(X4), _q2(cons(X2,nil)), _q2(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(X4), _q2(key(pub,X3)), _q2(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(X4), _q2(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(key(pub,X3)), _q2(X4), _q2(cons(X1,cons(X2,nil))), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q1(pub), _q2(X4), _q2(cons(X1,cons(X2,nil))), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q2(X4), _q2(cons(X1,cons(X2,nil))), agent(X3). + #false() :- _q1(pub).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q2(X4), _q2(cons(X1,cons(X2,nil))), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q3(cons(X1,cons(X2,nil))), _q3(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q2(X4), _q3(key(pub,X3)), _q4(cons(X2,nil)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q3(key(pub,X3)), _q4(X1), _q4(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q3(key(pub,X3)), _q4(X1), agent(X3). + #false() :- _q4(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q3(key(pub,X3)), _q4(X1), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q2(cons(X2,nil)), _q3(X1), _q3(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q2(nil), _q3(X1), _q3(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q3(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q3(X1), _q3(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q3(X1), _q3(cons(X2,nil)), _q3(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q3(X1), _q3(key(pub,X3)), _q4(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q3(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q4(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q2(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q2(nil), _q3(key(pub,X3)), _q4(X1), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q3(key(pub,X3)), _q4(X1), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q3(X1), _q3(key(pub,X3)), _q4(cons(X2,nil)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(cons(X2,nil)), _q2(X4), _q3(X1), _q3(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(nil), _q2(X4), _q3(X1), _q3(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q3(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(X4), _q3(cons(X2,nil)), _q3(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(X4), _q3(key(pub,X3)), _q4(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(X4), _q3(key(pub,X3)), agent(X3). + #false() :- _q4(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(X4), _q3(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(key(pub,X3)), _q2(X4), _q4(cons(X1,cons(X2,nil))), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q1(pub), _q2(X4), _q4(cons(X1,cons(X2,nil))), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q2(X4), _q4(cons(X1,cons(X2,nil))), agent(X3). + #false() :- _q1(pub).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q2(X4), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q1(cons(X2,nil)), _q2(X4), _q4(X1), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q1(nil), _q2(X4), _q4(X1), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q2(X4), _q4(X1), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q2(X4), _q4(X1), agent(X3).
 knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q2(X4), _q4(X1), agent(X3). is false: quit [X1=nonceb_current(nil,nil,nil,i),X3=nil,X2=nil,X4=i].
 >#false() :- _q1(nil).
 >#false().
 #false(). is false: quit.
 >#false() :- _q1(pub).
 >#false() :- _q2(nil).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(nil), _q2(X2), _q2(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X1,cons(X2,nil))), _q2(X2), _q2(X4), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(cons(X2,nil)), _q2(X2), _q2(X4), _q4(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q2(nil), _q4(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q4(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q2(cons(X2,nil)), _q4(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(nil), _q2(X1), _q2(X2), _q2(X4), _q4(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q4(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(key(pub,X3)), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X1,cons(X2,nil))), _q1(key(pub,X3)), _q2(X2), _q2(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(cons(X2,nil)), _q1(key(pub,X3)), _q2(X2), _q2(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(key(pub,X3)), _q2(X2), _q2(X4), _q2(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(key(pub,X3)), _q2(X2), _q2(X4), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(key(pub,X3)), _q2(X2), _q2(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(key(pub,X3)), _q2(X1), _q2(X2), _q2(X4), _q2(cons(X2,nil)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q2(cons(X1,cons(X2,nil))), _q2(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q2(cons(X2,nil)), _q2(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(nil), _q2(X2), _q2(X4), _q2(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q2(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q2(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X2,nil)), _q2(X1), _q2(X2), _q2(X4), _q2(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q2(key(pub,X3)), _q2(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q2(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q2(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X1,cons(X2,nil))), _q2(X2), _q2(X4), _q2(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(cons(X2,nil)), _q2(X2), _q2(X4), _q2(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q2(key(pub,X3)), _q2(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q2(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q2(cons(X2,nil)), _q2(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(nil), _q2(X1), _q2(X2), _q2(X4), _q2(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q2(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(key(pub,X3)), _q2(X2), _q2(X4), _q2(cons(X1,cons(X2,nil))), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(pub), _q2(X2), _q2(X4), _q2(cons(X1,cons(X2,nil))), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X2), _q2(X4), _q2(cons(X1,cons(X2,nil))), agent(X3). + #false() :- _q1(pub).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X2), _q2(X4), _q2(cons(X1,cons(X2,nil))), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(cons(X1,cons(X2,nil))), _q3(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q3(key(pub,X3)), _q4(cons(X2,nil)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(key(pub,X3)), _q3(nil), _q4(X1), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(key(pub,X3)), _q4(X1), agent(X3). + #false() :- _q3(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(key(pub,X3)), _q4(X1), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q2(cons(X2,nil)), _q3(X1), _q3(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(nil), _q2(X2), _q2(X4), _q3(X1), _q3(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(X1), _q3(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(X1), _q3(cons(X2,nil)), _q3(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(X1), _q3(key(pub,X3)), _q3(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q3(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q2(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(nil), _q2(X2), _q2(X4), _q3(key(pub,X3)), _q4(X1), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(key(pub,X3)), _q4(X1), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(X1), _q3(key(pub,X3)), _q4(cons(X2,nil)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X2,nil)), _q2(X2), _q2(X4), _q3(X1), _q3(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q2(nil), _q3(X1), _q3(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q3(cons(X2,nil)), _q3(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q3(key(pub,X3)), _q3(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q3(key(pub,X3)), agent(X3). + #false() :- _q3(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q3(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(key(pub,X3)), _q2(X2), _q2(X4), _q4(cons(X1,cons(X2,nil))), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(pub), _q2(X2), _q2(X4), _q4(cons(X1,cons(X2,nil))), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X2), _q2(X4), _q4(cons(X1,cons(X2,nil))), agent(X3). + #false() :- _q1(pub).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X2), _q2(X4), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(cons(X2,nil)), _q2(X2), _q2(X4), _q4(X1), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X2), _q2(X4), _q2(nil), _q4(X1), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X2), _q2(X4), _q4(X1), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X2), _q2(X4), _q4(X1), agent(X3).
 knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X2), _q2(X4), _q4(X1), agent(X3). is false: quit [X1=nonceb_current(nil,nil,nil,i),X3=nil,X2=i,X4=i].
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X2), _q2(X4), _q4(X1), _q4(cons(X2,nil)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X2), _q2(X4), _q4(X1), _q4(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X2), _q2(X4), _q4(X1), agent(X3). + #false() :- _q4(nil).
 >#false() :- _q4(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q2(cons(X1,cons(X2,nil))), _q3(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q2(cons(X2,nil)), _q3(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(nil), _q2(X2), _q2(X4), _q3(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q3(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q3(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X2,nil)), _q2(X1), _q2(X2), _q2(X4), _q3(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q2(nil), _q3(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q3(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(key(prv,server)), _q4(cons(X4,cons(X2,nil))), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q4(cons(X4,cons(X2,nil))), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q3(key(prv,server)).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q4(cons(X4,cons(X2,nil))), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q4(cons(X2,nil)), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q4(nil), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q4(nil).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q3(nil), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q3(nil).
 >#false() :- _q3(nil).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(nil), _q2(X4), _q4(X2), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q4(X2), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q4(X2), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X1,cons(X2,nil))), _q2(X4), _q4(X2), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(cons(X2,nil)), _q2(X4), _q4(X2), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X4), _q2(cons(X2,nil)), _q4(X2), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(key(pub,X3)), _q4(X2), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X1,cons(X2,nil))), _q1(key(pub,X3)), _q2(X4), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(cons(X2,nil)), _q1(key(pub,X3)), _q2(X4), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(key(pub,X3)), _q2(X1), _q2(X4), _q2(cons(X2,nil)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q2(cons(X1,cons(X2,nil))), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X4), _q2(cons(X2,nil)), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X2,nil)), _q2(X1), _q2(X4), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X1,cons(X2,nil))), _q2(X4), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(cons(X2,nil)), _q2(X4), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X4), _q2(cons(X2,nil)), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(key(pub,X3)), _q2(X4), _q2(cons(X1,cons(X2,nil))), _q4(X2), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(pub), _q2(X4), _q2(cons(X1,cons(X2,nil))), _q4(X2), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X4), _q2(cons(X1,cons(X2,nil))), _q4(X2), agent(X3). + #false() :- _q1(pub).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X4), _q2(cons(X1,cons(X2,nil))), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(cons(X1,cons(X2,nil))), _q3(key(pub,X3)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X4), _q3(key(pub,X3)), _q4(X2), _q4(cons(X2,nil)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(key(pub,X3)), _q3(nil), _q4(X1), _q4(X2), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3). + #false() :- _q3(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q2(nil), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q2(cons(X2,nil)), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(X1), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X2), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(X1), _q3(key(pub,X3)), _q3(nil), _q4(X2), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3). + #false() :- _q3(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q2(nil), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q2(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(X1), _q3(key(pub,X3)), _q4(X2), _q4(cons(X2,nil)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X2,nil)), _q2(X4), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X4), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X2), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X4), _q3(key(pub,X3)), _q3(nil), _q4(X2), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X4), _q3(key(pub,X3)), _q4(X2), agent(X3). + #false() :- _q3(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X4), _q3(key(pub,X3)), _q4(X2), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X4), _q2(nil), _q3(key(pub,X3)), _q4(X2), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X4), _q3(key(pub,X3)), _q4(X2), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(key(pub,X3)), _q2(X4), _q4(X2), _q4(cons(X1,cons(X2,nil))), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(pub), _q2(X4), _q4(X2), _q4(cons(X1,cons(X2,nil))), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X4), _q4(X2), _q4(cons(X1,cons(X2,nil))), agent(X3). + #false() :- _q1(pub).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X4), _q4(X2), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(cons(X2,nil)), _q2(X4), _q4(X1), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X4), _q4(X1), _q4(X2), _q4(cons(X2,nil)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(nil), _q2(X4), _q4(X1), _q4(X2), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X4), _q4(X1), _q4(X2), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X4), _q4(X1), _q4(X2), agent(X3).
 knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X4), _q4(X1), _q4(X2), agent(X3). is false: quit [X1=nonceb_current(nil,nil,nil,i),X3=nil,X2=nonceb_current(nil,nil,nil,i),X4=i].
 >#false() :- _q3(key(prv,server)).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X4,cons(X2,nil))), _q1(key(prv,server)), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X4,cons(X2,nil))), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q1(key(prv,server)).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(cons(X4,cons(X2,nil))), _q2(key(prv,server)), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(cons(X4,cons(X2,nil))), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q2(key(prv,server)).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(cons(X4,cons(X2,nil))), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(cons(X2,nil)), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(nil), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q2(nil).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(nil), _q2(X2), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X2,nil)), _q2(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(nil), _q2(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q1(nil).
 >#false() :- _q2(key(prv,server)).
*** split #false() :- _q1(prv), _q4(server). =>  + #false() :- _q1(prv). + #false() :- _q4(server).
 >#false() :- _q1(prv).
*** split #false() :- _q2(prv), _q2(server). =>  + #false() :- _q2(server). + #false() :- _q2(prv).
 >#false() :- _q2(server).
*** split #false() :- _q1(prv), _q2(server). =>  + #false() :- _q2(server). + #false() :- _q1(prv).
*** split #false() :- _q2(prv), _q4(server). =>  + #false() :- _q2(prv). + #false() :- _q4(server).
 >#false() :- _q2(prv).
 >#false() :- _q4(server).
*** split #false() :- _q2(server), _q3(prv). =>  + #false() :- _q2(server). + #false() :- _q3(prv).
*** split #false() :- _q2(server), _q4(prv). =>  + #false() :- _q2(server). + #false() :- _q4(prv).
*** split #false() :- _q1(prv), _q3(server). =>  + #false() :- _q1(prv). + #false() :- _q3(server).
*** split #false() :- _q1(server), _q4(prv). =>  + #false() :- _q4(prv). + #false() :- _q1(server).
 >#false() :- _q4(prv).
*** split #false() :- _q1(server), _q3(prv). =>  + #false() :- _q3(prv). + #false() :- _q1(server).
 >#false() :- _q3(prv).
*** split #false() :- _q2(prv), _q3(server). =>  + #false() :- _q2(prv). + #false() :- _q3(server).
 >#false() :- _q3(server).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X4,cons(X2,nil))), _q2(key(prv,server)), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X4,cons(X2,nil))), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q2(key(prv,server)).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(key(prv,server)), _q2(cons(X4,cons(X2,nil))), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(cons(X4,cons(X2,nil))), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q1(key(prv,server)).
 >#false() :- _q1(key(prv,server)).
*** split #false() :- _q1(prv), _q1(server). =>  + #false() :- _q1(prv). + #false() :- _q1(server).
*** split #false() :- _q3(prv), _q4(server). =>  + #false() :- _q4(server). + #false() :- _q3(prv).
*** split #false() :- _q4(prv), _q4(server). =>  + #false() :- _q4(server). + #false() :- _q4(prv).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(cons(X4,cons(X2,nil))), _q3(key(prv,server)), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(cons(X4,cons(X2,nil))), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q3(key(prv,server)).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(cons(X4,cons(X2,nil))), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q4(cons(X2,nil)), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q4(nil), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q4(nil).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(nil), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q3(nil).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(nil), _q4(X2), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q4(X2), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q4(X2), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X1,cons(X2,nil))), _q4(X2), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q1(cons(X2,nil)), _q4(X2), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(cons(X2,nil)), _q4(X2), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(key(pub,X3)), _q4(X2), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X1,cons(X2,nil))), _q1(key(pub,X3)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q1(cons(X2,nil)), _q1(key(pub,X3)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(key(pub,X3)), _q2(X1), _q2(cons(X2,nil)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(cons(X1,cons(X2,nil))), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(cons(X2,nil)), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X2,nil)), _q2(X1), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X1,cons(X2,nil))), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q1(cons(X2,nil)), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(cons(X2,nil)), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(key(pub,X3)), _q2(cons(X1,cons(X2,nil))), _q4(X2), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q1(pub), _q2(cons(X1,cons(X2,nil))), _q4(X2), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(cons(X1,cons(X2,nil))), _q4(X2), agent(X3). + #false() :- _q1(pub).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(cons(X1,cons(X2,nil))), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(cons(X1,cons(X2,nil))), _q3(key(pub,X3)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q3(key(pub,X3)), _q4(X2), _q4(cons(X2,nil)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(key(pub,X3)), _q3(nil), _q4(X1), _q4(X2), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3). + #false() :- _q3(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(nil), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(cons(X2,nil)), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(X1), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X2), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(X1), _q3(key(pub,X3)), _q3(nil), _q4(X2), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3). + #false() :- _q3(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(nil), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(X1), _q3(key(pub,X3)), _q4(X2), _q4(cons(X2,nil)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X2,nil)), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X2), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q3(key(pub,X3)), _q3(nil), _q4(X2), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q3(key(pub,X3)), _q4(X2), agent(X3). + #false() :- _q3(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q3(key(pub,X3)), _q4(X2), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(nil), _q3(key(pub,X3)), _q4(X2), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q3(key(pub,X3)), _q4(X2), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(key(pub,X3)), _q4(X2), _q4(cons(X1,cons(X2,nil))), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q1(pub), _q4(X2), _q4(cons(X1,cons(X2,nil))), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q4(X2), _q4(cons(X1,cons(X2,nil))), agent(X3). + #false() :- _q1(pub).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q4(X2), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(cons(X1,cons(X2,nil))), _q3(key(pub,X3)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(cons(X2,nil)), _q3(key(pub,X3)), _q4(X2), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X2,nil)), _q2(X1), _q3(key(pub,X3)), _q4(X2), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q4(X2), _q4(nil), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q4(X2), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q4(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(cons(X2,nil)), _q4(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q4(X4), _q4(nil), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q4(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q4(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q4(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(cons(X1,cons(X2,nil))), _q4(X4), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(cons(X2,nil)), _q4(X4), _q4(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(nil), _q4(X4), _q4(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q4(X4), _q4(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q4(X4), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(cons(X2,nil)), _q4(X4), _q4(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(nil), _q4(X4), _q4(key(pub,X3)), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q4(X4), _q4(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q4(X4), _q4(key(pub,X3)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q2(X1), _q2(pub), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q2(X1), _q4(X4), agent(X3). + #false() :- _q2(pub).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q2(X1), _q4(X4), agent(X3).
 knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q2(X1), _q4(X4), agent(X3). is false: quit [X1=i,X3=nil,X2=nil,X4=nonceb_current(nil,nil,nil,i)].
 >#false() :- _q2(pub).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q3(key(pub,X3)), _q4(X4), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(cons(X1,cons(X2,nil))), _q1(key(pub,X3)), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(cons(X2,nil)), _q1(key(pub,X3)), _q4(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(key(pub,X3)), _q1(nil), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(key(pub,X3)), _q4(X4), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(key(pub,X3)), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(key(pub,X3)), _q2(X1), _q2(cons(X2,nil)), _q4(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q1(pub), _q2(X1), _q2(cons(X2,nil)), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q2(X1), _q2(cons(X2,nil)), _q4(X4), agent(X3). + #false() :- _q1(pub).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q2(X1), _q2(cons(X2,nil)), _q4(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q2(X1), _q2(nil), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q2(X1), _q4(X4), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(cons(X1,cons(X2,nil))), _q2(key(pub,X3)), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q2(cons(X2,nil)), _q2(key(pub,X3)), _q4(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q2(key(pub,X3)), _q2(nil), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q2(key(pub,X3)), _q4(X4), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q2(key(pub,X3)), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(cons(X2,nil)), _q2(X1), _q2(key(pub,X3)), _q4(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(nil), _q2(X1), _q2(key(pub,X3)), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(key(pub,X3)), _q4(X4), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(key(pub,X3)), _q4(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(X3), _q2(pub), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(X3), _q4(X4), agent(X3). + #false() :- _q2(pub).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(X3), _q4(X4), agent(X3).
 knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(X3), _q4(X4), agent(X3). is false: quit [X1=i,X3=i,X2=nil,X4=nonceb_current(nil,nil,nil,i)].
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(pub), _q2(X1), _q2(X3), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(X3), _q4(X4), agent(X3). + #false() :- _q1(pub).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(nil), _q4(X2), _q4(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q4(X2), _q4(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q3(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q4(X2), _q4(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X1,cons(X2,nil))), _q4(X2), _q4(X4), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(cons(X2,nil)), _q4(X2), _q4(X4), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(cons(X2,nil)), _q4(X2), _q4(X4), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(key(pub,X3)), _q4(X2), _q4(X4), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X1,cons(X2,nil))), _q1(key(pub,X3)), _q4(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(cons(X2,nil)), _q1(key(pub,X3)), _q4(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(key(pub,X3)), _q2(X1), _q2(cons(X2,nil)), _q4(X2), _q4(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(pub), _q2(X1), _q2(cons(X2,nil)), _q4(X2), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X1), _q2(cons(X2,nil)), _q4(X2), _q4(X4), agent(X3). + #false() :- _q1(pub).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X1), _q2(cons(X2,nil)), _q4(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(cons(X1,cons(X2,nil))), _q2(key(pub,X3)), _q4(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(cons(X2,nil)), _q2(key(pub,X3)), _q4(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X2,nil)), _q2(X1), _q2(key(pub,X3)), _q4(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X1,cons(X2,nil))), _q2(key(pub,X3)), _q4(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(cons(X2,nil)), _q2(key(pub,X3)), _q4(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(cons(X2,nil)), _q2(key(pub,X3)), _q4(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(key(pub,X3)), _q2(cons(X1,cons(X2,nil))), _q4(X2), _q4(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(pub), _q2(cons(X1,cons(X2,nil))), _q4(X2), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(cons(X1,cons(X2,nil))), _q4(X2), _q4(X4), agent(X3). + #false() :- _q1(pub).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(cons(X1,cons(X2,nil))), _q4(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(cons(X2,nil)), _q2(X1), _q4(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(cons(X1,cons(X2,nil))), _q3(key(pub,X3)), _q4(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q3(key(pub,X3)), _q4(X2), _q4(X4), _q4(cons(X2,nil)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), _q4(X2), _q4(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(key(pub,X3)), _q3(nil), _q4(X1), _q4(X2), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(key(pub,X3)), _q4(X1), _q4(X2), _q4(X4), agent(X3). + #false() :- _q3(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(key(pub,X3)), _q4(X1), _q4(X2), _q4(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(nil), _q3(key(pub,X3)), _q4(X1), _q4(X2), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(key(pub,X3)), _q4(X1), _q4(X2), _q4(X4), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(cons(X2,nil)), _q3(X1), _q3(key(pub,X3)), _q4(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X1), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X2), _q4(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X1), _q3(key(pub,X3)), _q3(nil), _q4(X2), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X1), _q3(key(pub,X3)), _q4(X2), _q4(X4), agent(X3). + #false() :- _q3(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X1), _q3(key(pub,X3)), _q4(X2), _q4(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(nil), _q3(X1), _q3(key(pub,X3)), _q4(X2), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X1), _q3(key(pub,X3)), _q4(X2), _q4(X4), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), _q4(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X1), _q3(key(pub,X3)), _q4(X2), _q4(X4), _q4(cons(X2,nil)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X2,nil)), _q3(X1), _q3(key(pub,X3)), _q4(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X2), _q4(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q3(key(pub,X3)), _q3(nil), _q4(X2), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q3(key(pub,X3)), _q4(X2), _q4(X4), agent(X3). + #false() :- _q3(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q3(key(pub,X3)), _q4(X2), _q4(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(nil), _q3(key(pub,X3)), _q4(X2), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q3(key(pub,X3)), _q4(X2), _q4(X4), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(key(pub,X3)), _q4(X2), _q4(X4), _q4(cons(X1,cons(X2,nil))), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(pub), _q4(X2), _q4(X4), _q4(cons(X1,cons(X2,nil))), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q4(X2), _q4(X4), _q4(cons(X1,cons(X2,nil))), agent(X3). + #false() :- _q1(pub).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q4(X2), _q4(X4), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X1), _q4(X2), _q4(X4), _q4(cons(X2,nil)), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(nil), _q2(X1), _q4(X2), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X1), _q4(X2), _q4(X4), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X1), _q4(X2), _q4(X4), agent(X3).
 knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X1), _q4(X2), _q4(X4), agent(X3). is false: quit [X1=i,X3=nil,X2=nonceb_current(nil,nil,nil,i),X4=nonceb_current(nil,nil,nil,i)].
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(nil), _q3(X2), _q4(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X2), _q4(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X2), _q4(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X1,cons(X2,nil))), _q3(X2), _q4(X4), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(cons(X2,nil)), _q3(X2), _q4(X4), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(cons(X2,nil)), _q3(X2), _q4(X4), _q4(key(pub,X3)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X2), _q3(key(pub,X3)), _q4(X4), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X1,cons(X2,nil))), _q1(key(pub,X3)), _q3(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(cons(X2,nil)), _q1(key(pub,X3)), _q3(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(key(pub,X3)), _q2(X1), _q2(cons(X2,nil)), _q3(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(cons(X1,cons(X2,nil))), _q2(key(pub,X3)), _q3(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(cons(X2,nil)), _q2(key(pub,X3)), _q3(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X2,nil)), _q2(X1), _q2(key(pub,X3)), _q3(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X1,cons(X2,nil))), _q2(key(pub,X3)), _q3(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(cons(X2,nil)), _q2(key(pub,X3)), _q3(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(cons(X2,nil)), _q2(key(pub,X3)), _q3(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(key(pub,X3)), _q2(cons(X1,cons(X2,nil))), _q3(X2), _q4(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(pub), _q2(cons(X1,cons(X2,nil))), _q3(X2), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(cons(X1,cons(X2,nil))), _q3(X2), _q4(X4), agent(X3). + #false() :- _q1(pub).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(cons(X1,cons(X2,nil))), _q3(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X3), _q2(cons(X2,nil)), _q3(X2), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X2), _q3(cons(X1,cons(X2,nil))), _q3(key(pub,X3)), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q3(X2), _q3(key(pub,X3)), _q4(X4), _q4(cons(X2,nil)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X2), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), _q4(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(nil), _q3(X2), _q3(key(pub,X3)), _q4(X1), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X2), _q3(key(pub,X3)), _q4(X1), _q4(X4), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X2), _q3(key(pub,X3)), _q4(X1), _q4(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X2), _q3(key(pub,X3)), _q3(nil), _q4(X1), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X2), _q3(key(pub,X3)), _q4(X1), _q4(X4), agent(X3). + #false() :- _q3(nil).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X2), _q3(key(pub,X3)), _q4(X1), _q4(X4), _q4(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X2), _q3(key(pub,X3)), _q4(X1), _q4(X4), agent(X3). + #false() :- _q4(nil).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(nil), _q3(X2), _q3(key(pub,X3)), _q4(X1), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X2), _q3(key(pub,X3)), _q4(X1), _q4(X4), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(cons(X2,nil)), _q3(X1), _q3(X2), _q3(key(pub,X3)), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X1), _q3(X2), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(nil), _q3(X1), _q3(X2), _q3(key(pub,X3)), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X1), _q3(X2), _q3(key(pub,X3)), _q4(X4), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X1), _q3(X2), _q3(key(pub,X3)), _q4(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X1), _q3(X2), _q3(key(pub,X3)), _q3(nil), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X1), _q3(X2), _q3(key(pub,X3)), _q4(X4), agent(X3). + #false() :- _q3(nil).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X1), _q3(X2), _q3(key(pub,X3)), _q4(X4), _q4(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X1), _q3(X2), _q3(key(pub,X3)), _q4(X4), agent(X3). + #false() :- _q4(nil).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(nil), _q3(X1), _q3(X2), _q3(key(pub,X3)), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X1), _q3(X2), _q3(key(pub,X3)), _q4(X4), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(cons(X2,nil)), _q3(X2), _q3(key(pub,X3)), _q4(X1), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X1), _q3(X2), _q3(key(pub,X3)), _q4(X4), _q4(cons(X2,nil)), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X2,nil)), _q3(X1), _q3(X2), _q3(key(pub,X3)), _q4(X4), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q3(X2), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(nil), _q3(X2), _q3(key(pub,X3)), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q3(X2), _q3(key(pub,X3)), _q4(X4), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q3(X2), _q3(key(pub,X3)), _q4(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q3(X2), _q3(key(pub,X3)), _q3(nil), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q3(X2), _q3(key(pub,X3)), _q4(X4), agent(X3). + #false() :- _q3(nil).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q3(X2), _q3(key(pub,X3)), _q4(X4), _q4(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q3(X2), _q3(key(pub,X3)), _q4(X4), agent(X3). + #false() :- _q4(nil).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(nil), _q2(X1), _q3(X2), _q3(key(pub,X3)), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q3(X2), _q3(key(pub,X3)), _q4(X4), agent(X3). + #false() :- _q1(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(key(pub,X3)), _q3(X2), _q4(X4), _q4(cons(X1,cons(X2,nil))), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(pub), _q3(X2), _q4(X4), _q4(cons(X1,cons(X2,nil))), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q3(X2), _q4(X4), _q4(cons(X1,cons(X2,nil))), agent(X3). + #false() :- _q1(pub).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q3(X2), _q4(X4), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X3), _q3(X2), _q3(cons(X2,nil)), _q4(X4), agent(X3).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X3), _q2(nil), _q3(X2), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X3), _q3(X2), _q4(X4), agent(X3). + #false() :- _q2(nil).
 >knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X3), _q3(X2), _q4(X4), agent(X3).
 knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X3), _q3(X2), _q4(X4), agent(X3). is false: quit [X1=nil,X3=nil,X2=s(nonceb_current(nil,nil,nil,i)),X4=nonceb_current(nil,nil,nil,i)].
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X3), _q3(X2), _q3(nil), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X3), _q3(X2), _q4(X4), agent(X3). + #false() :- _q3(nil).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X3), _q3(X2), _q4(X4), _q4(nil), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X3), _q3(X2), _q4(X4), agent(X3). + #false() :- _q4(nil).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X3), _q1(nil), _q3(X2), _q4(X4), agent(X3). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X3), _q3(X2), _q4(X4), agent(X3). + #false() :- _q1(nil).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X2), _q3(nil), _q4(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X2), _q4(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q3(nil).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(nil), _q4(X2), _q4(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q4(X2), _q4(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q2(nil).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X2), _q4(X4), _q4(nil), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X2), _q4(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q4(nil).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(nil), _q3(X2), _q4(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(X2), _q4(X4), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q1(nil).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(key(prv,server)), _q4(cons(X4,cons(X2,nil))), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q4(cons(X4,cons(X2,nil))), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q1(key(prv,server)).
*** split knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(cons(X4,cons(X2,nil))), _q3(key(prv,server)), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_old(crypt(cons(X1,cons(nonceb_old(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(cons(X4,cons(X2,nil))), agent(X3), knows_old(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q3(key(prv,server)).
 ... OK.
Checking clause knows_current(s(M)) :- knows_current(M)...
 >knows_current(s(X1)) :- knows_current(X1).
*** pos_value_checker: knows_current(s(X1)) :- knows_current(X1).
Cannot check.
 ... OK.
Checking clause knows_old(crypt(M,K)) :- knows_old(M), knows_old(K)...
 >knows_old(crypt(X1,X2)) :- knows_old(X2), knows_old(X1).
*** pos_value_checker: knows_old(crypt(X1,X2)) :- knows_old(X2), knows_old(X1).
Cannot check.
 >knows_old(crypt(X1,X2)) :- _q2(X2), knows_old(X1).
*** pos_value_checker: knows_old(crypt(X1,X2)) :- _q2(X2), knows_old(X1).
Cannot check.
 >knows_old(crypt(X1,X2)) :- _q1(X2), knows_old(X1).
*** pos_value_checker: knows_old(crypt(X1,X2)) :- _q1(X2), knows_old(X1).
Cannot check.
 ... OK.
Checking clause knows_current(M) :- knows_current(crypt(M,key(prv,K))), knows_current(key(pub,K))...
 >knows_current(X1) :- knows_current(crypt(X1,key(prv,X2))), knows_current(key(pub,X2)).
*** split knows_current(X1) :- _q3(key(prv,X2)), _q4(X1), knows_current(key(pub,X2)). =>  + knows_current(X1) :- _q4(X1). + #false() :- _q3(key(prv,X2)), knows_current(key(pub,X2)).
 >knows_current(X1) :- _q4(X1).
 knows_current(X1) :- _q4(X1). is false: quit [X1=nonceb_current(nil,nil,nil,i)].
 >#false() :- _q3(key(prv,X1)), knows_current(key(pub,X1)).
*** split knows_current(X1) :- _q3(X1), _q3(key(prv,X2)), knows_current(key(pub,X2)). =>  + knows_current(X1) :- _q3(X1). + #false() :- _q3(key(prv,X2)), knows_current(key(pub,X2)).
 >knows_current(X1) :- _q3(X1).
 knows_current(X1) :- _q3(X1). is false: quit [X1=s(nonceb_current(nil,nil,nil,i))].
*** split knows_current(X1) :- _q1(key(prv,X2)), _q4(X1), knows_current(key(pub,X2)). =>  + knows_current(X1) :- _q4(X1). + #false() :- _q1(key(prv,X2)), knows_current(key(pub,X2)).
 >#false() :- _q1(key(prv,X1)), knows_current(key(pub,X1)).
*** split #false() :- _q1(X1), _q1(prv), knows_current(key(pub,X1)). =>  + #false() :- _q1(prv). + #false() :- _q1(X1), knows_current(key(pub,X1)).
*** split #false() :- _q3(prv), _q4(X1), knows_current(key(pub,X1)). =>  + #false() :- _q3(prv). + #false() :- _q4(X1), knows_current(key(pub,X1)).
*** split #false() :- _q4(X1), _q4(prv), knows_current(key(pub,X1)). =>  + #false() :- _q4(prv). + #false() :- _q4(X1), knows_current(key(pub,X1)).
 ... OK.
Checking clause knows_current(M) :- knows_current(crypt(M,key(pub,K))), knows_current(key(prv,K))...
 >knows_current(X1) :- knows_current(crypt(X1,key(pub,X2))), knows_current(key(prv,X2)).
*** split knows_current(X1) :- _q3(key(pub,X2)), _q4(X1), knows_current(key(prv,X2)). =>  + knows_current(X1) :- _q4(X1). + #false() :- _q3(key(pub,X2)), knows_current(key(prv,X2)).
 >#false() :- _q3(key(pub,X1)), knows_current(key(prv,X1)).
*** split knows_current(X1) :- _q3(X1), _q3(key(pub,X2)), knows_current(key(prv,X2)). =>  + knows_current(X1) :- _q3(X1). + #false() :- _q3(key(pub,X2)), knows_current(key(prv,X2)).
*** split knows_current(X1) :- _q1(key(pub,X2)), _q4(X1), knows_current(key(prv,X2)). =>  + knows_current(X1) :- _q4(X1). + #false() :- _q1(key(pub,X2)), knows_current(key(prv,X2)).
 >#false() :- _q1(key(pub,X1)), knows_current(key(prv,X1)).
*** split #false() :- _q1(X1), _q1(pub), knows_current(key(prv,X1)). =>  + #false() :- _q1(pub). + #false() :- _q1(X1), knows_current(key(prv,X1)).
 >#false() :- _q1(X1), knows_current(key(prv,X1)).
*** split #false() :- _q1(X1), _q1(prv). =>  + #false() :- _q1(prv). + #false() :- _q1(X1).
*** split #false() :- _q1(X1), _q4(prv). =>  + #false() :- _q1(X1). + #false() :- _q4(prv).
 >#false() :- _q1(X1).
 #false() :- _q1(X1). is false: quit [X1=nil].
*** split #false() :- _q1(X1), _q3(prv). =>  + #false() :- _q1(X1). + #false() :- _q3(prv).
*** split #false() :- _q3(pub), _q4(X1), knows_current(key(prv,X1)). =>  + #false() :- _q3(pub). + #false() :- _q4(X1), knows_current(key(prv,X1)).
 >#false() :- _q3(pub).
*** split #false() :- _q4(X1), _q4(pub), knows_current(key(prv,X1)). =>  + #false() :- _q4(pub). + #false() :- _q4(X1), knows_current(key(prv,X1)).
 >#false() :- _q4(pub).
 ... OK.
Checking clause knows_current(M1) :- knows_current(cons(M1,M2))...
 >knows_current(X1) :- knows_current(cons(X1,X2)).
 ... OK.
Checking clause knows_old(crypt(cons(key(pub,A),cons(A,nil)),key(prv,server))) :- knows_old(cons(B,cons(A,nil)))...
 >knows_old(crypt(cons(key(pub,X1),cons(X1,nil)),key(prv,server))) :- knows_old(cons(X2,cons(X1,nil))).
*** split knows_old(crypt(cons(key(pub,X1),cons(X1,nil)),key(prv,server))) :- _q1(X2), _q1(cons(X1,nil)). =>  + knows_old(crypt(cons(key(pub,X1),cons(X1,nil)),key(prv,server))) :- _q1(cons(X1,nil)). + #false() :- _q1(X2).
 >knows_old(crypt(cons(key(pub,X1),cons(X1,nil)),key(prv,server))) :- _q1(cons(X1,nil)).
*** split knows_old(crypt(cons(key(pub,X1),cons(X1,nil)),key(prv,server))) :- _q2(X2), _q2(cons(X1,nil)). =>  + knows_old(crypt(cons(key(pub,X1),cons(X1,nil)),key(prv,server))) :- _q2(cons(X1,nil)). + #false() :- _q2(X2).
 >knows_old(crypt(cons(key(pub,X1),cons(X1,nil)),key(prv,server))) :- _q2(cons(X1,nil)).
*** split knows_old(crypt(cons(key(pub,X1),cons(X1,nil)),key(prv,server))) :- _q1(X2), _q2(cons(X1,nil)). =>  + knows_old(crypt(cons(key(pub,X1),cons(X1,nil)),key(prv,server))) :- _q2(cons(X1,nil)). + #false() :- _q1(X2).
*** split knows_old(crypt(cons(key(pub,X1),cons(X1,nil)),key(prv,server))) :- _q1(cons(X1,nil)), _q2(X2). =>  + knows_old(crypt(cons(key(pub,X1),cons(X1,nil)),key(prv,server))) :- _q1(cons(X1,nil)). + #false() :- _q2(X2).
 ... OK.
Checking clause knows_old(M) :- knows_old(crypt(M,key(pub,K))), knows_old(key(prv,K))...
 >knows_old(X1) :- knows_old(crypt(X1,key(pub,X2))), knows_old(key(prv,X2)).
*** split knows_old(X1) :- _q3(key(pub,X2)), _q4(X1), knows_old(key(prv,X2)). =>  + knows_old(X1) :- _q4(X1). + #false() :- _q3(key(pub,X2)), knows_old(key(prv,X2)).
 >knows_old(X1) :- _q4(X1).
 knows_old(X1) :- _q4(X1). is false: quit [X1=nonceb_current(nil,nil,nil,i)].
 >#false() :- _q3(key(pub,X1)), knows_old(key(prv,X1)).
*** split knows_old(X1) :- _q3(X1), _q3(key(pub,X2)), knows_old(key(prv,X2)). =>  + knows_old(X1) :- _q3(X1). + #false() :- _q3(key(pub,X2)), knows_old(key(prv,X2)).
 >knows_old(X1) :- _q3(X1).
 knows_old(X1) :- _q3(X1). is false: quit [X1=s(nonceb_current(nil,nil,nil,i))].
*** split knows_old(X1) :- _q1(key(pub,X2)), _q4(X1), knows_old(key(prv,X2)). =>  + knows_old(X1) :- _q4(X1). + #false() :- _q1(key(pub,X2)), knows_old(key(prv,X2)).
 >#false() :- _q1(key(pub,X1)), knows_old(key(prv,X1)).
*** split #false() :- _q1(X1), _q1(pub), knows_old(key(prv,X1)). =>  + #false() :- _q1(pub). + #false() :- _q1(X1), knows_old(key(prv,X1)).
 >#false() :- _q1(X1), knows_old(key(prv,X1)).
*** split #false() :- _q3(pub), _q4(X1), knows_old(key(prv,X1)). =>  + #false() :- _q3(pub). + #false() :- _q4(X1), knows_old(key(prv,X1)).
*** split #false() :- _q4(X1), _q4(pub), knows_old(key(prv,X1)). =>  + #false() :- _q4(pub). + #false() :- _q4(X1), knows_old(key(prv,X1)).
 ... OK.
Checking clause knows_old(cons(B,cons(A,nil))) :- agent(B), agent(A)...
 >knows_old(cons(X1,cons(X2,nil))) :- agent(X2), agent(X1).
*** pos_value_checker: knows_old(cons(X1,cons(X2,nil))) :- agent(X2), agent(X1).
Cannot check.
 >knows_old(cons(X1,cons(X2,nil))) :- _q2(X2), agent(X1).
*** pos_value_checker: knows_old(cons(X1,cons(X2,nil))) :- _q2(X2), agent(X1).
Cannot check.
 >knows_old(cons(X1,cons(X2,nil))) :- _q1(X2), agent(X1).
*** pos_value_checker: knows_old(cons(X1,cons(X2,nil))) :- _q1(X2), agent(X1).
Cannot check.
 ... OK.
Checking clause knows_old(cons(M1,M2)) :- knows_old(M1), knows_old(M2)...
 >knows_old(cons(X1,X2)) :- knows_old(X1), knows_old(X2).
*** pos_value_checker: knows_old(cons(X1,X2)) :- knows_old(X1), knows_old(X2).
Cannot check.
 >knows_old(cons(X1,X2)) :- _q2(X1), knows_old(X2).
*** pos_value_checker: knows_old(cons(X1,X2)) :- _q2(X1), knows_old(X2).
Cannot check.
 >knows_old(cons(X1,X2)) :- _q1(X1), knows_old(X2).
*** pos_value_checker: knows_old(cons(X1,X2)) :- _q1(X1), knows_old(X2).
Cannot check.
 ... OK.
Checking clause knows_current(M) :- knows_current(crypt(M,key(sym,X))), knows_current(key(sym,X))...
 >knows_current(X1) :- knows_current(crypt(X1,key(sym,X2))), knows_current(key(sym,X2)).
*** split knows_current(X1) :- _q3(key(sym,X2)), _q4(X1), knows_current(key(sym,X2)). =>  + knows_current(X1) :- _q4(X1). + #false() :- _q3(key(sym,X2)), knows_current(key(sym,X2)).
 >#false() :- _q3(key(sym,X1)), knows_current(key(sym,X1)).
*** split knows_current(X1) :- _q3(X1), _q3(key(sym,X2)), knows_current(key(sym,X2)). =>  + knows_current(X1) :- _q3(X1). + #false() :- _q3(key(sym,X2)), knows_current(key(sym,X2)).
*** split knows_current(X1) :- _q1(key(sym,X2)), _q4(X1), knows_current(key(sym,X2)). =>  + knows_current(X1) :- _q4(X1). + #false() :- _q1(key(sym,X2)), knows_current(key(sym,X2)).
 >#false() :- _q1(key(sym,X1)), knows_current(key(sym,X1)).
*** split #false() :- _q1(X1), _q1(sym), knows_current(key(sym,X1)). =>  + #false() :- _q1(sym). + #false() :- _q1(X1), knows_current(key(sym,X1)).
 >#false() :- _q1(sym).
*** split #false() :- _q3(sym), _q4(X1), knows_current(key(sym,X1)). =>  + #false() :- _q3(sym). + #false() :- _q4(X1), knows_current(key(sym,X1)).
 >#false() :- _q3(sym).
*** split #false() :- _q4(X1), _q4(sym), knows_current(key(sym,X1)). =>  + #false() :- _q4(sym). + #false() :- _q4(X1), knows_current(key(sym,X1)).
 >#false() :- _q4(sym).
 ... OK.
Checking clause knows_current(cons(M1,M2)) :- knows_current(M1), knows_current(M2)...
 >knows_current(cons(X1,X2)) :- knows_current(X1), knows_current(X2).
*** pos_value_checker: knows_current(cons(X1,X2)) :- knows_current(X1), knows_current(X2).
Cannot check.
 >knows_current(cons(X1,X2)) :- _q2(X1), knows_current(X2).
*** pos_value_checker: knows_current(cons(X1,X2)) :- _q2(X1), knows_current(X2).
Cannot check.
 >knows_current(cons(X1,X2)) :- _q1(X1), knows_current(X2).
*** pos_value_checker: knows_current(cons(X1,X2)) :- _q1(X1), knows_current(X2).
Cannot check.
 ... OK.
Checking clause knows_old(M) :- knows_old(crypt(M,key(prv,K))), knows_old(key(pub,K))...
 >knows_old(X1) :- knows_old(crypt(X1,key(prv,X2))), knows_old(key(pub,X2)).
*** split knows_old(X1) :- _q3(key(prv,X2)), _q4(X1), knows_old(key(pub,X2)). =>  + knows_old(X1) :- _q4(X1). + #false() :- _q3(key(prv,X2)), knows_old(key(pub,X2)).
 >#false() :- _q3(key(prv,X1)), knows_old(key(pub,X1)).
*** split knows_old(X1) :- _q3(X1), _q3(key(prv,X2)), knows_old(key(pub,X2)). =>  + knows_old(X1) :- _q3(X1). + #false() :- _q3(key(prv,X2)), knows_old(key(pub,X2)).
*** split knows_old(X1) :- _q1(key(prv,X2)), _q4(X1), knows_old(key(pub,X2)). =>  + knows_old(X1) :- _q4(X1). + #false() :- _q1(key(prv,X2)), knows_old(key(pub,X2)).
 >#false() :- _q1(key(prv,X1)), knows_old(key(pub,X1)).
*** split #false() :- _q1(X1), _q1(prv), knows_old(key(pub,X1)). =>  + #false() :- _q1(prv). + #false() :- _q1(X1), knows_old(key(pub,X1)).
*** split #false() :- _q3(prv), _q4(X1), knows_old(key(pub,X1)). =>  + #false() :- _q3(prv). + #false() :- _q4(X1), knows_old(key(pub,X1)).
*** split #false() :- _q4(X1), _q4(prv), knows_old(key(pub,X1)). =>  + #false() :- _q4(prv). + #false() :- _q4(X1), knows_old(key(pub,X1)).
 ... OK.
Checking clause knows_old(crypt(cons(noncea_old(A,B,KPb),cons(A,nil)),KPb)) :- agent(A), knows_old(crypt(cons(KPb,cons(B,nil)),key(prv,server)))...
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- agent(X1), knows_old(crypt(cons(X3,cons(X2,nil)),key(prv,server))).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(cons(X3,cons(X2,nil))), _q4(key(prv,server)), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(cons(X3,cons(X2,nil))), agent(X1). + #false() :- _q4(key(prv,server)).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(cons(X3,cons(X2,nil))), agent(X1).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q1(cons(X2,nil)), agent(X1).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(X3), _q1(nil), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(X3), agent(X1). + #false() :- _q1(nil).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(X3), agent(X1).
*** pos_value_checker: knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(X3), agent(X1).
Cannot check.
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(X2), _q2(nil), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(X2), agent(X1). + #false() :- _q2(nil).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(X2), agent(X1).
*** pos_value_checker: knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(X2), agent(X1).
Cannot check.
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q2(cons(X2,nil)), agent(X1).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q2(X3), _q2(nil), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q2(X3), agent(X1). + #false() :- _q2(nil).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q2(X3), agent(X1).
*** pos_value_checker: knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q2(X3), agent(X1).
Cannot check.
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(nil), _q2(X2), _q2(X3), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q2(X3), agent(X1). + #false() :- _q1(nil).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q2(X3), agent(X1).
*** pos_value_checker: knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q2(X3), agent(X1).
Cannot check.
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(key(prv,server)), _q4(cons(X3,cons(X2,nil))), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q4(cons(X3,cons(X2,nil))), agent(X1). + #false() :- _q3(key(prv,server)).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q4(cons(X3,cons(X2,nil))), agent(X1).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q4(cons(X2,nil)), agent(X1).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q2(X3), _q4(nil), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q2(X3), agent(X1). + #false() :- _q4(nil).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q2(X3), _q3(nil), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q2(X3), agent(X1). + #false() :- _q3(nil).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(nil), _q2(X3), _q4(X2), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q4(X2), agent(X1). + #false() :- _q1(nil).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q4(X2), agent(X1).
*** pos_value_checker: knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q4(X2), agent(X1).
Cannot check.
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q4(X2), _q4(nil), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q4(X2), agent(X1). + #false() :- _q4(nil).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q3(cons(X2,nil)), agent(X1).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(X3), _q4(nil), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(X3), agent(X1). + #false() :- _q4(nil).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q3(nil), _q4(X2), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q4(X2), agent(X1). + #false() :- _q3(nil).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q4(X2), agent(X1).
*** pos_value_checker: knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q4(X2), agent(X1).
Cannot check.
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(nil), _q3(X2), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q3(X2), agent(X1). + #false() :- _q2(nil).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q3(X2), agent(X1).
*** pos_value_checker: knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q3(X2), agent(X1).
Cannot check.
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q3(X2), _q3(nil), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q3(X2), agent(X1). + #false() :- _q3(nil).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(nil), _q4(X2), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q4(X2), agent(X1). + #false() :- _q2(nil).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q3(X2), _q4(nil), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q3(X2), agent(X1). + #false() :- _q4(nil).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q1(nil), _q3(X2), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q3(X2), agent(X1). + #false() :- _q1(nil).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(X2), _q3(nil), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(X2), agent(X1). + #false() :- _q3(nil).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(cons(X2,nil)), _q4(X3), agent(X1).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(nil), _q4(X3), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q4(X3), agent(X1). + #false() :- _q1(nil).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q4(X3), agent(X1).
*** pos_value_checker: knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q4(X3), agent(X1).
Cannot check.
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q2(nil), _q4(X3), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q4(X3), agent(X1). + #false() :- _q2(nil).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q4(X3), agent(X1).
*** pos_value_checker: knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q4(X3), agent(X1).
Cannot check.
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q4(X3), _q4(cons(X2,nil)), agent(X1).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q4(X3), _q4(nil), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q4(X3), agent(X1). + #false() :- _q4(nil).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q3(nil), _q4(X3), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q4(X3), agent(X1). + #false() :- _q3(nil).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(nil), _q4(X2), _q4(X3), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q4(X2), _q4(X3), agent(X1). + #false() :- _q1(nil).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q4(X2), _q4(X3), agent(X1).
*** pos_value_checker: knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q4(X2), _q4(X3), agent(X1).
Cannot check.
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q4(X2), _q4(X3), _q4(nil), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q4(X2), _q4(X3), agent(X1). + #false() :- _q4(nil).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(cons(X3,cons(X2,nil))), _q1(key(prv,server)), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(cons(X3,cons(X2,nil))), agent(X1). + #false() :- _q1(key(prv,server)).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(cons(X3,cons(X2,nil))), _q2(key(prv,server)), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(cons(X3,cons(X2,nil))), agent(X1). + #false() :- _q2(key(prv,server)).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(cons(X3,cons(X2,nil))), agent(X1).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(cons(X2,nil)), agent(X1).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(X3), _q2(nil), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(X3), agent(X1). + #false() :- _q2(nil).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q1(nil), _q2(X2), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(X2), agent(X1). + #false() :- _q1(nil).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(cons(X2,nil)), _q2(X3), agent(X1).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(nil), _q2(X3), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q2(X3), agent(X1). + #false() :- _q1(nil).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q2(X3), _q2(nil), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q2(X3), agent(X1). + #false() :- _q2(nil).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(cons(X3,cons(X2,nil))), _q2(key(prv,server)), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(cons(X3,cons(X2,nil))), agent(X1). + #false() :- _q2(key(prv,server)).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(key(prv,server)), _q2(cons(X3,cons(X2,nil))), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(cons(X3,cons(X2,nil))), agent(X1). + #false() :- _q1(key(prv,server)).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(cons(X3,cons(X2,nil))), _q3(key(prv,server)), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(cons(X3,cons(X2,nil))), agent(X1). + #false() :- _q3(key(prv,server)).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(cons(X3,cons(X2,nil))), agent(X1).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q4(cons(X2,nil)), agent(X1).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(X2), _q4(nil), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(X2), agent(X1). + #false() :- _q4(nil).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(X3), _q3(nil), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(X3), agent(X1). + #false() :- _q3(nil).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q1(nil), _q4(X2), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q4(X2), agent(X1). + #false() :- _q1(nil).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q4(X2), _q4(nil), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q4(X2), agent(X1). + #false() :- _q4(nil).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(cons(X2,nil)), _q4(X3), agent(X1).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q4(X3), _q4(nil), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q4(X3), agent(X1). + #false() :- _q4(nil).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(nil), _q4(X2), _q4(X3), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q4(X2), _q4(X3), agent(X1). + #false() :- _q3(nil).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(nil), _q3(X2), _q4(X3), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q4(X3), agent(X1). + #false() :- _q2(nil).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q4(X3), agent(X1).
*** pos_value_checker: knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q4(X3), agent(X1).
Cannot check.
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q3(nil), _q4(X3), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q4(X3), agent(X1). + #false() :- _q3(nil).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(nil), _q4(X2), _q4(X3), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q4(X2), _q4(X3), agent(X1). + #false() :- _q2(nil).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q4(X3), _q4(nil), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q4(X3), agent(X1). + #false() :- _q4(nil).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(nil), _q3(X2), _q4(X3), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q4(X3), agent(X1). + #false() :- _q1(nil).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q3(nil), _q4(X3), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q4(X3), agent(X1). + #false() :- _q3(nil).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(cons(X2,nil)), _q3(X3), agent(X1).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q2(nil), _q3(X3), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q3(X3), agent(X1). + #false() :- _q2(nil).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q3(X3), agent(X1).
 knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q3(X3), agent(X1). is false: quit [X1=s(nil),X3=s(nonceb_current(nil,nil,nil,i)),X2=nil].
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(nil), _q2(X2), _q3(X3), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q3(X3), agent(X1). + #false() :- _q1(nil).
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q3(X3), agent(X1).
*** pos_value_checker: knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q3(X3), agent(X1).
Cannot check.
 >knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X1), _q2(X2), _q3(X3).
 knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X1), _q2(X2), _q3(X3). is false: quit [X1=i,X3=s(nonceb_current(nil,nil,nil,i)),X2=i].
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(key(prv,server)), _q4(cons(X3,cons(X2,nil))), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q4(cons(X3,cons(X2,nil))), agent(X1). + #false() :- _q1(key(prv,server)).
*** split knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(cons(X3,cons(X2,nil))), _q3(key(prv,server)), agent(X1). =>  + knows_old(crypt(cons(noncea_old(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(cons(X3,cons(X2,nil))), agent(X1). + #false() :- _q3(key(prv,server)).
 ... OK.
Checking clause knows_old(key(prv,i))...
 ... OK.
Checking clause knows_current(key(sym,session_old(A,B,Na)))...
 >knows_current(key(sym,session_old(X1,X2,X3))).
*** pos_value_checker: knows_current(key(sym,session_old(X1,X2,X3))).
rho =
 case analysis: _q4(X1); _q3(X1); _q2(X1); _q1(X1).
 >knows_current(key(sym,session_old(X1,X2,X3))) :- _q4(X1).
*** pos_value_checker: knows_current(key(sym,session_old(X1,X2,X3))) :- _q4(X1).
rho = X1=3
 case analysis: _q4(X3); _q3(X3); _q2(X3); _q1(X3).
 >knows_current(key(sym,session_old(X1,X2,X3))) :- _q4(X1), _q4(X3).
*** pos_value_checker: knows_current(key(sym,session_old(X1,X2,X3))) :- _q4(X1), _q4(X3).
rho = X1=3 X3=3
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(key(sym,session_old(X1,X2,X3))) :- _q3(X3), _q4(X1).
*** pos_value_checker: knows_current(key(sym,session_old(X1,X2,X3))) :- _q3(X3), _q4(X1).
rho = X1=3 X3=2
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(key(sym,session_old(X1,X2,X3))) :- _q2(X3), _q4(X1).
*** pos_value_checker: knows_current(key(sym,session_old(X1,X2,X3))) :- _q2(X3), _q4(X1).
rho = X1=3 X3=4
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(key(sym,session_old(X1,X2,X3))) :- _q1(X3), _q4(X1).
*** pos_value_checker: knows_current(key(sym,session_old(X1,X2,X3))) :- _q1(X3), _q4(X1).
rho = X1=3 X3=1
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(key(sym,session_old(X1,X2,X3))) :- _q3(X1).
*** pos_value_checker: knows_current(key(sym,session_old(X1,X2,X3))) :- _q3(X1).
rho = X1=2
 case analysis: _q4(X3); _q3(X3); _q2(X3); _q1(X3).
 >knows_current(key(sym,session_old(X1,X2,X3))) :- _q3(X1), _q4(X3).
*** pos_value_checker: knows_current(key(sym,session_old(X1,X2,X3))) :- _q3(X1), _q4(X3).
rho = X1=2 X3=3
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(key(sym,session_old(X1,X2,X3))) :- _q3(X1), _q3(X3).
*** pos_value_checker: knows_current(key(sym,session_old(X1,X2,X3))) :- _q3(X1), _q3(X3).
rho = X1=2 X3=2
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(key(sym,session_old(X1,X2,X3))) :- _q2(X3), _q3(X1).
*** pos_value_checker: knows_current(key(sym,session_old(X1,X2,X3))) :- _q2(X3), _q3(X1).
rho = X1=2 X3=4
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(key(sym,session_old(X1,X2,X3))) :- _q1(X3), _q3(X1).
*** pos_value_checker: knows_current(key(sym,session_old(X1,X2,X3))) :- _q1(X3), _q3(X1).
rho = X1=2 X3=1
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(key(sym,session_old(X1,X2,X3))) :- _q2(X1).
*** pos_value_checker: knows_current(key(sym,session_old(X1,X2,X3))) :- _q2(X1).
rho = X1=4
 case analysis: _q4(X3); _q3(X3); _q2(X3); _q1(X3).
 >knows_current(key(sym,session_old(X1,X2,X3))) :- _q2(X1), _q4(X3).
*** pos_value_checker: knows_current(key(sym,session_old(X1,X2,X3))) :- _q2(X1), _q4(X3).
rho = X1=4 X3=3
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(key(sym,session_old(X1,X2,X3))) :- _q2(X1), _q3(X3).
*** pos_value_checker: knows_current(key(sym,session_old(X1,X2,X3))) :- _q2(X1), _q3(X3).
rho = X1=4 X3=2
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(key(sym,session_old(X1,X2,X3))) :- _q2(X1), _q2(X3).
*** pos_value_checker: knows_current(key(sym,session_old(X1,X2,X3))) :- _q2(X1), _q2(X3).
rho = X1=4 X3=4
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(key(sym,session_old(X1,X2,X3))) :- _q1(X3), _q2(X1).
*** pos_value_checker: knows_current(key(sym,session_old(X1,X2,X3))) :- _q1(X3), _q2(X1).
rho = X1=4 X3=1
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(key(sym,session_old(X1,X2,X3))) :- _q1(X1).
*** pos_value_checker: knows_current(key(sym,session_old(X1,X2,X3))) :- _q1(X1).
rho = X1=1
 case analysis: _q4(X3); _q3(X3); _q2(X3); _q1(X3).
 >knows_current(key(sym,session_old(X1,X2,X3))) :- _q1(X1), _q4(X3).
*** pos_value_checker: knows_current(key(sym,session_old(X1,X2,X3))) :- _q1(X1), _q4(X3).
rho = X1=1 X3=3
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(key(sym,session_old(X1,X2,X3))) :- _q1(X1), _q3(X3).
*** pos_value_checker: knows_current(key(sym,session_old(X1,X2,X3))) :- _q1(X1), _q3(X3).
rho = X1=1 X3=2
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(key(sym,session_old(X1,X2,X3))) :- _q1(X1), _q2(X3).
*** pos_value_checker: knows_current(key(sym,session_old(X1,X2,X3))) :- _q1(X1), _q2(X3).
rho = X1=1 X3=4
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(key(sym,session_old(X1,X2,X3))) :- _q1(X1), _q1(X3).
*** pos_value_checker: knows_current(key(sym,session_old(X1,X2,X3))) :- _q1(X1), _q1(X3).
rho = X1=1 X3=1
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 ... OK.
Checking clause knows_current(crypt(cons(key(pub,B),cons(B,nil)),key(prv,server))) :- knows_current(cons(A,cons(B,nil)))...
 >knows_current(crypt(cons(key(pub,X1),cons(X1,nil)),key(prv,server))) :- knows_current(cons(X2,cons(X1,nil))).
*** split knows_current(crypt(cons(key(pub,X1),cons(X1,nil)),key(prv,server))) :- _q1(X2), _q1(cons(X1,nil)). =>  + knows_current(crypt(cons(key(pub,X1),cons(X1,nil)),key(prv,server))) :- _q1(cons(X1,nil)). + #false() :- _q1(X2).
 >knows_current(crypt(cons(key(pub,X1),cons(X1,nil)),key(prv,server))) :- _q1(cons(X1,nil)).
*** split knows_current(crypt(cons(key(pub,X1),cons(X1,nil)),key(prv,server))) :- _q2(X2), _q2(cons(X1,nil)). =>  + knows_current(crypt(cons(key(pub,X1),cons(X1,nil)),key(prv,server))) :- _q2(cons(X1,nil)). + #false() :- _q2(X2).
 >knows_current(crypt(cons(key(pub,X1),cons(X1,nil)),key(prv,server))) :- _q2(cons(X1,nil)).
*** split knows_current(crypt(cons(key(pub,X1),cons(X1,nil)),key(prv,server))) :- _q1(X2), _q2(cons(X1,nil)). =>  + knows_current(crypt(cons(key(pub,X1),cons(X1,nil)),key(prv,server))) :- _q2(cons(X1,nil)). + #false() :- _q1(X2).
*** split knows_current(crypt(cons(key(pub,X1),cons(X1,nil)),key(prv,server))) :- _q1(cons(X1,nil)), _q2(X2). =>  + knows_current(crypt(cons(key(pub,X1),cons(X1,nil)),key(prv,server))) :- _q1(cons(X1,nil)). + #false() :- _q2(X2).
 ... OK.
Checking clause knows_current(key(prv,i))...
 ... OK.
Checking clause knows_old(X) :- agent(X)...
 ... OK.
Checking clause knows_current(nil)...
 ... OK.
Checking clause knows_old(M1) :- knows_old(cons(M1,M2))...
 >knows_old(X1) :- knows_old(cons(X1,X2)).
 ... OK.
Checking clause knows_old(M) :- knows_old(crypt(M,key(sym,X))), knows_old(key(sym,X))...
 >knows_old(X1) :- knows_old(crypt(X1,key(sym,X2))), knows_old(key(sym,X2)).
*** split knows_old(X1) :- _q3(key(sym,X2)), _q4(X1), knows_old(key(sym,X2)). =>  + knows_old(X1) :- _q4(X1). + #false() :- _q3(key(sym,X2)), knows_old(key(sym,X2)).
 >#false() :- _q3(key(sym,X1)), knows_old(key(sym,X1)).
*** split knows_old(X1) :- _q3(X1), _q3(key(sym,X2)), knows_old(key(sym,X2)). =>  + knows_old(X1) :- _q3(X1). + #false() :- _q3(key(sym,X2)), knows_old(key(sym,X2)).
*** split knows_old(X1) :- _q1(key(sym,X2)), _q4(X1), knows_old(key(sym,X2)). =>  + knows_old(X1) :- _q4(X1). + #false() :- _q1(key(sym,X2)), knows_old(key(sym,X2)).
 >#false() :- _q1(key(sym,X1)), knows_old(key(sym,X1)).
*** split #false() :- _q1(X1), _q1(sym), knows_old(key(sym,X1)). =>  + #false() :- _q1(sym). + #false() :- _q1(X1), knows_old(key(sym,X1)).
*** split #false() :- _q3(sym), _q4(X1), knows_old(key(sym,X1)). =>  + #false() :- _q3(sym). + #false() :- _q4(X1), knows_old(key(sym,X1)).
*** split #false() :- _q4(X1), _q4(sym), knows_old(key(sym,X1)). =>  + #false() :- _q4(sym). + #false() :- _q4(X1), knows_old(key(sym,X1)).
 ... OK.
Checking clause knows_old(nil)...
 ... OK.
Checking clause knows_old(crypt(Nb,KPb)) :- knows_old(crypt(cons(noncea_old(A,B,KPb),cons(Nb,cons(B,nil))),key(pub,A))), knows_old(crypt(cons(KPb,cons(B,nil)),key(prv,server)))...
 >knows_old(crypt(X1,X2)) :- knows_old(crypt(cons(X2,cons(X3,nil)),key(prv,server))), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
*** split knows_old(crypt(X1,X2)) :- _q1(cons(X2,cons(X3,nil))), _q4(key(prv,server)), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_old(crypt(X1,X2)) :- _q1(cons(X2,cons(X3,nil))), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q4(key(prv,server)).
 >knows_old(crypt(X1,X2)) :- _q1(cons(X2,cons(X3,nil))), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(X3,nil)), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(nil), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q1(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X1,cons(X3,nil))), _q1(noncea_old(X4,X3,X2)), _q4(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(key(pub,X4)), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q1(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X1,cons(X3,nil))), _q1(key(pub,X4)), _q1(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(key(pub,X4)), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q1(pub), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)). + #false() :- _q1(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q3(pub), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4). + #false() :- _q3(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4), _q4(pub). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4). + #false() :- _q4(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q2(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(noncea_old(X4,X3,X2)), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q2(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q2(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X1,cons(X3,nil))), _q1(noncea_old(X4,X3,X2)), _q2(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q2(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(key(pub,X4)), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q1(pub), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))). + #false() :- _q1(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q1(noncea_old(X4,X3,X2)), _q2(cons(X1,cons(X3,nil))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q1(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(pub), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4). + #false() :- _q3(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(noncea_old(X4,X3,X2)), _q2(cons(X1,cons(X3,nil))), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4), _q4(pub). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4). + #false() :- _q4(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(noncea_old(X4,X3,X2)), _q3(key(pub,X4)), _q4(cons(X1,cons(X3,nil))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(nil), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q4(nil), _q4(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)). + #false() :- _q4(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q4(cons(X3,nil)), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(nil), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(nil), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(nil). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)). + #false() :- _q4(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(cons(X3,nil)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(nil), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(cons(X1,cons(X3,nil))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(noncea_old(X4,X3,X2)), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(cons(X1,cons(X3,nil))). + #false() :- _q3(key(pub,X4)), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(cons(X1,cons(X3,nil))).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X3,nil)), _q3(X1). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1). + #false() :- _q1(X3), _q2(cons(X3,nil)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1).
 knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1). is false: quit [X1=s(nonceb_current(nil,nil,nil,i)),X2=nil].
 >#false() :- _q1(X1), _q2(cons(X1,nil)).
*** split #false() :- _q1(X1), _q2(nil). =>  + #false() :- _q1(X1). + #false() :- _q2(nil).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(cons(X3,nil)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1). + #false() :- _q1(X3), _q3(cons(X3,nil)).
 >#false() :- _q1(X1), _q3(cons(X1,nil)).
*** split #false() :- _q1(X1), _q4(nil). =>  + #false() :- _q1(X1). + #false() :- _q4(nil).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q4(cons(X3,nil)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1). + #false() :- _q1(X3), _q4(cons(X3,nil)).
 >#false() :- _q1(X1), _q4(cons(X1,nil)).
*** split #false() :- _q1(X1), _q3(nil). =>  + #false() :- _q3(nil). + #false() :- _q1(X1).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X3,nil)), _q3(X1). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1). + #false() :- _q1(X3), _q1(cons(X3,nil)).
 >#false() :- _q1(X1), _q1(cons(X1,nil)).
*** split #false() :- _q1(X1), _q1(nil). =>  + #false() :- _q1(nil). + #false() :- _q1(X1).
 >#false() :- _q3(key(pub,X1)), _q4(X1).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(X4), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(cons(X1,cons(X3,nil))). + #false() :- _q2(X4), _q3(key(pub,X4)).
 >#false() :- _q2(X1), _q3(key(pub,X1)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(cons(X1,cons(X3,nil))). + #false() :- _q1(X4), _q3(key(pub,X4)).
 >#false() :- _q1(X1), _q3(key(pub,X1)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X4), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(cons(X1,cons(X3,nil))). + #false() :- _q3(X4), _q3(key(pub,X4)).
 >#false() :- _q3(X1), _q3(key(pub,X1)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(key(pub,X4)), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q1(pub), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))). + #false() :- _q1(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q2(noncea_old(X4,X3,X2)), _q4(cons(X1,cons(X3,nil))).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q4(cons(X1,cons(X3,nil))). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q4(cons(X1,cons(X3,nil))). + #false() :- _q1(X4).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q4(cons(X1,cons(X3,nil))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q1(noncea_old(X4,X3,X2)), _q3(cons(X1,cons(X3,nil))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q1(cons(X1,cons(X3,nil))), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q4(cons(X1,cons(X3,nil))), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(pub), _q4(X4), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q4(X4), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))). + #false() :- _q3(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q4(X4), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(noncea_old(X4,X3,X2)), _q4(X4), _q4(cons(X1,cons(X3,nil))).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q4(X4), _q4(cons(X1,cons(X3,nil))). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q4(cons(X1,cons(X3,nil))). + #false() :- _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(noncea_old(X4,X3,X2)), _q3(cons(X1,cons(X3,nil))), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X1,cons(X3,nil))), _q4(X4), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q4(X4), _q4(cons(X1,cons(X3,nil))), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q4(X4), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(pub). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q4(X4), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))). + #false() :- _q4(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(noncea_old(X4,X3,X2)), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q3(key(pub,X4)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(nil), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q2(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q2(X4), _q4(key(pub,X3)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q1(noncea_old(X4,X3,X2)), _q2(X3), _q4(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(key(pub,X4)), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q1(key(pub,X3)), _q2(X4).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q1(key(pub,X4)), _q1(noncea_old(X4,X3,X2)), _q2(X3).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(key(pub,X3)), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q2(noncea_old(X3,X4,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(pub), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q2(noncea_old(X3,X4,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q2(noncea_old(X3,X4,X2)). + #false() :- _q1(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q2(noncea_old(X3,X4,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q3(pub), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4). + #false() :- _q3(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4), _q4(pub). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4). + #false() :- _q4(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q2(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(noncea_old(X3,X4,X2)), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q2(key(pub,X3)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q2(X3), _q2(key(pub,X4)), _q2(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q2(X4), _q2(key(pub,X3)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q1(noncea_old(X4,X3,X2)), _q2(X3), _q2(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q2(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(key(pub,X3)), _q2(X4), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(pub), _q2(X4), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(X4), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))). + #false() :- _q1(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(X4), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(noncea_old(X3,X4,X2)), _q2(X4), _q2(cons(X1,cons(X4,nil))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X1,cons(X4,nil))), _q2(X4), _q2(noncea_old(X3,X4,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(pub), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4). + #false() :- _q3(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(noncea_old(X3,X4,X2)), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q2(X3), _q2(noncea_old(X4,X3,X2)), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4), _q4(pub). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4). + #false() :- _q4(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(noncea_old(X3,X4,X2)), _q2(X4), _q3(key(pub,X3)), _q4(cons(X1,cons(X4,nil))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(nil), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(nil), _q4(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)). + #false() :- _q3(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(cons(X3,nil)), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(X3,nil)), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(nil), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(nil), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(nil), _q3(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)). + #false() :- _q3(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(cons(X3,nil)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(X3,nil)), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(nil), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(cons(X1,cons(X3,nil))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q2(X3), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(noncea_old(X4,X3,X2)), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))). + #false() :- _q3(key(pub,X4)), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X3,nil)), _q3(X1). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1). + #false() :- _q2(X3), _q2(cons(X3,nil)).
 >#false() :- _q2(X1), _q2(cons(X1,nil)).
*** split #false() :- _q1(nil), _q2(X1). =>  + #false() :- _q1(nil). + #false() :- _q2(X1).
 >#false() :- _q2(X1).
 #false() :- _q2(X1). is false: quit [X1=i].
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(X4), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))). + #false() :- _q2(X4), _q3(key(pub,X4)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(X4), _q3(cons(X1,cons(X4,nil))), _q3(key(pub,X3)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X4), _q3(cons(X1,cons(X4,nil))). + #false() :- _q1(X3), _q3(key(pub,X3)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X4), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))). + #false() :- _q3(X4), _q3(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(key(pub,X3)), _q2(X4), _q4(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(pub), _q2(X4), _q4(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(X4), _q4(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))). + #false() :- _q1(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(X4), _q4(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(X4), _q2(noncea_old(X3,X4,X2)), _q4(cons(X1,cons(X4,nil))).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(X4), _q4(cons(X1,cons(X4,nil))). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X4), _q4(cons(X1,cons(X4,nil))). + #false() :- _q1(X3).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q4(cons(X1,cons(X3,nil))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(noncea_old(X3,X4,X2)), _q2(X4), _q3(cons(X1,cons(X4,nil))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X1,cons(X4,nil))), _q2(X4), _q4(noncea_old(X3,X4,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(X4), _q4(cons(X1,cons(X4,nil))), _q4(noncea_old(X3,X4,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(pub), _q4(X4), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q4(X4), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))). + #false() :- _q3(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q4(X4), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(noncea_old(X4,X3,X2)), _q4(X4), _q4(cons(X1,cons(X3,nil))).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q4(X4), _q4(cons(X1,cons(X3,nil))). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q4(cons(X1,cons(X3,nil))). + #false() :- _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(noncea_old(X3,X4,X2)), _q2(X4), _q3(cons(X1,cons(X4,nil))), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q2(X3), _q4(X4), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q4(X4), _q4(cons(X1,cons(X3,nil))), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q4(X4), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(pub). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q4(X4), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))). + #false() :- _q4(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(noncea_old(X3,X4,X2)), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q3(key(pub,X3)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q2(X3), _q2(noncea_old(X4,X3,X2)), _q3(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(X3,nil)), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(nil), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q2(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q2(X2), _q4(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X3,nil))), _q1(noncea_old(X4,X3,X2)), _q2(X2), _q4(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(key(pub,X4)), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q1(key(pub,X4)), _q2(X2).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X3,nil))), _q1(key(pub,X4)), _q1(noncea_old(X4,X3,X2)), _q2(X2).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(key(pub,X4)), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(pub), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)). + #false() :- _q1(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q3(pub), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4). + #false() :- _q3(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4), _q4(pub). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4). + #false() :- _q4(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q2(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(noncea_old(X4,X3,X2)), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X3,nil))), _q2(X2), _q2(key(pub,X4)), _q2(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q2(X2), _q2(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X3,nil))), _q1(noncea_old(X4,X3,X2)), _q2(X2), _q2(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q2(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(key(pub,X4)), _q2(X2), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(pub), _q2(X2), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X2), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))). + #false() :- _q1(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X2), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(noncea_old(X4,X3,X2)), _q2(X2), _q2(cons(X1,cons(X3,nil))).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(cons(X1,cons(X3,nil))), _q2(X2), _q2(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(pub), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4). + #false() :- _q3(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(noncea_old(X4,X3,X2)), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X3,nil))), _q2(X2), _q2(noncea_old(X4,X3,X2)), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4), _q4(pub). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4). + #false() :- _q4(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(noncea_old(X4,X3,X2)), _q2(X2), _q3(key(pub,X4)), _q4(cons(X1,cons(X3,nil))).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(X1), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(key(pub,X4)), _q4(X1), _q4(nil), _q4(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(key(pub,X4)), _q4(X1), _q4(noncea_old(X4,X3,X2)). + #false() :- _q4(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(key(pub,X4)), _q4(X1), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(nil), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q4(nil), _q4(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)). + #false() :- _q4(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X3,nil)), _q3(key(pub,X4)), _q4(X1), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(nil), _q3(key(pub,X4)), _q4(X1), _q4(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(key(pub,X4)), _q4(X1), _q4(noncea_old(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q4(cons(X3,nil)), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(cons(X3,nil)), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q1(nil), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X1).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X1), _q4(nil). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X1). + #false() :- _q4(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X1).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(nil), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(nil). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)). + #false() :- _q4(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X1).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(nil), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X1). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X1). + #false() :- _q2(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(cons(X3,nil)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(cons(X3,nil)), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q1(nil), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(cons(X1,cons(X3,nil))).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X3,nil))), _q2(X2), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(noncea_old(X4,X3,X2)), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X4), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(cons(X1,cons(X3,nil))). + #false() :- _q3(X4), _q3(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(cons(X1,cons(X3,nil))).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(cons(X3,nil)), _q4(X1). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q4(X1). + #false() :- _q1(X3), _q3(cons(X3,nil)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q4(X1).
 knows_old(crypt(X1,X2)) :- _q2(X2), _q4(X1). is false: quit [X1=nonceb_current(nil,nil,nil,i),X2=i].
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X3,nil)), _q3(X1). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1). + #false() :- _q1(X3), _q2(cons(X3,nil)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1).
 knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1). is false: quit [X1=s(nonceb_current(nil,nil,nil,i)),X2=i].
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(cons(X3,nil)). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1). + #false() :- _q1(X3), _q3(cons(X3,nil)).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X3,nil)), _q4(X1). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q4(X1). + #false() :- _q1(X3), _q2(cons(X3,nil)).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q4(cons(X3,nil)). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1). + #false() :- _q1(X3), _q4(cons(X3,nil)).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q1(cons(X3,nil)), _q2(X2), _q3(X1). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1). + #false() :- _q1(X3), _q1(cons(X3,nil)).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X2), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(cons(X1,cons(X3,nil))). + #false() :- _q1(X4), _q3(key(pub,X4)).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(cons(X1,cons(X3,nil))). + #false() :- _q3(key(pub,X4)), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(cons(X1,cons(X3,nil))). + #false() :- _q2(X4), _q3(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(key(pub,X4)), _q2(X2), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(pub), _q2(X2), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X2), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))). + #false() :- _q1(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X2), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X2), _q2(noncea_old(X4,X3,X2)), _q4(cons(X1,cons(X3,nil))).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X2), _q4(cons(X1,cons(X3,nil))). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q4(cons(X1,cons(X3,nil))). + #false() :- _q1(X4).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q4(cons(X1,cons(X3,nil))).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q1(cons(X3,nil)), _q2(X2), _q4(X1). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q4(X1). + #false() :- _q1(X3), _q1(cons(X3,nil)).
*** split knows_old(crypt(X1,X2)) :- _q1(nil), _q2(X2), _q2(X3), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q1(nil).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
 >knows_old(crypt(X1,X2)) :- _q1(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q2(X2), _q2(X4), _q4(key(pub,X3)).
 >knows_old(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q1(noncea_old(X4,X3,X2)), _q2(X2), _q2(X3), _q4(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(key(pub,X4)), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_old(crypt(X1,X2)) :- _q1(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q1(key(pub,X3)), _q2(X2), _q2(X4).
 >knows_old(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q1(key(pub,X4)), _q1(noncea_old(X4,X3,X2)), _q2(X2), _q2(X3).
 >knows_old(crypt(X1,X2)) :- _q1(key(pub,X3)), _q2(X2), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q2(noncea_old(X3,X4,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q1(pub), _q2(X2), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q2(noncea_old(X3,X4,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q2(noncea_old(X3,X4,X2)). + #false() :- _q1(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q2(noncea_old(X3,X4,X2)).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q3(pub), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4). + #false() :- _q3(pub).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4), _q4(pub). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4). + #false() :- _q4(pub).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q2(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(noncea_old(X3,X4,X2)), _q2(X2), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q2(key(pub,X3)).
 >knows_old(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q2(X2), _q2(X3), _q2(key(pub,X4)), _q2(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q2(X2), _q2(X4), _q2(key(pub,X3)).
 >knows_old(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q1(noncea_old(X4,X3,X2)), _q2(X2), _q2(X3), _q2(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q2(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(key(pub,X3)), _q2(X2), _q2(X4), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q1(pub), _q2(X2), _q2(X4), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))). + #false() :- _q1(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(noncea_old(X3,X4,X2)), _q2(X2), _q2(X4), _q2(cons(X1,cons(X4,nil))).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X4,nil))), _q2(X2), _q2(X4), _q2(noncea_old(X3,X4,X2)).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(pub), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4). + #false() :- _q3(pub).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(noncea_old(X3,X4,X2)), _q2(X2), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q2(X2), _q2(X3), _q2(noncea_old(X4,X3,X2)), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4), _q4(pub). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4). + #false() :- _q4(pub).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(noncea_old(X3,X4,X2)), _q2(X2), _q2(X4), _q3(key(pub,X3)), _q4(cons(X1,cons(X4,nil))).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(X1), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(key(pub,X4)), _q3(nil), _q4(X1), _q4(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(key(pub,X4)), _q4(X1), _q4(noncea_old(X4,X3,X2)). + #false() :- _q3(nil).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(key(pub,X4)), _q4(X1), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(nil), _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(nil), _q4(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)). + #false() :- _q3(nil).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X3,nil)), _q3(key(pub,X4)), _q4(X1), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(nil), _q2(X2), _q2(X3), _q3(key(pub,X4)), _q4(X1), _q4(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(key(pub,X4)), _q4(X1), _q4(noncea_old(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(cons(X3,nil)), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(nil), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X1).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(key(pub,X4)), _q3(nil), _q3(noncea_old(X4,X3,X2)), _q4(X1). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X1). + #false() :- _q3(nil).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X1).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(nil), _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(nil), _q3(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)). + #false() :- _q3(nil).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X1).
*** split knows_old(crypt(X1,X2)) :- _q1(nil), _q2(X2), _q2(X3), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X1). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X1). + #false() :- _q1(nil).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(cons(X3,nil)).
 >knows_old(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(nil), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(cons(X1,cons(X3,nil))).
 >knows_old(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q2(X2), _q2(X3), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(noncea_old(X4,X3,X2)), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X4), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))). + #false() :- _q3(X4), _q3(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(cons(X3,nil)), _q4(X1). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q4(X1). + #false() :- _q2(X3), _q3(cons(X3,nil)).
 >#false() :- _q2(X1), _q3(cons(X1,nil)).
*** split #false() :- _q2(X1), _q3(nil). =>  + #false() :- _q2(X1). + #false() :- _q3(nil).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X3,nil)), _q3(X1). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1). + #false() :- _q2(X3), _q2(cons(X3,nil)).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q3(cons(X1,cons(X4,nil))), _q3(key(pub,X3)). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X4), _q3(cons(X1,cons(X4,nil))). + #false() :- _q1(X3), _q3(key(pub,X3)).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(X4), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))). + #false() :- _q2(X4), _q3(key(pub,X4)).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))). + #false() :- _q3(key(pub,X4)), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(key(pub,X3)), _q2(X2), _q2(X4), _q4(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q1(pub), _q2(X2), _q2(X4), _q4(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q4(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))). + #false() :- _q1(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q4(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q2(noncea_old(X3,X4,X2)), _q4(cons(X1,cons(X4,nil))).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q4(cons(X1,cons(X4,nil))). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X4), _q4(cons(X1,cons(X4,nil))). + #false() :- _q1(X3).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q4(cons(X1,cons(X3,nil))).
*** split knows_old(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X2), _q2(X3), _q4(X1). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q4(X1). + #false() :- _q1(cons(X3,nil)), _q2(X3).
 >#false() :- _q1(cons(X1,nil)), _q2(X1).
*** split #false() :- _q2(X1), _q2(nil). =>  + #false() :- _q2(X1). + #false() :- _q2(nil).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q4(X1), _q4(cons(X3,nil)). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q4(X1). + #false() :- _q2(X3), _q4(cons(X3,nil)).
 >#false() :- _q2(X1), _q4(cons(X1,nil)).
*** split #false() :- _q2(X1), _q4(nil). =>  + #false() :- _q2(X1). + #false() :- _q4(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(noncea_old(X3,X4,X2)), _q2(X2), _q2(X4), _q3(cons(X1,cons(X4,nil))).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X4,nil))), _q2(X2), _q2(X4), _q4(noncea_old(X3,X4,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q4(cons(X1,cons(X4,nil))), _q4(noncea_old(X3,X4,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(cons(X4,nil)), _q2(X2), _q2(X4), _q4(X1), _q4(noncea_old(X3,X4,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q2(nil), _q4(X1), _q4(noncea_old(X3,X4,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q4(X1), _q4(noncea_old(X3,X4,X2)). + #false() :- _q2(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q4(X1), _q4(noncea_old(X3,X4,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q4(X1), _q4(cons(X4,nil)), _q4(noncea_old(X3,X4,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q4(X1), _q4(nil), _q4(noncea_old(X3,X4,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q4(X1), _q4(noncea_old(X3,X4,X2)). + #false() :- _q4(nil).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(pub), _q4(X4), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q4(X4), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))). + #false() :- _q3(pub).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q4(X4), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(noncea_old(X4,X3,X2)), _q4(X4), _q4(cons(X1,cons(X3,nil))).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q4(X4), _q4(cons(X1,cons(X3,nil))). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q4(cons(X1,cons(X3,nil))). + #false() :- _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(noncea_old(X3,X4,X2)), _q2(X2), _q2(X4), _q3(cons(X1,cons(X4,nil))), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q2(X2), _q2(X3), _q4(X4), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q4(X4), _q4(cons(X1,cons(X3,nil))), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X2), _q2(X3), _q4(X1), _q4(X4), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(nil), _q4(X1), _q4(X4), _q4(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q4(X1), _q4(X4), _q4(noncea_old(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q4(X1), _q4(X4), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q4(X1), _q4(X4), _q4(cons(X3,nil)), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q4(X1), _q4(X4), _q4(nil), _q4(noncea_old(X4,X3,X2)). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q4(X1), _q4(X4), _q4(noncea_old(X4,X3,X2)). + #false() :- _q4(nil).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q4(X4), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(pub). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q4(X4), _q4(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))). + #false() :- _q4(pub).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(noncea_old(X3,X4,X2)), _q2(X2), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q3(key(pub,X3)).
 >knows_old(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q2(X2), _q2(X3), _q2(noncea_old(X4,X3,X2)), _q3(key(pub,X4)).
*** split knows_old(crypt(X1,X2)) :- _q3(key(prv,server)), _q4(cons(X2,cons(X3,nil))), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_old(crypt(X1,X2)) :- _q4(cons(X2,cons(X3,nil))), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q3(key(prv,server)).
 >knows_old(crypt(X1,X2)) :- _q4(cons(X2,cons(X3,nil))), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q4(cons(X3,nil)), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q4(nil), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q4(nil).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(nil), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q3(nil).
*** split knows_old(crypt(X1,X2)) :- _q1(nil), _q2(X2), _q4(X3), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q4(X3), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q1(nil).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q4(X3), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
 >knows_old(crypt(X1,X2)) :- _q1(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q2(X2), _q4(X4), _q4(key(pub,X3)).
 >knows_old(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q1(noncea_old(X4,X3,X2)), _q2(X2), _q4(X3), _q4(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X3), _q4(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q3(key(pub,X3)), _q4(X4), _q4(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))).
 >knows_old(crypt(X1,X2)) :- _q1(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q1(key(pub,X3)), _q2(X2), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q1(key(pub,X4)), _q1(noncea_old(X4,X3,X2)), _q2(X2), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q1(key(pub,X3)), _q2(X2), _q2(cons(X1,cons(X4,nil))), _q2(noncea_old(X3,X4,X2)), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q1(pub), _q2(X2), _q2(cons(X1,cons(X4,nil))), _q2(noncea_old(X3,X4,X2)), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X4,nil))), _q2(noncea_old(X3,X4,X2)), _q4(X4). + #false() :- _q1(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X4,nil))), _q2(noncea_old(X3,X4,X2)), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q3(pub), _q4(X4), _q4(X3). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4), _q4(X3). + #false() :- _q3(pub).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X3), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4), _q4(X3), _q4(pub). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4), _q4(X3). + #false() :- _q4(pub).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q2(key(pub,X3)), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(noncea_old(X3,X4,X2)), _q2(X2), _q2(cons(X1,cons(X4,nil))), _q2(key(pub,X3)), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X4,nil))), _q2(key(pub,X3)), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X4,nil))), _q4(X4). + #false() :- _q1(X3), _q2(key(pub,X3)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q4(X3).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q4(X4), _q4(X3). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q4(X3). + #false() :- _q2(key(pub,X4)), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q2(X2), _q2(key(pub,X4)), _q2(noncea_old(X4,X3,X2)), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q1(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q2(X2), _q2(key(pub,X3)), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q1(noncea_old(X4,X3,X2)), _q2(X2), _q2(key(pub,X4)), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q2(noncea_old(X4,X3,X2)), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q1(key(pub,X3)), _q2(X2), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q1(pub), _q2(X2), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X4). + #false() :- _q1(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(noncea_old(X3,X4,X2)), _q2(X2), _q2(cons(X1,cons(X4,nil))), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X4,nil))), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X4,nil))), _q4(X4). + #false() :- _q1(X3).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X4,nil))), _q2(X2), _q2(noncea_old(X3,X4,X2)), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q3(pub), _q4(X3), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X3), _q4(X4). + #false() :- _q3(pub).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X3), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(noncea_old(X3,X4,X2)), _q2(X2), _q2(cons(X1,cons(X4,nil))), _q4(X3), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q4(X4), _q4(X3). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q4(X3). + #false() :- _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q2(X2), _q2(noncea_old(X4,X3,X2)), _q4(X4), _q4(X3).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X3), _q4(X4), _q4(pub). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X3), _q4(X4). + #false() :- _q4(pub).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q3(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q3(key(pub,X3)), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(noncea_old(X3,X4,X2)), _q2(X2), _q3(key(pub,X3)), _q4(X4), _q4(cons(X1,cons(X4,nil))).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(key(pub,X3)), _q4(X4), _q4(cons(X1,cons(X4,nil))). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q4(X4), _q4(cons(X1,cons(X4,nil))). + #false() :- _q1(X3), _q3(key(pub,X3)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q4(X3), _q4(cons(X1,cons(X3,nil))).
*** split knows_old(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X2), _q4(X1), _q4(X3). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q4(X1). + #false() :- _q1(cons(X3,nil)), _q4(X3).
 >#false() :- _q1(cons(X1,nil)), _q4(X1).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q4(X1), _q4(X3), _q4(cons(X3,nil)). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q4(X1). + #false() :- _q4(X3), _q4(cons(X3,nil)).
 >#false() :- _q4(X1), _q4(cons(X1,nil)).
*** split #false() :- _q1(nil), _q4(X1). =>  + #false() :- _q1(nil). + #false() :- _q4(X1).
 >#false() :- _q4(X1).
 #false() :- _q4(X1). is false: quit [X1=nonceb_current(nil,nil,nil,i)].
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q3(key(pub,X3)), _q4(X3), _q4(X4), _q4(cons(X1,cons(X4,nil))). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q4(X4), _q4(cons(X1,cons(X4,nil))). + #false() :- _q3(key(pub,X3)), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(X3), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(X1), _q4(X3), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q3(key(pub,X3)), _q3(nil), _q4(X1), _q4(X4), _q4(noncea_old(X3,X4,X2)). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q3(key(pub,X3)), _q4(X1), _q4(X4), _q4(noncea_old(X3,X4,X2)). + #false() :- _q3(nil).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q3(key(pub,X3)), _q4(X1), _q4(X4), _q4(noncea_old(X3,X4,X2)).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(nil), _q3(key(pub,X3)), _q4(X1), _q4(X4), _q4(noncea_old(X3,X4,X2)). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q3(key(pub,X3)), _q4(X1), _q4(X4), _q4(noncea_old(X3,X4,X2)). + #false() :- _q2(nil).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q4(X3), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(X3), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(key(pub,X3)), _q3(nil), _q4(X4), _q4(noncea_old(X3,X4,X2)). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(key(pub,X3)), _q4(X4), _q4(noncea_old(X3,X4,X2)). + #false() :- _q3(nil).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(key(pub,X3)), _q4(X4), _q4(noncea_old(X3,X4,X2)).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(nil), _q3(X1), _q3(key(pub,X3)), _q4(X4), _q4(noncea_old(X3,X4,X2)). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(key(pub,X3)), _q4(X4), _q4(noncea_old(X3,X4,X2)). + #false() :- _q2(nil).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(X3,nil)), _q3(key(pub,X4)), _q4(X1), _q4(X3), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(key(pub,X3)), _q4(X4), _q4(cons(X4,nil)), _q4(noncea_old(X3,X4,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q4(X3), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X1), _q4(X3).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q3(key(pub,X3)), _q3(nil), _q3(noncea_old(X3,X4,X2)), _q4(X1), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q3(key(pub,X3)), _q3(noncea_old(X3,X4,X2)), _q4(X1), _q4(X4). + #false() :- _q3(nil).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q3(key(pub,X3)), _q3(noncea_old(X3,X4,X2)), _q4(X1), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(nil), _q3(key(pub,X3)), _q3(noncea_old(X3,X4,X2)), _q4(X1), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q3(key(pub,X3)), _q3(noncea_old(X3,X4,X2)), _q4(X1), _q4(X4). + #false() :- _q2(nil).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X3).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(key(pub,X3)), _q3(nil), _q3(noncea_old(X3,X4,X2)), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(key(pub,X3)), _q3(noncea_old(X3,X4,X2)), _q4(X4). + #false() :- _q3(nil).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(key(pub,X3)), _q3(noncea_old(X3,X4,X2)), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(nil), _q3(X1), _q3(key(pub,X3)), _q3(noncea_old(X3,X4,X2)), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(key(pub,X3)), _q3(noncea_old(X3,X4,X2)), _q4(X4). + #false() :- _q2(nil).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X1), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(key(pub,X3)), _q3(noncea_old(X3,X4,X2)), _q4(X4), _q4(cons(X4,nil)).
 >knows_old(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(X3), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q3(key(pub,X3)), _q3(noncea_old(X3,X4,X2)), _q4(X4), _q4(cons(X1,cons(X4,nil))).
 >knows_old(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q2(X2), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q2(noncea_old(X3,X4,X2)), _q3(cons(X1,cons(X4,nil))), _q3(key(pub,X3)), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X3), _q3(cons(X1,cons(X4,nil))), _q3(key(pub,X3)), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q3(cons(X1,cons(X4,nil))), _q4(X4). + #false() :- _q3(X3), _q3(key(pub,X3)).
 >knows_old(crypt(X1,X2)) :- _q2(X2), _q3(cons(X1,cons(X3,nil))), _q4(X3).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q3(cons(X3,nil)), _q4(X1), _q4(X3). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q4(X1). + #false() :- _q3(cons(X3,nil)), _q4(X3).
 >#false() :- _q3(cons(X1,nil)), _q4(X1).
*** split #false() :- _q3(nil), _q4(X1). =>  + #false() :- _q3(nil). + #false() :- _q4(X1).
*** split #false() :- _q2(nil), _q4(X1). =>  + #false() :- _q2(nil). + #false() :- _q4(X1).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(X3,nil)), _q3(X1), _q4(X3). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1). + #false() :- _q2(cons(X3,nil)), _q4(X3).
 >#false() :- _q2(cons(X1,nil)), _q4(X1).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(cons(X3,nil)), _q4(X3). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1). + #false() :- _q3(cons(X3,nil)), _q4(X3).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(cons(X3,nil)), _q4(X1), _q4(X3). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q4(X1). + #false() :- _q2(cons(X3,nil)), _q4(X3).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q4(X3), _q4(cons(X3,nil)). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q3(X1). + #false() :- _q4(X3), _q4(cons(X3,nil)).
*** split knows_old(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(cons(X1,cons(X4,nil))), _q3(key(pub,X3)), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q3(cons(X1,cons(X4,nil))), _q4(X4). + #false() :- _q2(X3), _q3(key(pub,X3)).
 >knows_old(crypt(X1,X2)) :- _q1(key(pub,X3)), _q2(X2), _q4(X4), _q4(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q1(pub), _q2(X2), _q4(X4), _q4(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q4(X4), _q4(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))). + #false() :- _q1(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q4(X4), _q4(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(noncea_old(X3,X4,X2)), _q4(X4), _q4(cons(X1,cons(X4,nil))).
 >knows_old(crypt(X1,X2)) :- _q1(X3), _q1(noncea_old(X3,X4,X2)), _q2(X2), _q3(cons(X1,cons(X4,nil))), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(cons(X1,cons(X4,nil))), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q2(X2), _q3(cons(X1,cons(X4,nil))), _q4(X4). + #false() :- _q1(X3).
*** split knows_old(crypt(X1,X2)) :- _q1(cons(X2,cons(X3,nil))), _q1(key(prv,server)), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_old(crypt(X1,X2)) :- _q1(cons(X2,cons(X3,nil))), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q1(key(prv,server)).
*** split knows_old(crypt(X1,X2)) :- _q2(cons(X2,cons(X3,nil))), _q2(key(prv,server)), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_old(crypt(X1,X2)) :- _q2(cons(X2,cons(X3,nil))), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q2(key(prv,server)).
 >knows_old(crypt(X1,X2)) :- _q2(cons(X2,cons(X3,nil))), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(X3,nil)), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(nil), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q2(nil).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(nil), _q2(X3), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q1(nil).
 >knows_old(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X2), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
*** split knows_old(crypt(X1,X2)) :- _q1(X3), _q1(nil), _q2(X2), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_old(crypt(X1,X2)) :- _q1(X3), _q2(X2), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q1(nil).
*** split knows_old(crypt(X1,X2)) :- _q1(cons(X2,cons(X3,nil))), _q2(key(prv,server)), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_old(crypt(X1,X2)) :- _q1(cons(X2,cons(X3,nil))), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q2(key(prv,server)).
*** split knows_old(crypt(X1,X2)) :- _q1(key(prv,server)), _q2(cons(X2,cons(X3,nil))), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_old(crypt(X1,X2)) :- _q2(cons(X2,cons(X3,nil))), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q1(key(prv,server)).
*** split knows_old(crypt(X1,X2)) :- _q3(cons(X2,cons(X3,nil))), _q3(key(prv,server)), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_old(crypt(X1,X2)) :- _q3(cons(X2,cons(X3,nil))), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q3(key(prv,server)).
 >knows_old(crypt(X1,X2)) :- _q3(cons(X2,cons(X3,nil))), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q4(cons(X3,nil)), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q4(nil), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q4(nil).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(nil), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q3(nil).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(nil), _q4(X3), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q4(X3), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q1(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q4(X3), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X4), _q4(key(pub,X3)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q1(noncea_old(X4,X3,X2)), _q4(X3), _q4(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X3), _q4(key(pub,X4)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q3(key(pub,X3)), _q4(X4), _q4(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q1(key(pub,X3)), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q1(key(pub,X4)), _q1(noncea_old(X4,X3,X2)), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(key(pub,X3)), _q2(cons(X1,cons(X4,nil))), _q2(noncea_old(X3,X4,X2)), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(pub), _q2(cons(X1,cons(X4,nil))), _q2(noncea_old(X3,X4,X2)), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X4,nil))), _q2(noncea_old(X3,X4,X2)), _q4(X4). + #false() :- _q1(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X4,nil))), _q2(noncea_old(X3,X4,X2)), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q3(pub), _q4(X4), _q4(X3). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4), _q4(X3). + #false() :- _q3(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X3), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4), _q4(X3), _q4(pub). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4), _q4(X3). + #false() :- _q4(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q2(key(pub,X3)), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(noncea_old(X3,X4,X2)), _q2(cons(X1,cons(X4,nil))), _q2(key(pub,X3)), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q4(X4), _q4(X3). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q4(X3). + #false() :- _q2(key(pub,X4)), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q4(X3).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X4,nil))), _q2(key(pub,X3)), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X4,nil))), _q4(X4). + #false() :- _q1(X3), _q2(key(pub,X3)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q2(noncea_old(X4,X3,X2)), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q2(key(pub,X3)), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q1(noncea_old(X4,X3,X2)), _q2(key(pub,X4)), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q2(noncea_old(X4,X3,X2)), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(key(pub,X3)), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(pub), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X4). + #false() :- _q1(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(noncea_old(X3,X4,X2)), _q2(cons(X1,cons(X4,nil))), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X4,nil))), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X4,nil))), _q4(X4). + #false() :- _q1(X3).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X1,cons(X4,nil))), _q2(noncea_old(X3,X4,X2)), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q3(pub), _q4(X3), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X3), _q4(X4). + #false() :- _q3(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X3), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(noncea_old(X3,X4,X2)), _q2(cons(X1,cons(X4,nil))), _q4(X3), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q4(X4), _q4(X3). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q4(X3). + #false() :- _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q2(noncea_old(X4,X3,X2)), _q4(X4), _q4(X3).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X3), _q4(X4), _q4(pub). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X3), _q4(X4). + #false() :- _q4(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q3(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))), _q3(key(pub,X3)), _q4(X4).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(noncea_old(X3,X4,X2)), _q3(key(pub,X3)), _q4(X4), _q4(cons(X1,cons(X4,nil))).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q3(key(pub,X3)), _q4(X3), _q4(X4), _q4(cons(X1,cons(X4,nil))). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q4(X4), _q4(cons(X1,cons(X4,nil))). + #false() :- _q3(key(pub,X3)), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q4(X3), _q4(cons(X1,cons(X3,nil))).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(key(pub,X3)), _q4(X4), _q4(cons(X1,cons(X4,nil))). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q4(X4), _q4(cons(X1,cons(X4,nil))). + #false() :- _q1(X3), _q3(key(pub,X3)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(X3), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q4(X3), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(X3), _q4(noncea_old(X4,X3,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(key(pub,X3)), _q3(nil), _q4(X4), _q4(noncea_old(X3,X4,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(key(pub,X3)), _q4(X4), _q4(noncea_old(X3,X4,X2)). + #false() :- _q3(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(key(pub,X3)), _q4(X4), _q4(noncea_old(X3,X4,X2)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(nil), _q3(X1), _q3(key(pub,X3)), _q4(X4), _q4(noncea_old(X3,X4,X2)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(key(pub,X3)), _q4(X4), _q4(noncea_old(X3,X4,X2)). + #false() :- _q2(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(key(pub,X3)), _q4(X4), _q4(cons(X4,nil)), _q4(noncea_old(X3,X4,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q4(X3), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X3).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(key(pub,X3)), _q3(nil), _q3(noncea_old(X3,X4,X2)), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(key(pub,X3)), _q3(noncea_old(X3,X4,X2)), _q4(X4). + #false() :- _q3(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(key(pub,X3)), _q3(noncea_old(X3,X4,X2)), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(nil), _q3(X1), _q3(key(pub,X3)), _q3(noncea_old(X3,X4,X2)), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(key(pub,X3)), _q3(noncea_old(X3,X4,X2)), _q4(X4). + #false() :- _q2(nil).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(key(pub,X3)), _q3(noncea_old(X3,X4,X2)), _q4(X4), _q4(cons(X4,nil)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(X3), _q4(noncea_old(X4,X3,X2)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q3(key(pub,X3)), _q3(noncea_old(X3,X4,X2)), _q4(X4), _q4(cons(X1,cons(X4,nil))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_old(X4,X3,X2)), _q4(X3).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q2(noncea_old(X3,X4,X2)), _q3(cons(X1,cons(X4,nil))), _q3(key(pub,X3)), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(cons(X1,cons(X4,nil))), _q3(key(pub,X3)), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q3(cons(X1,cons(X4,nil))), _q4(X4). + #false() :- _q2(X3), _q3(key(pub,X3)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q3(cons(X1,cons(X3,nil))), _q4(X3).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q2(cons(X3,nil)), _q3(X1), _q4(X3). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1). + #false() :- _q2(cons(X3,nil)), _q4(X3).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(cons(X3,nil)), _q4(X3). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1). + #false() :- _q3(cons(X3,nil)), _q4(X3).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q4(X3), _q4(cons(X3,nil)). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X1). + #false() :- _q4(X3), _q4(cons(X3,nil)).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q3(X3), _q3(cons(X1,cons(X4,nil))), _q3(key(pub,X3)), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q3(cons(X1,cons(X4,nil))), _q4(X4). + #false() :- _q3(X3), _q3(key(pub,X3)).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(key(pub,X3)), _q4(X4), _q4(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(pub), _q4(X4), _q4(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q4(X4), _q4(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))). + #false() :- _q1(pub).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q4(X4), _q4(cons(noncea_old(X3,X4,X2),cons(X1,cons(X4,nil)))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(noncea_old(X3,X4,X2)), _q4(X4), _q4(cons(X1,cons(X4,nil))).
 >knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(noncea_old(X3,X4,X2)), _q3(cons(X1,cons(X4,nil))), _q4(X4).
*** split knows_old(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(cons(X1,cons(X4,nil))), _q4(X4). =>  + knows_old(crypt(X1,X2)) :- _q1(X2), _q3(cons(X1,cons(X4,nil))), _q4(X4). + #false() :- _q1(X3).
*** split knows_old(crypt(X1,X2)) :- _q1(key(prv,server)), _q4(cons(X2,cons(X3,nil))), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_old(crypt(X1,X2)) :- _q4(cons(X2,cons(X3,nil))), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q1(key(prv,server)).
*** split knows_old(crypt(X1,X2)) :- _q2(cons(X2,cons(X3,nil))), _q3(key(prv,server)), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_old(crypt(X1,X2)) :- _q2(cons(X2,cons(X3,nil))), knows_old(crypt(cons(noncea_old(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q3(key(prv,server)).
 ... OK.
Checking clause knows_current(X) :- agent(X)...
 ... OK.
Checking clause knows_old(key(pub,X))...
 >knows_old(key(pub,X1)).
*** pos_value_checker: knows_old(key(pub,X1)).
rho =
 case analysis: _q4(X1); _q3(X1); _q2(X1); _q1(X1).
 ... OK.
Checking clause knows_current(M) :- knows_current(s(M))...
 >knows_current(X1) :- knows_current(s(X1)).
 ... OK.
Checking clause knows_current(crypt(cons(Na,cons(nonceb_current(A,B,KPa,Na),cons(B,nil))),KPa)) :- knows_current(crypt(cons(Na,cons(A,nil)),key(pub,B))), agent(B), knows_current(crypt(cons(KPa,cons(A,nil)),key(prv,server)))...
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- agent(X3), knows_current(crypt(cons(X4,cons(X2,nil)),key(prv,server))), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X4,cons(X2,nil))), _q4(key(prv,server)), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X4,cons(X2,nil))), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q4(key(prv,server)).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X4,cons(X2,nil))), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X2,nil)), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(nil), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(cons(X1,cons(X2,nil))), _q4(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q1(cons(X2,nil)), _q4(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q1(nil), _q4(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q4(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q4(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q2(cons(X2,nil)), _q4(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q2(nil), _q4(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q4(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q4(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(key(pub,X3)), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(cons(X1,cons(X2,nil))), _q1(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q1(cons(X2,nil)), _q1(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q1(key(pub,X3)), _q1(nil), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q1(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q1(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(key(pub,X3)), _q2(X1), _q2(cons(X2,nil)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(cons(X1,cons(X2,nil))), _q2(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q2(cons(X2,nil)), _q2(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q2(key(pub,X3)), _q2(nil), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q2(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q2(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(cons(X2,nil)), _q2(X1), _q2(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(nil), _q2(X1), _q2(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q2(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q2(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(cons(X1,cons(X2,nil))), _q2(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q1(cons(X2,nil)), _q2(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q1(nil), _q2(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q2(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q2(cons(X2,nil)), _q2(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q2(key(pub,X3)), _q2(nil), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q2(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(key(pub,X3)), _q2(cons(X1,cons(X2,nil))), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q1(X4), _q1(pub), _q2(cons(X1,cons(X2,nil))), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q1(X4), _q2(cons(X1,cons(X2,nil))), agent(X3). + #false() :- _q1(pub).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q1(X4), _q2(cons(X1,cons(X2,nil))), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(cons(X1,cons(X2,nil))), _q3(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q3(key(pub,X3)), _q4(cons(X2,nil)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(key(pub,X3)), _q4(X1), _q4(nil), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(key(pub,X3)), _q4(X1), agent(X3). + #false() :- _q4(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(key(pub,X3)), _q4(X1), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(cons(X2,nil)), _q3(X1), _q3(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(nil), _q3(X1), _q3(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(X1), _q3(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(X1), _q3(cons(X2,nil)), _q3(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(X1), _q3(key(pub,X3)), _q4(nil), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q4(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(nil), _q3(key(pub,X3)), _q4(X1), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(key(pub,X3)), _q4(X1), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(X1), _q3(key(pub,X3)), _q4(cons(X2,nil)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(cons(X2,nil)), _q3(X1), _q3(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(nil), _q3(X1), _q3(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q3(cons(X2,nil)), _q3(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q3(key(pub,X3)), _q4(nil), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q4(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q3(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(key(pub,X3)), _q4(cons(X1,cons(X2,nil))), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q1(X4), _q1(pub), _q4(cons(X1,cons(X2,nil))), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q1(X4), _q4(cons(X1,cons(X2,nil))), agent(X3). + #false() :- _q1(pub).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q1(X4), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(cons(X1,cons(X2,nil))), _q3(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q2(cons(X2,nil)), _q3(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q2(nil), _q3(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q3(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X4), _q3(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(cons(X2,nil)), _q2(X1), _q3(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q1(nil), _q2(X1), _q3(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q2(nil), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X1,cons(X2,nil))), _q2(X2), _q4(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q1(cons(X2,nil)), _q2(X2), _q4(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q2(nil), _q4(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q4(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q4(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q2(cons(X2,nil)), _q4(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(nil), _q2(X1), _q2(X2), _q4(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q4(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q4(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(key(pub,X3)), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X1,cons(X2,nil))), _q1(key(pub,X3)), _q2(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q1(cons(X2,nil)), _q1(key(pub,X3)), _q2(X2), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q1(key(pub,X3)), _q2(X2), _q2(nil), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q1(key(pub,X3)), _q2(X2), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q1(key(pub,X3)), _q2(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(key(pub,X3)), _q2(X1), _q2(X2), _q2(cons(X2,nil)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q2(cons(X1,cons(X2,nil))), _q2(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q2(cons(X2,nil)), _q2(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q1(nil), _q2(X2), _q2(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q2(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q2(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X2,nil)), _q2(X1), _q2(X2), _q2(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q2(key(pub,X3)), _q2(nil), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q2(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q2(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X1,cons(X2,nil))), _q2(X2), _q2(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q1(cons(X2,nil)), _q2(X2), _q2(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q2(key(pub,X3)), _q2(nil), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q2(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q2(cons(X2,nil)), _q2(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(nil), _q2(X1), _q2(X2), _q2(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q2(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(key(pub,X3)), _q2(X2), _q2(cons(X1,cons(X2,nil))), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q1(pub), _q2(X2), _q2(cons(X1,cons(X2,nil))), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(X2), _q2(cons(X1,cons(X2,nil))), agent(X3). + #false() :- _q1(pub).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(X2), _q2(cons(X1,cons(X2,nil))), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(cons(X1,cons(X2,nil))), _q3(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q3(key(pub,X3)), _q4(cons(X2,nil)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(key(pub,X3)), _q3(nil), _q4(X1), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(key(pub,X3)), _q4(X1), agent(X3). + #false() :- _q3(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(key(pub,X3)), _q4(X1), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q2(cons(X2,nil)), _q3(X1), _q3(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(nil), _q2(X2), _q3(X1), _q3(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(X1), _q3(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(X1), _q3(cons(X2,nil)), _q3(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(X1), _q3(key(pub,X3)), _q3(nil), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q3(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q2(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(nil), _q2(X2), _q3(key(pub,X3)), _q4(X1), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(key(pub,X3)), _q4(X1), agent(X3). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(X1), _q3(key(pub,X3)), _q4(cons(X2,nil)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X2,nil)), _q2(X2), _q3(X1), _q3(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q2(nil), _q3(X1), _q3(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q3(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q3(cons(X2,nil)), _q3(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q3(key(pub,X3)), _q3(nil), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q3(key(pub,X3)), agent(X3). + #false() :- _q3(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q3(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(key(pub,X3)), _q2(X2), _q4(cons(X1,cons(X2,nil))), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q1(pub), _q2(X2), _q4(cons(X1,cons(X2,nil))), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(X2), _q4(cons(X1,cons(X2,nil))), agent(X3). + #false() :- _q1(pub).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(X2), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q1(cons(X2,nil)), _q2(X2), _q4(X1), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(X2), _q2(nil), _q4(X1), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(X2), _q4(X1), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(X2), _q4(X1), agent(X3).
 knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(X2), _q4(X1), agent(X3). is false: quit [X1=nonceb_current(nil,nil,nil,i),X3=nil,X2=i,X4=nil].
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(X2), _q4(X1), _q4(cons(X2,nil)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(X2), _q4(X1), _q4(nil), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(X2), _q4(X1), agent(X3). + #false() :- _q4(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q2(cons(X1,cons(X2,nil))), _q3(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q2(cons(X2,nil)), _q3(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q1(nil), _q2(X2), _q3(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q3(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(X2), _q3(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X2,nil)), _q2(X1), _q2(X2), _q3(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q2(nil), _q3(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(X2), _q3(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q2(cons(X2,nil)), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q2(nil), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(cons(X1,cons(X2,nil))), _q2(X4), _q4(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(cons(X2,nil)), _q2(X4), _q4(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(nil), _q2(X4), _q4(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q2(X4), _q4(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q2(X4), _q4(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X3), _q2(X4), _q2(pub), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X3), _q2(X4), agent(X3). + #false() :- _q2(pub).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X3), _q2(X4), agent(X3).
 knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X3), _q2(X4), agent(X3). is false: quit [X1=nil,X3=nil,X2=nil,X4=i].
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(X4), _q2(cons(X2,nil)), _q4(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(X4), _q2(nil), _q4(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(X4), _q4(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X1), _q2(X4), _q4(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q2(X1), _q2(X4), _q2(pub), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q2(X1), _q2(X4), agent(X3). + #false() :- _q2(pub).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q2(X1), _q2(X4), agent(X3).
 knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X3), _q2(X1), _q2(X4), agent(X3). is false: quit [X1=i,X3=nil,X2=nil,X4=i].
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q3(key(pub,X3)), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(cons(X1,cons(X2,nil))), _q1(key(pub,X3)), _q2(X4), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(cons(X2,nil)), _q1(key(pub,X3)), _q2(X4), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(key(pub,X3)), _q1(nil), _q2(X4), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(key(pub,X3)), _q2(X4), agent(X3). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(key(pub,X3)), _q2(X4), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X3), _q1(pub), _q2(X4), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X2), _q1(X3), _q2(X4), agent(X3). + #false() :- _q1(pub).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(nil), _q2(X2), _q2(X4), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X1,cons(X2,nil))), _q2(X2), _q2(X4), _q4(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(cons(X2,nil)), _q2(X2), _q2(X4), _q4(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q2(nil), _q4(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q4(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q4(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q2(cons(X2,nil)), _q4(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(nil), _q2(X1), _q2(X2), _q2(X4), _q4(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q4(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q4(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(key(pub,X3)), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X1,cons(X2,nil))), _q1(key(pub,X3)), _q2(X2), _q2(X4), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(cons(X2,nil)), _q1(key(pub,X3)), _q2(X2), _q2(X4), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(key(pub,X3)), _q2(X2), _q2(X4), _q2(nil), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(key(pub,X3)), _q2(X2), _q2(X4), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(key(pub,X3)), _q2(X2), _q2(X4), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(key(pub,X3)), _q2(X1), _q2(X2), _q2(X4), _q2(cons(X2,nil)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q2(cons(X1,cons(X2,nil))), _q2(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q2(cons(X2,nil)), _q2(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(nil), _q2(X2), _q2(X4), _q2(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q2(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q2(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X2,nil)), _q2(X1), _q2(X2), _q2(X4), _q2(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q2(key(pub,X3)), _q2(nil), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q2(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q2(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X1,cons(X2,nil))), _q2(X2), _q2(X4), _q2(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(cons(X2,nil)), _q2(X2), _q2(X4), _q2(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q2(key(pub,X3)), _q2(nil), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q2(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q2(cons(X2,nil)), _q2(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(nil), _q2(X1), _q2(X2), _q2(X4), _q2(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q2(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(key(pub,X3)), _q2(X2), _q2(X4), _q2(cons(X1,cons(X2,nil))), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(pub), _q2(X2), _q2(X4), _q2(cons(X1,cons(X2,nil))), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X2), _q2(X4), _q2(cons(X1,cons(X2,nil))), agent(X3). + #false() :- _q1(pub).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X2), _q2(X4), _q2(cons(X1,cons(X2,nil))), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(cons(X1,cons(X2,nil))), _q3(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q3(key(pub,X3)), _q4(cons(X2,nil)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(key(pub,X3)), _q3(nil), _q4(X1), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(key(pub,X3)), _q4(X1), agent(X3). + #false() :- _q3(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(key(pub,X3)), _q4(X1), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q2(cons(X2,nil)), _q3(X1), _q3(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(nil), _q2(X2), _q2(X4), _q3(X1), _q3(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(X1), _q3(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(X1), _q3(cons(X2,nil)), _q3(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(X1), _q3(key(pub,X3)), _q3(nil), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q3(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q2(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(nil), _q2(X2), _q2(X4), _q3(key(pub,X3)), _q4(X1), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(key(pub,X3)), _q4(X1), agent(X3). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(X1), _q3(key(pub,X3)), _q4(cons(X2,nil)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X2,nil)), _q2(X2), _q2(X4), _q3(X1), _q3(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q2(nil), _q3(X1), _q3(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q3(X1), _q3(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q3(cons(X2,nil)), _q3(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q3(key(pub,X3)), _q3(nil), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q3(key(pub,X3)), agent(X3). + #false() :- _q3(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q3(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(key(pub,X3)), _q2(X2), _q2(X4), _q4(cons(X1,cons(X2,nil))), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(pub), _q2(X2), _q2(X4), _q4(cons(X1,cons(X2,nil))), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X2), _q2(X4), _q4(cons(X1,cons(X2,nil))), agent(X3). + #false() :- _q1(pub).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X2), _q2(X4), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(cons(X2,nil)), _q2(X2), _q2(X4), _q4(X1), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X2), _q2(X4), _q2(nil), _q4(X1), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X2), _q2(X4), _q4(X1), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X2), _q2(X4), _q4(X1), agent(X3).
 knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X2), _q2(X4), _q4(X1), agent(X3). is false: quit [X1=nonceb_current(nil,nil,nil,i),X3=nil,X2=i,X4=i].
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X2), _q2(X4), _q4(X1), _q4(cons(X2,nil)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X2), _q2(X4), _q4(X1), _q4(nil), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X2), _q2(X4), _q4(X1), agent(X3). + #false() :- _q4(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q2(cons(X1,cons(X2,nil))), _q3(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q2(cons(X2,nil)), _q3(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(nil), _q2(X2), _q2(X4), _q3(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q3(key(pub,X3)), agent(X3). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X2), _q2(X4), _q3(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X2,nil)), _q2(X1), _q2(X2), _q2(X4), _q3(key(pub,X3)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q2(nil), _q3(key(pub,X3)), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X2), _q2(X4), _q3(key(pub,X3)), agent(X3). + #false() :- _q2(nil).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(key(prv,server)), _q4(cons(X4,cons(X2,nil))), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q4(cons(X4,cons(X2,nil))), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q3(key(prv,server)).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q4(cons(X4,cons(X2,nil))), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q4(cons(X2,nil)), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), _q4(nil), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X2), _q2(X4), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q4(nil).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), _q3(nil), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q3(nil).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(nil), _q2(X4), _q4(X2), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q4(X2), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q4(X2), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X1,cons(X2,nil))), _q2(X4), _q4(X2), _q4(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(cons(X2,nil)), _q2(X4), _q4(X2), _q4(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X4), _q2(cons(X2,nil)), _q4(X2), _q4(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(key(pub,X3)), _q4(X2), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X1,cons(X2,nil))), _q1(key(pub,X3)), _q2(X4), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(cons(X2,nil)), _q1(key(pub,X3)), _q2(X4), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(key(pub,X3)), _q2(X1), _q2(X4), _q2(cons(X2,nil)), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q2(cons(X1,cons(X2,nil))), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X4), _q2(cons(X2,nil)), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X2,nil)), _q2(X1), _q2(X4), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X1,cons(X2,nil))), _q2(X4), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(cons(X2,nil)), _q2(X4), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X4), _q2(cons(X2,nil)), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(key(pub,X3)), _q2(X4), _q2(cons(X1,cons(X2,nil))), _q4(X2), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(pub), _q2(X4), _q2(cons(X1,cons(X2,nil))), _q4(X2), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X4), _q2(cons(X1,cons(X2,nil))), _q4(X2), agent(X3). + #false() :- _q1(pub).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X4), _q2(cons(X1,cons(X2,nil))), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(cons(X1,cons(X2,nil))), _q3(key(pub,X3)), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q2(X4), _q3(key(pub,X3)), _q4(X2), _q4(cons(X2,nil)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(key(pub,X3)), _q3(nil), _q4(X1), _q4(X2), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3). + #false() :- _q3(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q2(nil), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q2(cons(X2,nil)), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(X1), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X2), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(X1), _q3(key(pub,X3)), _q3(nil), _q4(X2), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3). + #false() :- _q3(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q2(nil), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q2(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X4), _q3(X1), _q3(key(pub,X3)), _q4(X2), _q4(cons(X2,nil)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X2,nil)), _q2(X4), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X4), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X2), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X4), _q3(key(pub,X3)), _q3(nil), _q4(X2), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X4), _q3(key(pub,X3)), _q4(X2), agent(X3). + #false() :- _q3(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X4), _q3(key(pub,X3)), _q4(X2), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X4), _q2(nil), _q3(key(pub,X3)), _q4(X2), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(X1), _q2(X4), _q3(key(pub,X3)), _q4(X2), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(key(pub,X3)), _q2(X4), _q4(X2), _q4(cons(X1,cons(X2,nil))), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(pub), _q2(X4), _q4(X2), _q4(cons(X1,cons(X2,nil))), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X4), _q4(X2), _q4(cons(X1,cons(X2,nil))), agent(X3). + #false() :- _q1(pub).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X4), _q4(X2), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(cons(X2,nil)), _q2(X4), _q4(X1), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X4), _q4(X1), _q4(X2), _q4(cons(X2,nil)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(nil), _q2(X4), _q4(X1), _q4(X2), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X4), _q4(X1), _q4(X2), agent(X3). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X4), _q4(X1), _q4(X2), agent(X3).
 knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q2(X4), _q4(X1), _q4(X2), agent(X3). is false: quit [X1=nonceb_current(nil,nil,nil,i),X3=nil,X2=nonceb_current(nil,nil,nil,i),X4=i].
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X4,cons(X2,nil))), _q1(key(prv,server)), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X4,cons(X2,nil))), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q1(key(prv,server)).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(cons(X4,cons(X2,nil))), _q2(key(prv,server)), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(cons(X4,cons(X2,nil))), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q2(key(prv,server)).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(cons(X4,cons(X2,nil))), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(cons(X2,nil)), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q2(nil), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q2(nil).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(nil), _q2(X2), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X2,nil)), _q2(X4), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(nil), _q2(X4), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q2(X4), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q1(nil).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X4,cons(X2,nil))), _q2(key(prv,server)), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(cons(X4,cons(X2,nil))), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q2(key(prv,server)).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(key(prv,server)), _q2(cons(X4,cons(X2,nil))), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(cons(X4,cons(X2,nil))), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q1(key(prv,server)).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(cons(X4,cons(X2,nil))), _q3(key(prv,server)), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(cons(X4,cons(X2,nil))), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q3(key(prv,server)).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q3(cons(X4,cons(X2,nil))), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q4(cons(X2,nil)), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), _q4(nil), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X2), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q4(nil).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), _q3(nil), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X2), _q1(X4), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q3(nil).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(nil), _q4(X2), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q4(X2), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q4(X2), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X1,cons(X2,nil))), _q4(X2), _q4(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q1(cons(X2,nil)), _q4(X2), _q4(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(cons(X2,nil)), _q4(X2), _q4(key(pub,X3)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(key(pub,X3)), _q4(X2), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X1,cons(X2,nil))), _q1(key(pub,X3)), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q1(cons(X2,nil)), _q1(key(pub,X3)), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(key(pub,X3)), _q2(X1), _q2(cons(X2,nil)), _q4(X2), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q1(pub), _q2(X1), _q2(cons(X2,nil)), _q4(X2), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(X1), _q2(cons(X2,nil)), _q4(X2), agent(X3). + #false() :- _q1(pub).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(X1), _q2(cons(X2,nil)), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(cons(X1,cons(X2,nil))), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q2(cons(X2,nil)), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X2,nil)), _q2(X1), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X1,cons(X2,nil))), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q1(cons(X2,nil)), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(cons(X2,nil)), _q2(key(pub,X3)), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(key(pub,X3)), _q2(cons(X1,cons(X2,nil))), _q4(X2), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q1(pub), _q2(cons(X1,cons(X2,nil))), _q4(X2), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(cons(X1,cons(X2,nil))), _q4(X2), agent(X3). + #false() :- _q1(pub).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(cons(X1,cons(X2,nil))), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q1(cons(X2,nil)), _q2(X1), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(cons(X1,cons(X2,nil))), _q3(key(pub,X3)), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X1), _q1(X4), _q3(key(pub,X3)), _q4(X2), _q4(cons(X2,nil)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(key(pub,X3)), _q3(nil), _q4(X1), _q4(X2), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3). + #false() :- _q3(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(nil), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(cons(X2,nil)), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(X1), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X2), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(X1), _q3(key(pub,X3)), _q3(nil), _q4(X2), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3). + #false() :- _q3(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(nil), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(cons(X2,nil)), _q3(key(pub,X3)), _q4(X1), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q3(X1), _q3(key(pub,X3)), _q4(X2), _q4(cons(X2,nil)), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(cons(X2,nil)), _q3(X1), _q3(key(pub,X3)), _q4(X2), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q3(cons(X2,nil)), _q3(key(pub,X3)), _q4(X2), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q3(key(pub,X3)), _q3(nil), _q4(X2), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q3(key(pub,X3)), _q4(X2), agent(X3). + #false() :- _q3(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q3(key(pub,X3)), _q4(X2), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q2(nil), _q3(key(pub,X3)), _q4(X2), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q2(X1), _q3(key(pub,X3)), _q4(X2), agent(X3). + #false() :- _q2(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X4), _q1(key(pub,X3)), _q4(X2), _q4(cons(X1,cons(X2,nil))), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q1(pub), _q4(X2), _q4(cons(X1,cons(X2,nil))), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q4(X2), _q4(cons(X1,cons(X2,nil))), agent(X3). + #false() :- _q1(pub).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q4(X2), _q4(cons(X1,cons(X2,nil))), agent(X3).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(X1), _q4(X2), _q4(cons(X2,nil)), agent(X3).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q1(nil), _q2(X1), _q4(X2), agent(X3). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(X1), _q4(X2), agent(X3). + #false() :- _q1(nil).
 >knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(X1), _q4(X2), agent(X3).
 knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(X3), _q1(X4), _q2(X1), _q4(X2), agent(X3). is false: quit [X1=i,X3=nil,X2=nonceb_current(nil,nil,nil,i),X4=nil].
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q1(key(prv,server)), _q4(cons(X4,cons(X2,nil))), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q4(cons(X4,cons(X2,nil))), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q1(key(prv,server)).
*** split knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(cons(X4,cons(X2,nil))), _q3(key(prv,server)), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). =>  + knows_current(crypt(cons(X1,cons(nonceb_current(X2,X3,X4,X1),cons(X3,nil))),X4)) :- _q2(cons(X4,cons(X2,nil))), agent(X3), knows_current(crypt(cons(X1,cons(X2,nil)),key(pub,X3))). + #false() :- _q3(key(prv,server)).
 ... OK.
Checking clause knows_current(M) :- knows_old(M)...
 ... OK.
Checking clause knows_old(cons(A,cons(B,nil))) :- agent(B), agent(A)...
 >knows_old(cons(X1,cons(X2,nil))) :- agent(X1), agent(X2).
*** pos_value_checker: knows_old(cons(X1,cons(X2,nil))) :- agent(X1), agent(X2).
Cannot check.
 >knows_old(cons(X1,cons(X2,nil))) :- _q2(X1), agent(X2).
*** pos_value_checker: knows_old(cons(X1,cons(X2,nil))) :- _q2(X1), agent(X2).
Cannot check.
 >knows_old(cons(X1,cons(X2,nil))) :- _q1(X1), agent(X2).
*** pos_value_checker: knows_old(cons(X1,cons(X2,nil))) :- _q1(X1), agent(X2).
Cannot check.
 ... OK.
Checking clause knows_current(noncea_old(A,B,KPb))...
 >knows_current(noncea_old(X1,X2,X3)).
*** pos_value_checker: knows_current(noncea_old(X1,X2,X3)).
rho =
 case analysis: _q4(X1); _q3(X1); _q2(X1); _q1(X1).
 >knows_current(noncea_old(X1,X2,X3)) :- _q4(X1).
*** pos_value_checker: knows_current(noncea_old(X1,X2,X3)) :- _q4(X1).
rho = X1=3
 case analysis: _q4(X3); _q3(X3); _q2(X3); _q1(X3).
 >knows_current(noncea_old(X1,X2,X3)) :- _q4(X1), _q4(X3).
*** pos_value_checker: knows_current(noncea_old(X1,X2,X3)) :- _q4(X1), _q4(X3).
rho = X1=3 X3=3
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(noncea_old(X1,X2,X3)) :- _q3(X3), _q4(X1).
*** pos_value_checker: knows_current(noncea_old(X1,X2,X3)) :- _q3(X3), _q4(X1).
rho = X1=3 X3=2
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(noncea_old(X1,X2,X3)) :- _q2(X3), _q4(X1).
*** pos_value_checker: knows_current(noncea_old(X1,X2,X3)) :- _q2(X3), _q4(X1).
rho = X1=3 X3=4
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(noncea_old(X1,X2,X3)) :- _q1(X3), _q4(X1).
*** pos_value_checker: knows_current(noncea_old(X1,X2,X3)) :- _q1(X3), _q4(X1).
rho = X1=3 X3=1
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(noncea_old(X1,X2,X3)) :- _q3(X1).
*** pos_value_checker: knows_current(noncea_old(X1,X2,X3)) :- _q3(X1).
rho = X1=2
 case analysis: _q4(X3); _q3(X3); _q2(X3); _q1(X3).
 >knows_current(noncea_old(X1,X2,X3)) :- _q3(X1), _q4(X3).
*** pos_value_checker: knows_current(noncea_old(X1,X2,X3)) :- _q3(X1), _q4(X3).
rho = X1=2 X3=3
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(noncea_old(X1,X2,X3)) :- _q3(X1), _q3(X3).
*** pos_value_checker: knows_current(noncea_old(X1,X2,X3)) :- _q3(X1), _q3(X3).
rho = X1=2 X3=2
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(noncea_old(X1,X2,X3)) :- _q2(X3), _q3(X1).
*** pos_value_checker: knows_current(noncea_old(X1,X2,X3)) :- _q2(X3), _q3(X1).
rho = X1=2 X3=4
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(noncea_old(X1,X2,X3)) :- _q1(X3), _q3(X1).
*** pos_value_checker: knows_current(noncea_old(X1,X2,X3)) :- _q1(X3), _q3(X1).
rho = X1=2 X3=1
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(noncea_old(X1,X2,X3)) :- _q2(X1).
*** pos_value_checker: knows_current(noncea_old(X1,X2,X3)) :- _q2(X1).
rho = X1=4
 case analysis: _q4(X3); _q3(X3); _q2(X3); _q1(X3).
 >knows_current(noncea_old(X1,X2,X3)) :- _q2(X1), _q4(X3).
*** pos_value_checker: knows_current(noncea_old(X1,X2,X3)) :- _q2(X1), _q4(X3).
rho = X1=4 X3=3
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(noncea_old(X1,X2,X3)) :- _q2(X1), _q3(X3).
*** pos_value_checker: knows_current(noncea_old(X1,X2,X3)) :- _q2(X1), _q3(X3).
rho = X1=4 X3=2
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(noncea_old(X1,X2,X3)) :- _q2(X1), _q2(X3).
*** pos_value_checker: knows_current(noncea_old(X1,X2,X3)) :- _q2(X1), _q2(X3).
rho = X1=4 X3=4
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(noncea_old(X1,X2,X3)) :- _q1(X3), _q2(X1).
*** pos_value_checker: knows_current(noncea_old(X1,X2,X3)) :- _q1(X3), _q2(X1).
rho = X1=4 X3=1
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(noncea_old(X1,X2,X3)) :- _q1(X1).
*** pos_value_checker: knows_current(noncea_old(X1,X2,X3)) :- _q1(X1).
rho = X1=1
 case analysis: _q4(X3); _q3(X3); _q2(X3); _q1(X3).
 >knows_current(noncea_old(X1,X2,X3)) :- _q1(X1), _q4(X3).
*** pos_value_checker: knows_current(noncea_old(X1,X2,X3)) :- _q1(X1), _q4(X3).
rho = X1=1 X3=3
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(noncea_old(X1,X2,X3)) :- _q1(X1), _q3(X3).
*** pos_value_checker: knows_current(noncea_old(X1,X2,X3)) :- _q1(X1), _q3(X3).
rho = X1=1 X3=2
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(noncea_old(X1,X2,X3)) :- _q1(X1), _q2(X3).
*** pos_value_checker: knows_current(noncea_old(X1,X2,X3)) :- _q1(X1), _q2(X3).
rho = X1=1 X3=4
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(noncea_old(X1,X2,X3)) :- _q1(X1), _q1(X3).
*** pos_value_checker: knows_current(noncea_old(X1,X2,X3)) :- _q1(X1), _q1(X3).
rho = X1=1 X3=1
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 ... OK.
Checking clause knows_current(cons(B,cons(A,nil))) :- agent(B), agent(A)...
 >knows_current(cons(X1,cons(X2,nil))) :- agent(X2), agent(X1).
*** pos_value_checker: knows_current(cons(X1,cons(X2,nil))) :- agent(X2), agent(X1).
Cannot check.
 >knows_current(cons(X1,cons(X2,nil))) :- _q2(X2), agent(X1).
*** pos_value_checker: knows_current(cons(X1,cons(X2,nil))) :- _q2(X2), agent(X1).
Cannot check.
 >knows_current(cons(X1,cons(X2,nil))) :- _q1(X2), agent(X1).
*** pos_value_checker: knows_current(cons(X1,cons(X2,nil))) :- _q1(X2), agent(X1).
Cannot check.
 ... OK.
Checking clause #false(intruder_knows_bob_msg)  :- knows_current(nonceb_current(alice,bob,KPa,Na))...
*** split #false(intruder_knows_bob_msg)  :- knows_current(nonceb_current(alice,bob,X1,X2)). =>  + #false(intruder_knows_bob_msg) . + #false() :- knows_current(nonceb_current(alice,bob,X1,X2)).
 >#false(intruder_knows_bob_msg) .
 #false(intruder_knows_bob_msg) . is false: quit.
 >#false() :- knows_current(nonceb_current(alice,bob,X1,X2)).
*** split #false() :- _q1(bob), _q3(X1), _q3(alice), _q4(X2). =>  + #false() :- _q3(X1). + #false() :- _q4(X2). + #false() :- _q1(bob). + #false() :- _q3(alice).
 >#false() :- _q3(X1).
 #false() :- _q3(X1). is false: quit [X1=s(nonceb_current(nil,nil,nil,i))].
 >#false() :- _q1(bob).
 >#false() :- _q3(alice).
*** split #false() :- _q3(X1), _q3(alice), _q3(bob), _q4(X2). =>  + #false() :- _q3(bob). + #false() :- _q3(X1). + #false() :- _q4(X2). + #false() :- _q3(alice).
 >#false() :- _q3(bob).
*** split #false() :- _q2(X1), _q2(bob), _q3(X2), _q3(alice). =>  + #false() :- _q3(X2). + #false() :- _q2(bob). + #false() :- _q2(X1). + #false() :- _q3(alice).
 >#false() :- _q2(bob).
*** split #false() :- _q1(bob), _q2(X1), _q4(X2), _q4(alice). =>  + #false() :- _q2(X1). + #false() :- _q4(X2). + #false() :- _q4(alice). + #false() :- _q1(bob).
 >#false() :- _q4(alice).
*** split #false() :- _q1(bob), _q2(X1), _q3(alice), _q4(X2). =>  + #false() :- _q2(X1). + #false() :- _q4(X2). + #false() :- _q1(bob). + #false() :- _q3(alice).
*** split #false() :- _q1(X1), _q1(alice), _q2(bob), _q3(X2). =>  + #false() :- _q3(X2). + #false() :- _q2(bob). + #false() :- _q1(alice). + #false() :- _q1(X1).
*** split #false() :- _q2(X1), _q2(X2), _q2(alice), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q2(alice). + #false() :- _q2(X2). + #false() :- _q2(X1).
*** split #false() :- _q1(X1), _q2(alice), _q2(bob), _q3(X2). =>  + #false() :- _q2(alice). + #false() :- _q3(X2). + #false() :- _q2(bob). + #false() :- _q1(X1).
 >#false() :- _q2(alice).
*** split #false() :- _q4(X1), _q4(X2), _q4(alice), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q4(X2). + #false() :- _q4(alice). + #false() :- _q4(X1).
 >#false() :- _q4(bob).
*** split #false() :- _q2(X1), _q3(alice), _q4(X2), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q2(X1). + #false() :- _q4(X2). + #false() :- _q3(alice).
*** split #false() :- _q1(X1), _q2(X2), _q3(alice), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q2(X2). + #false() :- _q1(X1). + #false() :- _q3(alice).
*** split #false() :- _q1(X1), _q1(X2), _q3(alice), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q1(X2). + #false() :- _q1(X1). + #false() :- _q3(alice).
*** split #false() :- _q1(X1), _q3(alice), _q4(X2), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q1(X1). + #false() :- _q4(X2). + #false() :- _q3(alice).
*** split #false() :- _q1(X1), _q3(bob), _q4(X2), _q4(alice). =>  + #false() :- _q3(bob). + #false() :- _q1(X1). + #false() :- _q4(X2). + #false() :- _q4(alice).
*** split #false() :- _q1(X1), _q2(alice), _q3(bob), _q4(X2). =>  + #false() :- _q3(bob). + #false() :- _q2(alice). + #false() :- _q1(X1). + #false() :- _q4(X2).
*** split #false() :- _q1(X1), _q2(X2), _q4(alice), _q4(bob). =>  + #false() :- _q2(X2). + #false() :- _q4(bob). + #false() :- _q1(X1). + #false() :- _q4(alice).
*** split #false() :- _q1(X1), _q1(bob), _q4(X2), _q4(alice). =>  + #false() :- _q1(X1). + #false() :- _q4(X2). + #false() :- _q4(alice). + #false() :- _q1(bob).
*** split #false() :- _q1(alice), _q3(X1), _q3(X2), _q4(bob). =>  + #false() :- _q3(X2). + #false() :- _q4(bob). + #false() :- _q1(alice). + #false() :- _q3(X1).
*** split #false() :- _q1(X1), _q3(X2), _q3(alice), _q4(bob). =>  + #false() :- _q3(X2). + #false() :- _q4(bob). + #false() :- _q1(X1). + #false() :- _q3(alice).
*** split #false() :- _q2(X1), _q2(alice), _q3(X2), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q2(alice). + #false() :- _q3(X2). + #false() :- _q2(X1).
*** split #false() :- _q2(alice), _q3(X1), _q3(bob), _q4(X2). =>  + #false() :- _q3(bob). + #false() :- _q2(alice). + #false() :- _q3(X1). + #false() :- _q4(X2).
*** split #false() :- _q1(bob), _q2(X1), _q2(alice), _q3(X2). =>  + #false() :- _q2(alice). + #false() :- _q3(X2). + #false() :- _q2(X1). + #false() :- _q1(bob).
*** split #false() :- _q1(alice), _q2(X1), _q3(X2), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q3(X2). + #false() :- _q2(X1). + #false() :- _q1(alice).
*** split #false() :- _q2(alice), _q3(bob), _q4(X1), _q4(X2). =>  + #false() :- _q3(bob). + #false() :- _q2(alice). + #false() :- _q4(X2). + #false() :- _q4(X1).
*** split #false() :- _q1(X1), _q1(X2), _q1(bob), _q2(alice). =>  + #false() :- _q2(alice). + #false() :- _q1(X2). + #false() :- _q1(X1). + #false() :- _q1(bob).
*** split #false() :- _q1(alice), _q3(X1), _q3(X2), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q3(X2). + #false() :- _q1(alice). + #false() :- _q3(X1).
*** split #false() :- _q1(X1), _q1(bob), _q2(X2), _q4(alice). =>  + #false() :- _q2(X2). + #false() :- _q1(X1). + #false() :- _q4(alice). + #false() :- _q1(bob).
*** split #false() :- _q2(alice), _q4(X1), _q4(X2), _q4(bob). =>  + #false() :- _q2(alice). + #false() :- _q4(bob). + #false() :- _q4(X2). + #false() :- _q4(X1).
*** split #false() :- _q1(alice), _q3(X1), _q3(bob), _q4(X2). =>  + #false() :- _q3(bob). + #false() :- _q1(alice). + #false() :- _q3(X1). + #false() :- _q4(X2).
*** split #false() :- _q2(alice), _q3(X1), _q4(X2), _q4(bob). =>  + #false() :- _q2(alice). + #false() :- _q4(bob). + #false() :- _q3(X1). + #false() :- _q4(X2).
*** split #false() :- _q1(X1), _q1(alice), _q3(X2), _q4(bob). =>  + #false() :- _q3(X2). + #false() :- _q4(bob). + #false() :- _q1(alice). + #false() :- _q1(X1).
*** split #false() :- _q1(X1), _q1(X2), _q2(bob), _q4(alice). =>  + #false() :- _q2(bob). + #false() :- _q1(X2). + #false() :- _q1(X1). + #false() :- _q4(alice).
*** split #false() :- _q1(X1), _q3(alice), _q3(bob), _q4(X2). =>  + #false() :- _q3(bob). + #false() :- _q1(X1). + #false() :- _q4(X2). + #false() :- _q3(alice).
*** split #false() :- _q3(bob), _q4(X1), _q4(X2), _q4(alice). =>  + #false() :- _q3(bob). + #false() :- _q4(X2). + #false() :- _q4(alice). + #false() :- _q4(X1).
*** split #false() :- _q1(X1), _q2(alice), _q3(X2), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q2(alice). + #false() :- _q3(X2). + #false() :- _q1(X1).
*** split #false() :- _q3(X1), _q3(alice), _q4(X2), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q3(X1). + #false() :- _q4(X2). + #false() :- _q3(alice).
*** split #false() :- _q2(X1), _q3(X2), _q3(alice), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q3(X2). + #false() :- _q2(X1). + #false() :- _q3(alice).
*** split #false() :- _q1(X1), _q1(X2), _q3(alice), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q1(X2). + #false() :- _q1(X1). + #false() :- _q3(alice).
*** split #false() :- _q1(bob), _q2(X1), _q2(X2), _q3(alice). =>  + #false() :- _q2(X2). + #false() :- _q2(X1). + #false() :- _q1(bob). + #false() :- _q3(alice).
*** split #false() :- _q2(X1), _q2(X2), _q3(bob), _q4(alice). =>  + #false() :- _q3(bob). + #false() :- _q2(X2). + #false() :- _q2(X1). + #false() :- _q4(alice).
*** split #false() :- _q1(X1), _q1(bob), _q3(X2), _q4(alice). =>  + #false() :- _q3(X2). + #false() :- _q1(X1). + #false() :- _q4(alice). + #false() :- _q1(bob).
*** split #false() :- _q1(X1), _q1(bob), _q2(alice), _q4(X2). =>  + #false() :- _q2(alice). + #false() :- _q1(X1). + #false() :- _q4(X2). + #false() :- _q1(bob).
*** split #false() :- _q2(X1), _q3(X2), _q3(alice), _q4(bob). =>  + #false() :- _q3(X2). + #false() :- _q4(bob). + #false() :- _q2(X1). + #false() :- _q3(alice).
*** split #false() :- _q1(bob), _q2(X1), _q2(X2), _q2(alice). =>  + #false() :- _q2(alice). + #false() :- _q2(X2). + #false() :- _q2(X1). + #false() :- _q1(bob).
*** split #false() :- _q3(X1), _q4(X2), _q4(alice), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q3(X1). + #false() :- _q4(X2). + #false() :- _q4(alice).
*** split #false() :- _q1(X1), _q1(alice), _q4(X2), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q1(alice). + #false() :- _q1(X1). + #false() :- _q4(X2).
*** split #false() :- _q1(X1), _q1(alice), _q3(bob), _q4(X2). =>  + #false() :- _q3(bob). + #false() :- _q1(alice). + #false() :- _q1(X1). + #false() :- _q4(X2).
*** split #false() :- _q1(X1), _q1(bob), _q2(X2), _q3(alice). =>  + #false() :- _q2(X2). + #false() :- _q1(X1). + #false() :- _q1(bob). + #false() :- _q3(alice).
*** split #false() :- _q1(X1), _q1(X2), _q2(alice), _q2(bob). =>  + #false() :- _q2(alice). + #false() :- _q2(bob). + #false() :- _q1(X2). + #false() :- _q1(X1).
*** split #false() :- _q1(X1), _q2(alice), _q3(X2), _q4(bob). =>  + #false() :- _q2(alice). + #false() :- _q3(X2). + #false() :- _q4(bob). + #false() :- _q1(X1).
*** split #false() :- _q1(alice), _q2(X1), _q2(bob), _q4(X2). =>  + #false() :- _q2(bob). + #false() :- _q2(X1). + #false() :- _q1(alice). + #false() :- _q4(X2).
*** split #false() :- _q1(X1), _q1(X2), _q1(alice), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q1(alice). + #false() :- _q1(X2). + #false() :- _q1(X1).
*** split #false() :- _q1(X1), _q2(bob), _q3(X2), _q4(alice). =>  + #false() :- _q3(X2). + #false() :- _q2(bob). + #false() :- _q1(X1). + #false() :- _q4(alice).
*** split #false() :- _q1(X1), _q2(X2), _q2(alice), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q2(alice). + #false() :- _q2(X2). + #false() :- _q1(X1).
*** split #false() :- _q1(X1), _q2(X2), _q2(alice), _q2(bob). =>  + #false() :- _q2(alice). + #false() :- _q2(X2). + #false() :- _q2(bob). + #false() :- _q1(X1).
*** split #false() :- _q1(X1), _q1(bob), _q2(X2), _q2(alice). =>  + #false() :- _q2(alice). + #false() :- _q2(X2). + #false() :- _q1(X1). + #false() :- _q1(bob).
*** split #false() :- _q2(alice), _q3(X1), _q3(X2), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q2(alice). + #false() :- _q3(X2). + #false() :- _q3(X1).
*** split #false() :- _q1(X1), _q2(X2), _q3(bob), _q4(alice). =>  + #false() :- _q3(bob). + #false() :- _q2(X2). + #false() :- _q1(X1). + #false() :- _q4(alice).
*** split #false() :- _q2(X1), _q2(alice), _q2(bob), _q3(X2). =>  + #false() :- _q2(alice). + #false() :- _q3(X2). + #false() :- _q2(bob). + #false() :- _q2(X1).
*** split #false() :- _q2(X1), _q3(bob), _q4(X2), _q4(alice). =>  + #false() :- _q3(bob). + #false() :- _q2(X1). + #false() :- _q4(X2). + #false() :- _q4(alice).
*** split #false() :- _q2(bob), _q4(X1), _q4(X2), _q4(alice). =>  + #false() :- _q2(bob). + #false() :- _q4(X2). + #false() :- _q4(alice). + #false() :- _q4(X1).
*** split #false() :- _q1(X1), _q2(X2), _q2(alice), _q4(bob). =>  + #false() :- _q2(alice). + #false() :- _q2(X2). + #false() :- _q4(bob). + #false() :- _q1(X1).
*** split #false() :- _q1(X1), _q1(X2), _q1(bob), _q4(alice). =>  + #false() :- _q1(X2). + #false() :- _q1(X1). + #false() :- _q4(alice). + #false() :- _q1(bob).
*** split #false() :- _q1(alice), _q4(X1), _q4(X2), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q1(alice). + #false() :- _q4(X2). + #false() :- _q4(X1).
*** split #false() :- _q1(X1), _q4(X2), _q4(alice), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q1(X1). + #false() :- _q4(X2). + #false() :- _q4(alice).
*** split #false() :- _q1(X1), _q2(X2), _q2(bob), _q4(alice). =>  + #false() :- _q2(X2). + #false() :- _q2(bob). + #false() :- _q1(X1). + #false() :- _q4(alice).
*** split #false() :- _q1(X1), _q1(alice), _q2(X2), _q4(bob). =>  + #false() :- _q2(X2). + #false() :- _q4(bob). + #false() :- _q1(alice). + #false() :- _q1(X1).
*** split #false() :- _q2(X1), _q2(bob), _q3(alice), _q4(X2). =>  + #false() :- _q2(bob). + #false() :- _q2(X1). + #false() :- _q4(X2). + #false() :- _q3(alice).
*** split #false() :- _q1(bob), _q2(alice), _q3(X1), _q3(X2). =>  + #false() :- _q2(alice). + #false() :- _q3(X2). + #false() :- _q3(X1). + #false() :- _q1(bob).
*** split #false() :- _q2(X1), _q3(alice), _q3(bob), _q4(X2). =>  + #false() :- _q3(bob). + #false() :- _q2(X1). + #false() :- _q4(X2). + #false() :- _q3(alice).
*** split #false() :- _q2(X1), _q2(alice), _q3(bob), _q4(X2). =>  + #false() :- _q3(bob). + #false() :- _q2(alice). + #false() :- _q2(X1). + #false() :- _q4(X2).
*** split #false() :- _q1(bob), _q2(X1), _q2(X2), _q4(alice). =>  + #false() :- _q2(X2). + #false() :- _q2(X1). + #false() :- _q4(alice). + #false() :- _q1(bob).
*** split #false() :- _q3(X1), _q3(X2), _q4(alice), _q4(bob). =>  + #false() :- _q3(X2). + #false() :- _q4(bob). + #false() :- _q3(X1). + #false() :- _q4(alice).
*** split #false() :- _q1(bob), _q2(X1), _q3(X2), _q4(alice). =>  + #false() :- _q3(X2). + #false() :- _q2(X1). + #false() :- _q4(alice). + #false() :- _q1(bob).
*** split #false() :- _q1(bob), _q2(alice), _q3(X1), _q4(X2). =>  + #false() :- _q2(alice). + #false() :- _q3(X1). + #false() :- _q4(X2). + #false() :- _q1(bob).
*** split #false() :- _q1(alice), _q2(X1), _q2(X2), _q4(bob). =>  + #false() :- _q2(X2). + #false() :- _q4(bob). + #false() :- _q2(X1). + #false() :- _q1(alice).
*** split #false() :- _q1(X1), _q1(X2), _q3(bob), _q4(alice). =>  + #false() :- _q3(bob). + #false() :- _q1(X2). + #false() :- _q1(X1). + #false() :- _q4(alice).
*** split #false() :- _q1(alice), _q2(X1), _q3(X2), _q4(bob). =>  + #false() :- _q3(X2). + #false() :- _q4(bob). + #false() :- _q2(X1). + #false() :- _q1(alice).
*** split #false() :- _q1(alice), _q2(X1), _q4(X2), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q2(X1). + #false() :- _q1(alice). + #false() :- _q4(X2).
*** split #false() :- _q2(X1), _q2(alice), _q4(X2), _q4(bob). =>  + #false() :- _q2(alice). + #false() :- _q4(bob). + #false() :- _q2(X1). + #false() :- _q4(X2).
*** split #false() :- _q1(X1), _q2(alice), _q4(X2), _q4(bob). =>  + #false() :- _q2(alice). + #false() :- _q4(bob). + #false() :- _q1(X1). + #false() :- _q4(X2).
*** split #false() :- _q1(X1), _q1(X2), _q1(alice), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q1(alice). + #false() :- _q1(X2). + #false() :- _q1(X1).
*** split #false() :- _q1(alice), _q3(bob), _q4(X1), _q4(X2). =>  + #false() :- _q3(bob). + #false() :- _q1(alice). + #false() :- _q4(X2). + #false() :- _q4(X1).
*** split #false() :- _q1(X1), _q1(alice), _q2(bob), _q4(X2). =>  + #false() :- _q2(bob). + #false() :- _q1(alice). + #false() :- _q1(X1). + #false() :- _q4(X2).
*** split #false() :- _q1(X1), _q1(X2), _q2(alice), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q2(alice). + #false() :- _q1(X2). + #false() :- _q1(X1).
*** split #false() :- _q3(alice), _q4(X1), _q4(X2), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q4(X2). + #false() :- _q3(alice). + #false() :- _q4(X1).
*** split #false() :- _q3(alice), _q3(bob), _q4(X1), _q4(X2). =>  + #false() :- _q3(bob). + #false() :- _q4(X2). + #false() :- _q3(alice). + #false() :- _q4(X1).
*** split #false() :- _q1(alice), _q2(X1), _q3(bob), _q4(X2). =>  + #false() :- _q3(bob). + #false() :- _q2(X1). + #false() :- _q1(alice). + #false() :- _q4(X2).
*** split #false() :- _q2(X1), _q2(alice), _q3(X2), _q4(bob). =>  + #false() :- _q2(alice). + #false() :- _q3(X2). + #false() :- _q4(bob). + #false() :- _q2(X1).
*** split #false() :- _q1(X1), _q2(X2), _q2(bob), _q3(alice). =>  + #false() :- _q2(X2). + #false() :- _q2(bob). + #false() :- _q1(X1). + #false() :- _q3(alice).
*** split #false() :- _q1(bob), _q3(X1), _q3(X2), _q4(alice). =>  + #false() :- _q3(X2). + #false() :- _q3(X1). + #false() :- _q4(alice). + #false() :- _q1(bob).
*** split #false() :- _q3(X1), _q3(X2), _q3(alice), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q3(X2). + #false() :- _q3(X1). + #false() :- _q3(alice).
*** split #false() :- _q3(X1), _q3(X2), _q3(alice), _q4(bob). =>  + #false() :- _q3(X2). + #false() :- _q4(bob). + #false() :- _q3(X1). + #false() :- _q3(alice).
*** split #false() :- _q1(X1), _q1(X2), _q4(alice), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q1(X2). + #false() :- _q1(X1). + #false() :- _q4(alice).
*** split #false() :- _q2(X1), _q2(X2), _q2(bob), _q4(alice). =>  + #false() :- _q2(X2). + #false() :- _q2(bob). + #false() :- _q2(X1). + #false() :- _q4(alice).
*** split #false() :- _q2(X1), _q2(X2), _q2(alice), _q4(bob). =>  + #false() :- _q2(alice). + #false() :- _q2(X2). + #false() :- _q4(bob). + #false() :- _q2(X1).
*** split #false() :- _q2(X1), _q3(X2), _q4(alice), _q4(bob). =>  + #false() :- _q3(X2). + #false() :- _q4(bob). + #false() :- _q2(X1). + #false() :- _q4(alice).
*** split #false() :- _q1(X1), _q3(X2), _q3(alice), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q3(X2). + #false() :- _q1(X1). + #false() :- _q3(alice).
*** split #false() :- _q1(X1), _q1(X2), _q2(alice), _q4(bob). =>  + #false() :- _q2(alice). + #false() :- _q4(bob). + #false() :- _q1(X2). + #false() :- _q1(X1).
*** split #false() :- _q1(alice), _q3(X1), _q4(X2), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q1(alice). + #false() :- _q3(X1). + #false() :- _q4(X2).
*** split #false() :- _q2(bob), _q3(X1), _q3(alice), _q4(X2). =>  + #false() :- _q2(bob). + #false() :- _q3(X1). + #false() :- _q4(X2). + #false() :- _q3(alice).
*** split #false() :- _q1(X1), _q2(bob), _q4(X2), _q4(alice). =>  + #false() :- _q2(bob). + #false() :- _q1(X1). + #false() :- _q4(X2). + #false() :- _q4(alice).
*** split #false() :- _q3(X1), _q3(bob), _q4(X2), _q4(alice). =>  + #false() :- _q3(bob). + #false() :- _q3(X1). + #false() :- _q4(X2). + #false() :- _q4(alice).
*** split #false() :- _q2(X1), _q3(X2), _q3(bob), _q4(alice). =>  + #false() :- _q3(bob). + #false() :- _q3(X2). + #false() :- _q2(X1). + #false() :- _q4(alice).
*** split #false() :- _q2(X1), _q2(X2), _q2(alice), _q2(bob). =>  + #false() :- _q2(alice). + #false() :- _q2(X2). + #false() :- _q2(bob). + #false() :- _q2(X1).
*** split #false() :- _q2(X1), _q2(bob), _q4(X2), _q4(alice). =>  + #false() :- _q2(bob). + #false() :- _q2(X1). + #false() :- _q4(X2). + #false() :- _q4(alice).
*** split #false() :- _q2(X1), _q2(X2), _q4(alice), _q4(bob). =>  + #false() :- _q2(X2). + #false() :- _q4(bob). + #false() :- _q2(X1). + #false() :- _q4(alice).
*** split #false() :- _q1(X1), _q3(X2), _q4(alice), _q4(bob). =>  + #false() :- _q3(X2). + #false() :- _q4(bob). + #false() :- _q1(X1). + #false() :- _q4(alice).
*** split #false() :- _q2(X1), _q2(alice), _q2(bob), _q4(X2). =>  + #false() :- _q2(alice). + #false() :- _q2(bob). + #false() :- _q2(X1). + #false() :- _q4(X2).
*** split #false() :- _q1(X1), _q1(alice), _q2(X2), _q2(bob). =>  + #false() :- _q2(X2). + #false() :- _q2(bob). + #false() :- _q1(alice). + #false() :- _q1(X1).
*** split #false() :- _q2(alice), _q3(X1), _q3(X2), _q4(bob). =>  + #false() :- _q2(alice). + #false() :- _q3(X2). + #false() :- _q4(bob). + #false() :- _q3(X1).
*** split #false() :- _q1(bob), _q3(alice), _q4(X1), _q4(X2). =>  + #false() :- _q4(X2). + #false() :- _q1(bob). + #false() :- _q3(alice). + #false() :- _q4(X1).
*** split #false() :- _q2(X1), _q4(X2), _q4(alice), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q2(X1). + #false() :- _q4(X2). + #false() :- _q4(alice).
*** split #false() :- _q1(X1), _q2(X2), _q3(alice), _q4(bob). =>  + #false() :- _q2(X2). + #false() :- _q4(bob). + #false() :- _q1(X1). + #false() :- _q3(alice).
*** split #false() :- _q1(alice), _q2(bob), _q3(X1), _q4(X2). =>  + #false() :- _q2(bob). + #false() :- _q1(alice). + #false() :- _q3(X1). + #false() :- _q4(X2).
*** split #false() :- _q1(alice), _q2(X1), _q2(bob), _q3(X2). =>  + #false() :- _q3(X2). + #false() :- _q2(bob). + #false() :- _q2(X1). + #false() :- _q1(alice).
*** split #false() :- _q1(X1), _q1(alice), _q2(X2), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q2(X2). + #false() :- _q1(alice). + #false() :- _q1(X1).
*** split #false() :- _q2(bob), _q3(X1), _q4(X2), _q4(alice). =>  + #false() :- _q2(bob). + #false() :- _q3(X1). + #false() :- _q4(X2). + #false() :- _q4(alice).
*** split #false() :- _q2(X1), _q2(X2), _q3(alice), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q2(X2). + #false() :- _q2(X1). + #false() :- _q3(alice).
*** split #false() :- _q1(X1), _q1(X2), _q1(bob), _q3(alice). =>  + #false() :- _q1(X2). + #false() :- _q1(X1). + #false() :- _q1(bob). + #false() :- _q3(alice).
*** split #false() :- _q2(bob), _q3(X1), _q3(X2), _q3(alice). =>  + #false() :- _q3(X2). + #false() :- _q2(bob). + #false() :- _q3(X1). + #false() :- _q3(alice).
*** split #false() :- _q1(alice), _q2(X1), _q2(X2), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q2(X2). + #false() :- _q2(X1). + #false() :- _q1(alice).
*** split #false() :- _q1(X1), _q1(alice), _q3(X2), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q3(X2). + #false() :- _q1(alice). + #false() :- _q1(X1).
*** split #false() :- _q1(X1), _q1(bob), _q3(alice), _q4(X2). =>  + #false() :- _q1(X1). + #false() :- _q4(X2). + #false() :- _q1(bob). + #false() :- _q3(alice).
*** split #false() :- _q2(X1), _q2(X2), _q3(alice), _q4(bob). =>  + #false() :- _q2(X2). + #false() :- _q4(bob). + #false() :- _q2(X1). + #false() :- _q3(alice).
*** split #false() :- _q1(bob), _q2(X1), _q3(X2), _q3(alice). =>  + #false() :- _q3(X2). + #false() :- _q2(X1). + #false() :- _q1(bob). + #false() :- _q3(alice).
*** split #false() :- _q1(X1), _q3(X2), _q3(bob), _q4(alice). =>  + #false() :- _q3(bob). + #false() :- _q3(X2). + #false() :- _q1(X1). + #false() :- _q4(alice).
*** split #false() :- _q3(X1), _q3(X2), _q3(bob), _q4(alice). =>  + #false() :- _q3(bob). + #false() :- _q3(X2). + #false() :- _q3(X1). + #false() :- _q4(alice).
*** split #false() :- _q1(X1), _q1(bob), _q3(X2), _q3(alice). =>  + #false() :- _q3(X2). + #false() :- _q1(X1). + #false() :- _q1(bob). + #false() :- _q3(alice).
 ... OK.
Checking clause knows_current(crypt(cons(noncea_current(A,B,KPb),cons(A,nil)),KPb)) :- agent(A), knows_current(crypt(cons(KPb,cons(B,nil)),key(prv,server)))...
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- agent(X1), knows_current(crypt(cons(X3,cons(X2,nil)),key(prv,server))).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(cons(X3,cons(X2,nil))), _q4(key(prv,server)), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(cons(X3,cons(X2,nil))), agent(X1). + #false() :- _q4(key(prv,server)).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(cons(X3,cons(X2,nil))), agent(X1).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q1(cons(X2,nil)), agent(X1).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(X3), _q1(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(X3), agent(X1). + #false() :- _q1(nil).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(X3), agent(X1).
*** pos_value_checker: knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(X3), agent(X1).
Cannot check.
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(X2), _q2(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(X2), agent(X1). + #false() :- _q2(nil).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(X2), agent(X1).
*** pos_value_checker: knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(X2), agent(X1).
Cannot check.
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(X1), _q2(X2).
 knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(X1), _q2(X2). is false: quit [X1=i,X3=nil,X2=i].
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q2(cons(X2,nil)), agent(X1).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q2(X3), _q2(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q2(X3), agent(X1). + #false() :- _q2(nil).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q2(X3), agent(X1).
 knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q2(X3), agent(X1). is false: quit [X1=s(nil),X3=i,X2=nil].
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(nil), _q2(X2), _q2(X3), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q2(X3), agent(X1). + #false() :- _q1(nil).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q2(X3), agent(X1).
*** pos_value_checker: knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q2(X3), agent(X1).
Cannot check.
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(key(prv,server)), _q4(cons(X3,cons(X2,nil))), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q4(cons(X3,cons(X2,nil))), agent(X1). + #false() :- _q3(key(prv,server)).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q4(cons(X3,cons(X2,nil))), agent(X1).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q4(cons(X2,nil)), agent(X1).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q2(X3), _q4(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q2(X3), agent(X1). + #false() :- _q4(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q2(X3), _q3(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q2(X3), agent(X1). + #false() :- _q3(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(nil), _q2(X3), _q4(X2), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q4(X2), agent(X1). + #false() :- _q1(nil).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q4(X2), agent(X1).
*** pos_value_checker: knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q4(X2), agent(X1).
Cannot check.
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q4(X2), _q4(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q4(X2), agent(X1). + #false() :- _q4(nil).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q3(cons(X2,nil)), agent(X1).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(X3), _q4(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(X3), agent(X1). + #false() :- _q4(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q3(nil), _q4(X2), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q4(X2), agent(X1). + #false() :- _q3(nil).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q4(X2), agent(X1).
*** pos_value_checker: knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q4(X2), agent(X1).
Cannot check.
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(nil), _q3(X2), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q3(X2), agent(X1). + #false() :- _q2(nil).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q3(X2), agent(X1).
*** pos_value_checker: knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q3(X2), agent(X1).
Cannot check.
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q3(X2), _q3(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q3(X2), agent(X1). + #false() :- _q3(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(nil), _q4(X2), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q4(X2), agent(X1). + #false() :- _q2(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q3(X2), _q4(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q3(X2), agent(X1). + #false() :- _q4(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q1(nil), _q3(X2), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q3(X2), agent(X1). + #false() :- _q1(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(X2), _q3(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(X2), agent(X1). + #false() :- _q3(nil).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(cons(X2,nil)), _q4(X3), agent(X1).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(nil), _q4(X3), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q4(X3), agent(X1). + #false() :- _q1(nil).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q4(X3), agent(X1).
 knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q4(X3), agent(X1). is false: quit [X1=s(nil),X3=nonceb_current(nil,nil,nil,i),X2=nil].
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(cons(X3,cons(X2,nil))), _q1(key(prv,server)), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(cons(X3,cons(X2,nil))), agent(X1). + #false() :- _q1(key(prv,server)).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(cons(X3,cons(X2,nil))), _q2(key(prv,server)), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(cons(X3,cons(X2,nil))), agent(X1). + #false() :- _q2(key(prv,server)).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(cons(X3,cons(X2,nil))), agent(X1).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(cons(X2,nil)), agent(X1).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(X3), _q2(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(X3), agent(X1). + #false() :- _q2(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q1(nil), _q2(X2), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(X2), agent(X1). + #false() :- _q1(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(cons(X3,cons(X2,nil))), _q2(key(prv,server)), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(cons(X3,cons(X2,nil))), agent(X1). + #false() :- _q2(key(prv,server)).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(key(prv,server)), _q2(cons(X3,cons(X2,nil))), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(cons(X3,cons(X2,nil))), agent(X1). + #false() :- _q1(key(prv,server)).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(cons(X3,cons(X2,nil))), _q3(key(prv,server)), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(cons(X3,cons(X2,nil))), agent(X1). + #false() :- _q3(key(prv,server)).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(cons(X3,cons(X2,nil))), agent(X1).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q4(cons(X2,nil)), agent(X1).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(X2), _q4(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q2(X2), agent(X1). + #false() :- _q4(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(X3), _q3(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(X3), agent(X1). + #false() :- _q3(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q1(nil), _q4(X2), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q4(X2), agent(X1). + #false() :- _q1(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q4(X2), _q4(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X3), _q4(X2), agent(X1). + #false() :- _q4(nil).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(cons(X2,nil)), _q4(X3), agent(X1).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q4(X3), _q4(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q4(X3), agent(X1). + #false() :- _q4(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(nil), _q4(X2), _q4(X3), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q4(X2), _q4(X3), agent(X1). + #false() :- _q3(nil).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q4(X2), _q4(X3), agent(X1).
*** pos_value_checker: knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q4(X2), _q4(X3), agent(X1).
Cannot check.
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(nil), _q3(X2), _q4(X3), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q4(X3), agent(X1). + #false() :- _q2(nil).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q4(X3), agent(X1).
*** pos_value_checker: knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q4(X3), agent(X1).
Cannot check.
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q3(nil), _q4(X3), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q4(X3), agent(X1). + #false() :- _q3(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(nil), _q4(X2), _q4(X3), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q4(X2), _q4(X3), agent(X1). + #false() :- _q2(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q4(X3), _q4(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q4(X3), agent(X1). + #false() :- _q4(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(nil), _q3(X2), _q4(X3), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q4(X3), agent(X1). + #false() :- _q1(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q3(nil), _q4(X3), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q4(X3), agent(X1). + #false() :- _q3(nil).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q4(X3), agent(X1).
*** pos_value_checker: knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q4(X3), agent(X1).
Cannot check.
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(cons(X2,nil)), _q3(X3), agent(X1).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q2(nil), _q3(X3), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q3(X3), agent(X1). + #false() :- _q2(nil).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q3(X3), agent(X1).
*** pos_value_checker: knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q3(X3), agent(X1).
Cannot check.
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(nil), _q2(X2), _q3(X3), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q3(X3), agent(X1). + #false() :- _q1(nil).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q3(X3), agent(X1).
*** pos_value_checker: knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q3(X3), agent(X1).
Cannot check.
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X3), _q3(cons(X2,nil)), agent(X1).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q3(X3), _q4(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q3(X3), agent(X1). + #false() :- _q4(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X3), _q3(nil), _q4(X2), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X3), _q4(X2), agent(X1). + #false() :- _q3(nil).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X3), _q4(X2), agent(X1).
*** pos_value_checker: knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X3), _q4(X2), agent(X1).
Cannot check.
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(nil), _q3(X2), _q3(X3), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q3(X3), agent(X1). + #false() :- _q2(nil).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q3(X3), agent(X1).
*** pos_value_checker: knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q3(X3), agent(X1).
Cannot check.
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q3(X3), _q3(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q3(X3), agent(X1). + #false() :- _q3(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(nil), _q3(X3), _q4(X2), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X3), _q4(X2), agent(X1). + #false() :- _q2(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q3(X3), _q4(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q3(X3), agent(X1). + #false() :- _q4(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(nil), _q3(X2), _q3(X3), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X2), _q3(X3), agent(X1). + #false() :- _q1(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q3(X3), _q3(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q3(X3), agent(X1). + #false() :- _q3(nil).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(cons(X2,nil)), _q4(X3), agent(X1).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q2(nil), _q4(X3), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q4(X3), agent(X1). + #false() :- _q2(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(nil), _q2(X2), _q4(X3), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q4(X3), agent(X1). + #false() :- _q1(nil).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X3), _q4(cons(X2,nil)), agent(X1).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q3(X3), _q4(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q3(X3), agent(X1). + #false() :- _q4(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q3(X3), _q3(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q3(X3), agent(X1). + #false() :- _q3(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(nil), _q3(X3), _q4(X2), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X3), _q4(X2), agent(X1). + #false() :- _q1(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X3), _q4(X2), _q4(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q3(X3), _q4(X2), agent(X1). + #false() :- _q4(nil).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(cons(X2,nil)), _q3(X3), agent(X1).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q1(nil), _q3(X3), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q3(X3), agent(X1). + #false() :- _q1(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q2(nil), _q3(X3), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q3(X3), agent(X1). + #false() :- _q2(nil).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q3(cons(X2,nil)), agent(X1).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q2(X3), _q4(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(X2), _q2(X3), agent(X1). + #false() :- _q4(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q3(nil), _q4(X2), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q4(X2), agent(X1). + #false() :- _q3(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q2(nil), _q3(X2), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q3(X2), agent(X1). + #false() :- _q2(nil).
 >knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q3(X2), agent(X1).
*** pos_value_checker: knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q3(X2), agent(X1).
Cannot check.
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q3(X2), _q3(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q3(X2), agent(X1). + #false() :- _q3(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q2(nil), _q4(X2), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q4(X2), agent(X1). + #false() :- _q2(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q3(X2), _q4(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q3(X2), agent(X1). + #false() :- _q4(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(nil), _q2(X3), _q3(X2), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X3), _q3(X2), agent(X1). + #false() :- _q1(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q2(X3), _q3(nil), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(X2), _q2(X3), agent(X1). + #false() :- _q3(nil).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q1(key(prv,server)), _q4(cons(X3,cons(X2,nil))), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q4(cons(X3,cons(X2,nil))), agent(X1). + #false() :- _q1(key(prv,server)).
*** split knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(cons(X3,cons(X2,nil))), _q3(key(prv,server)), agent(X1). =>  + knows_current(crypt(cons(noncea_current(X1,X2,X3),cons(X1,nil)),X3)) :- _q2(cons(X3,cons(X2,nil))), agent(X1). + #false() :- _q3(key(prv,server)).
 ... OK.
Checking clause knows_old(crypt(cons(key(pub,B),cons(B,nil)),key(prv,server))) :- knows_old(cons(A,cons(B,nil)))...
 ... OK.
Checking clause knows_current(key(pub,X))...
 >knows_current(key(pub,X1)).
*** pos_value_checker: knows_current(key(pub,X1)).
rho =
 case analysis: _q4(X1); _q3(X1); _q2(X1); _q1(X1).
 ... OK.
Checking clause knows_old(M) :- knows_old(s(M))...
 >knows_old(X1) :- knows_old(s(X1)).
 ... OK.
Checking clause knows_current(crypt(Nb,KPb)) :- knows_current(crypt(cons(noncea_current(A,B,KPb),cons(Nb,cons(B,nil))),key(pub,A))), knows_current(crypt(cons(KPb,cons(B,nil)),key(prv,server)))...
 >knows_current(crypt(X1,X2)) :- knows_current(crypt(cons(X2,cons(X3,nil)),key(prv,server))), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
*** split knows_current(crypt(X1,X2)) :- _q1(cons(X2,cons(X3,nil))), _q4(key(prv,server)), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q1(cons(X2,cons(X3,nil))), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q4(key(prv,server)).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X2,cons(X3,nil))), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(X3,nil)), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(nil), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X1,cons(X3,nil))), _q1(noncea_current(X4,X3,X2)), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(key(pub,X4)), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q1(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X1,cons(X3,nil))), _q1(key(pub,X4)), _q1(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(key(pub,X4)), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q1(pub), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q3(pub), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q2(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(noncea_current(X4,X3,X2)), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q3(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X3,nil))). + #false() :- _q2(key(pub,X4)), _q3(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X3,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q2(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X1,cons(X3,nil))), _q1(noncea_current(X4,X3,X2)), _q2(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(key(pub,X4)), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q1(pub), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q1(noncea_current(X4,X3,X2)), _q2(cons(X1,cons(X3,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q1(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(pub), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(noncea_current(X4,X3,X2)), _q2(cons(X1,cons(X3,nil))), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(noncea_current(X4,X3,X2)), _q3(key(pub,X4)), _q4(cons(X1,cons(X3,nil))).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X4), _q3(key(pub,X4)), _q4(cons(X1,cons(X3,nil))). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q4(cons(X1,cons(X3,nil))). + #false() :- _q3(X4), _q3(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q4(cons(X1,cons(X3,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(nil), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q4(nil), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)). + #false() :- _q4(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q4(cons(X3,nil)), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(nil), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(nil), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(nil). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)). + #false() :- _q4(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(cons(X3,nil)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(nil), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(cons(X1,cons(X3,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(noncea_current(X4,X3,X2)), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(X4), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(cons(X1,cons(X3,nil))). + #false() :- _q2(X4), _q3(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(cons(X1,cons(X3,nil))).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X3,nil)), _q3(X1). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1). + #false() :- _q1(X3), _q2(cons(X3,nil)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1).
 knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1). is false: quit [X1=s(nonceb_current(nil,nil,nil,i)),X2=nil].
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q3(cons(X3,nil)). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1). + #false() :- _q1(X3), _q3(cons(X3,nil)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(X1), _q4(cons(X3,nil)). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1). + #false() :- _q1(X3), _q4(cons(X3,nil)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X3,nil)), _q3(X1). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1). + #false() :- _q1(X3), _q1(cons(X3,nil)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(key(pub,X4)), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q1(pub), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q2(noncea_current(X4,X3,X2)), _q4(cons(X1,cons(X3,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q1(noncea_current(X4,X3,X2)), _q3(cons(X1,cons(X3,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q1(cons(X1,cons(X3,nil))), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(X4), _q4(cons(X1,cons(X3,nil))), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(pub), _q4(X4), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q4(X4), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q4(X4), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(noncea_current(X4,X3,X2)), _q4(X4), _q4(cons(X1,cons(X3,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(noncea_current(X4,X3,X2)), _q3(cons(X1,cons(X3,nil))), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X1,cons(X3,nil))), _q4(X4), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q4(X4), _q4(cons(X1,cons(X3,nil))), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q4(X4), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q4(X4), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(noncea_current(X4,X3,X2)), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X3,nil))), _q3(X4), _q3(key(pub,X4)). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X3,nil))). + #false() :- _q3(X4), _q3(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q3(key(pub,X4)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(nil), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q2(X4), _q4(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q1(noncea_current(X4,X3,X2)), _q2(X3), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(key(pub,X4)), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q1(key(pub,X3)), _q2(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q1(key(pub,X4)), _q1(noncea_current(X4,X3,X2)), _q2(X3).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(key(pub,X3)), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(pub), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q3(pub), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q2(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(noncea_current(X3,X4,X2)), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q2(key(pub,X3)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q3(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))). + #false() :- _q2(key(pub,X4)), _q3(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q2(X3), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q2(X4), _q2(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q1(noncea_current(X4,X3,X2)), _q2(X3), _q2(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(key(pub,X3)), _q2(X4), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(pub), _q2(X4), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(X4), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(X4), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(noncea_current(X3,X4,X2)), _q2(X4), _q2(cons(X1,cons(X4,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X1,cons(X4,nil))), _q2(X4), _q2(noncea_current(X3,X4,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(pub), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(noncea_current(X3,X4,X2)), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q2(X3), _q2(noncea_current(X4,X3,X2)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(noncea_current(X3,X4,X2)), _q2(X4), _q3(key(pub,X3)), _q4(cons(X1,cons(X4,nil))).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X4), _q3(key(pub,X4)), _q4(cons(X1,cons(X3,nil))). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q4(cons(X1,cons(X3,nil))). + #false() :- _q3(X4), _q3(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q4(cons(X1,cons(X3,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(nil), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(nil), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)). + #false() :- _q3(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(cons(X3,nil)), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(X3,nil)), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(nil), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(nil), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(nil), _q3(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)). + #false() :- _q3(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(cons(X3,nil)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(X3,nil)), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(nil), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(cons(X1,cons(X3,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q2(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(noncea_current(X4,X3,X2)), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))). + #false() :- _q3(key(pub,X4)), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X3,nil)), _q3(X1). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1). + #false() :- _q2(X3), _q2(cons(X3,nil)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(X4), _q3(cons(X1,cons(X4,nil))), _q3(key(pub,X3)). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X4), _q3(cons(X1,cons(X4,nil))). + #false() :- _q1(X3), _q3(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(key(pub,X3)), _q2(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(pub), _q2(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(X4), _q2(noncea_current(X3,X4,X2)), _q4(cons(X1,cons(X4,nil))).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(X4), _q4(cons(X1,cons(X4,nil))). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X4), _q4(cons(X1,cons(X4,nil))). + #false() :- _q1(X3).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(noncea_current(X3,X4,X2)), _q2(X4), _q3(cons(X1,cons(X4,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X1,cons(X4,nil))), _q2(X4), _q4(noncea_current(X3,X4,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(X4), _q4(cons(X1,cons(X4,nil))), _q4(noncea_current(X3,X4,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(pub), _q4(X4), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q4(X4), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q4(X4), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(noncea_current(X4,X3,X2)), _q4(X4), _q4(cons(X1,cons(X3,nil))).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q4(X4), _q4(cons(X1,cons(X3,nil))). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q4(cons(X1,cons(X3,nil))). + #false() :- _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(noncea_current(X3,X4,X2)), _q2(X4), _q3(cons(X1,cons(X4,nil))), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q2(X3), _q4(X4), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q4(X4), _q4(cons(X1,cons(X3,nil))), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q4(X4), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q4(X4), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(noncea_current(X3,X4,X2)), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q3(key(pub,X3)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q3(X4), _q3(key(pub,X4)). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))). + #false() :- _q3(X4), _q3(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q2(X3), _q2(noncea_current(X4,X3,X2)), _q3(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(X3,nil)), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(nil), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q2(X2), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X3,nil))), _q1(noncea_current(X4,X3,X2)), _q2(X2), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(key(pub,X4)), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q1(key(pub,X4)), _q2(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X3,nil))), _q1(key(pub,X4)), _q1(noncea_current(X4,X3,X2)), _q2(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(key(pub,X4)), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(pub), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q3(pub), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q2(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X4,X3,X2)), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X3,nil))). + #false() :- _q2(key(pub,X4)), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X3,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X3,nil))), _q2(X2), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q2(X2), _q2(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X3,nil))), _q1(noncea_current(X4,X3,X2)), _q2(X2), _q2(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(key(pub,X4)), _q2(X2), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(pub), _q2(X2), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X2), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X2), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(noncea_current(X4,X3,X2)), _q2(X2), _q2(cons(X1,cons(X3,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(cons(X1,cons(X3,nil))), _q2(X2), _q2(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(pub), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X4,X3,X2)), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X3,nil))). + #false() :- _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X3,nil))), _q2(X2), _q2(noncea_current(X4,X3,X2)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X4,X3,X2)), _q2(X2), _q3(key(pub,X4)), _q4(cons(X1,cons(X3,nil))).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(key(pub,X4)), _q4(X4), _q4(cons(X1,cons(X3,nil))). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q4(cons(X1,cons(X3,nil))). + #false() :- _q3(key(pub,X4)), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q4(cons(X1,cons(X3,nil))).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X3,nil)), _q2(X2), _q4(X1). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q4(X1). + #false() :- _q1(X3), _q1(cons(X3,nil)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q4(X1).
 knows_current(crypt(X1,X2)) :- _q2(X2), _q4(X1). is false: quit [X1=nonceb_current(nil,nil,nil,i),X2=i].
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(X1), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(key(pub,X4)), _q4(X1), _q4(nil), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(key(pub,X4)), _q4(X1), _q4(noncea_current(X4,X3,X2)). + #false() :- _q4(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(key(pub,X4)), _q4(X1), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(nil), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q4(nil), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)). + #false() :- _q4(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X3,nil)), _q3(key(pub,X4)), _q4(X1), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(nil), _q3(key(pub,X4)), _q4(X1), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(key(pub,X4)), _q4(X1), _q4(noncea_current(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q4(cons(X3,nil)), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X3,nil)), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(nil), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1), _q4(nil). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1). + #false() :- _q4(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(nil), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(nil). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)). + #false() :- _q4(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(nil), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(cons(X3,nil)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X3,nil)), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(nil), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(cons(X1,cons(X3,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X3,nil))), _q2(X2), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(noncea_current(X4,X3,X2)), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X4), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(cons(X1,cons(X3,nil))). + #false() :- _q3(X4), _q3(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(cons(X1,cons(X3,nil))).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(cons(X3,nil)), _q4(X1). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q4(X1). + #false() :- _q1(X3), _q3(cons(X3,nil)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X3,nil)), _q3(X1). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1). + #false() :- _q1(X3), _q2(cons(X3,nil)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1).
 knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1). is false: quit [X1=s(nonceb_current(nil,nil,nil,i)),X2=i].
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q3(cons(X3,nil)). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1). + #false() :- _q1(X3), _q3(cons(X3,nil)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X3,nil)), _q4(X1). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q4(X1). + #false() :- _q1(X3), _q2(cons(X3,nil)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(X1), _q4(cons(X3,nil)). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1). + #false() :- _q1(X3), _q4(cons(X3,nil)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X3,nil)), _q2(X2), _q3(X1). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1). + #false() :- _q1(X3), _q1(cons(X3,nil)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(key(pub,X4)), _q2(X2), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(pub), _q2(X2), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X2), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X2), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X2), _q2(noncea_current(X4,X3,X2)), _q4(cons(X1,cons(X3,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(noncea_current(X4,X3,X2)), _q2(X2), _q3(cons(X1,cons(X3,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(cons(X1,cons(X3,nil))), _q2(X2), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X2), _q4(cons(X1,cons(X3,nil))), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(cons(X3,nil)), _q2(X2), _q4(X1), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(nil), _q2(X2), _q4(X1), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X2), _q4(X1), _q4(noncea_current(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X2), _q4(X1), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X2), _q4(X1). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q4(X1). + #false() :- _q1(X4). + #false() :- _q1(X3).
*** split knows_current(crypt(X1,X2)) :- _q1(nil), _q2(X2), _q2(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
 >knows_current(crypt(X1,X2)) :- _q1(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q2(X2), _q2(X4), _q4(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q1(noncea_current(X4,X3,X2)), _q2(X2), _q2(X3), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(key(pub,X4)), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q1(key(pub,X3)), _q2(X2), _q2(X4).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q1(key(pub,X4)), _q1(noncea_current(X4,X3,X2)), _q2(X2), _q2(X3).
 >knows_current(crypt(X1,X2)) :- _q1(key(pub,X3)), _q2(X2), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(pub), _q2(X2), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q3(pub), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q2(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(X2), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q2(key(pub,X3)).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))). + #false() :- _q2(key(pub,X4)), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q2(X2), _q2(X3), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q2(X2), _q2(X4), _q2(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q1(noncea_current(X4,X3,X2)), _q2(X2), _q2(X3), _q2(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(key(pub,X3)), _q2(X2), _q2(X4), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(pub), _q2(X2), _q2(X4), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X3,X4,X2)), _q2(X2), _q2(X4), _q2(cons(X1,cons(X4,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X4,nil))), _q2(X2), _q2(X4), _q2(noncea_current(X3,X4,X2)).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(pub), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(X2), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))). + #false() :- _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q2(X2), _q2(X3), _q2(noncea_current(X4,X3,X2)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X4). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(X2), _q2(X4), _q3(key(pub,X3)), _q4(cons(X1,cons(X4,nil))).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(key(pub,X4)), _q4(X4), _q4(cons(X1,cons(X3,nil))). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q4(cons(X1,cons(X3,nil))). + #false() :- _q3(key(pub,X4)), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q4(cons(X1,cons(X3,nil))).
*** split knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X2), _q2(X3), _q4(X1). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q4(X1). + #false() :- _q1(cons(X3,nil)), _q2(X3).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q4(X1), _q4(cons(X3,nil)). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q4(X1). + #false() :- _q2(X3), _q4(cons(X3,nil)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(X1), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(key(pub,X4)), _q3(nil), _q4(X1), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(key(pub,X4)), _q4(X1), _q4(noncea_current(X4,X3,X2)). + #false() :- _q3(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(key(pub,X4)), _q4(X1), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(nil), _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(nil), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)). + #false() :- _q3(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X3,nil)), _q3(key(pub,X4)), _q4(X1), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(nil), _q2(X2), _q2(X3), _q3(key(pub,X4)), _q4(X1), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(key(pub,X4)), _q4(X1), _q4(noncea_current(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(cons(X3,nil)), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(nil), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(key(pub,X4)), _q3(nil), _q3(noncea_current(X4,X3,X2)), _q4(X1). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1). + #false() :- _q3(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(nil), _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(nil), _q3(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)). + #false() :- _q3(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1).
*** split knows_current(crypt(X1,X2)) :- _q1(nil), _q2(X2), _q2(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(cons(X3,nil)).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(nil), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(cons(X1,cons(X3,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q2(X2), _q2(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(noncea_current(X4,X3,X2)), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q3(cons(X1,cons(X4,nil))), _q3(key(pub,X3)). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X4), _q3(cons(X1,cons(X4,nil))). + #false() :- _q1(X3), _q3(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(cons(X3,nil)), _q4(X1). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q4(X1). + #false() :- _q2(X3), _q3(cons(X3,nil)).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X3,nil)), _q3(X1). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1). + #false() :- _q2(X3), _q2(cons(X3,nil)).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(X4), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))). + #false() :- _q2(X4), _q3(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(key(pub,X3)), _q2(X2), _q2(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(pub), _q2(X2), _q2(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q2(noncea_current(X3,X4,X2)), _q4(cons(X1,cons(X4,nil))).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q4(cons(X1,cons(X4,nil))). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X4), _q4(cons(X1,cons(X4,nil))). + #false() :- _q1(X3).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X3,X4,X2)), _q2(X2), _q2(X4), _q3(cons(X1,cons(X4,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X4,nil))), _q2(X2), _q2(X4), _q4(noncea_current(X3,X4,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q4(cons(X1,cons(X4,nil))), _q4(noncea_current(X3,X4,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X4,nil)), _q2(X2), _q2(X4), _q4(X1), _q4(noncea_current(X3,X4,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q2(nil), _q4(X1), _q4(noncea_current(X3,X4,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q4(X1), _q4(noncea_current(X3,X4,X2)). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q4(X1), _q4(noncea_current(X3,X4,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q4(X1), _q4(cons(X4,nil)), _q4(noncea_current(X3,X4,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q4(X1), _q4(nil), _q4(noncea_current(X3,X4,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(X4), _q4(X1), _q4(noncea_current(X3,X4,X2)). + #false() :- _q4(nil).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(pub), _q4(X4), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q4(X4), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q4(X4), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(noncea_current(X4,X3,X2)), _q4(X4), _q4(cons(X1,cons(X3,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(X2), _q2(X4), _q3(cons(X1,cons(X4,nil))), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(cons(X1,cons(X3,nil))). + #false() :- _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q4(X4), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q4(X4), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(X2), _q2(X4), _q2(cons(X1,cons(X4,nil))), _q3(key(pub,X3)).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q2(cons(X1,cons(X3,nil))). + #false() :- _q3(key(pub,X4)), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q2(X2), _q2(X3), _q2(noncea_current(X4,X3,X2)), _q3(key(pub,X4)).
*** split knows_current(crypt(X1,X2)) :- _q3(key(prv,server)), _q4(cons(X2,cons(X3,nil))), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q4(cons(X2,cons(X3,nil))), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q3(key(prv,server)).
 >knows_current(crypt(X1,X2)) :- _q4(cons(X2,cons(X3,nil))), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q4(cons(X3,nil)), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q4(nil), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q4(nil).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(nil), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q3(nil).
*** split knows_current(crypt(X1,X2)) :- _q1(nil), _q2(X2), _q4(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q4(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q4(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
 >knows_current(crypt(X1,X2)) :- _q1(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q2(X2), _q4(X4), _q4(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q1(noncea_current(X4,X3,X2)), _q2(X2), _q4(X3), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X3), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q3(key(pub,X3)), _q4(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q1(key(pub,X3)), _q2(X2), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q1(key(pub,X4)), _q1(noncea_current(X4,X3,X2)), _q2(X2), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q1(key(pub,X3)), _q2(X2), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(pub), _q2(X2), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)), _q4(X4). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q3(pub), _q4(X4), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4), _q4(X3). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X3), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4), _q4(X3), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4), _q4(X3). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q2(key(pub,X3)), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(X2), _q2(cons(X1,cons(X4,nil))), _q2(key(pub,X3)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X4,nil))), _q2(key(pub,X3)), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X4,nil))), _q4(X4). + #false() :- _q1(X3), _q2(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q3(X4), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q4(X3). + #false() :- _q2(key(pub,X4)), _q3(X4).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q2(X2), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q1(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q2(X2), _q2(key(pub,X3)), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q1(noncea_current(X4,X3,X2)), _q2(X2), _q2(key(pub,X4)), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q1(key(pub,X3)), _q2(X2), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(pub), _q2(X2), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X4). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X3,X4,X2)), _q2(X2), _q2(cons(X1,cons(X4,nil))), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(cons(X1,cons(X4,nil))), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X4,nil))), _q4(X4). + #false() :- _q1(X3).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X4,nil))), _q2(X2), _q2(noncea_current(X3,X4,X2)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q3(pub), _q4(X3), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X3), _q4(X4). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X3), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(X2), _q2(cons(X1,cons(X4,nil))), _q4(X3), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q2(X2), _q2(noncea_current(X4,X3,X2)), _q4(X4), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X3), _q4(X4), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X3), _q4(X4). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q3(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q3(key(pub,X3)), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(X2), _q3(key(pub,X3)), _q4(X4), _q4(cons(X1,cons(X4,nil))).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(key(pub,X3)), _q4(X4), _q4(cons(X1,cons(X4,nil))). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q4(X4), _q4(cons(X1,cons(X4,nil))). + #false() :- _q1(X3), _q3(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q4(X3), _q4(cons(X1,cons(X3,nil))).
*** split knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X2), _q4(X1), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q4(X1). + #false() :- _q1(cons(X3,nil)), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q4(X1), _q4(X3), _q4(cons(X3,nil)). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q4(X1). + #false() :- _q4(X3), _q4(cons(X3,nil)).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X3), _q3(key(pub,X3)), _q4(X4), _q4(cons(X1,cons(X4,nil))). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q4(X4), _q4(cons(X1,cons(X4,nil))). + #false() :- _q3(X3), _q3(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(X3), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(X1), _q4(X3), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q3(key(pub,X3)), _q3(nil), _q4(X1), _q4(X4), _q4(noncea_current(X3,X4,X2)). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q3(key(pub,X3)), _q4(X1), _q4(X4), _q4(noncea_current(X3,X4,X2)). + #false() :- _q3(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q3(key(pub,X3)), _q4(X1), _q4(X4), _q4(noncea_current(X3,X4,X2)).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(nil), _q3(key(pub,X3)), _q4(X1), _q4(X4), _q4(noncea_current(X3,X4,X2)). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q3(key(pub,X3)), _q4(X1), _q4(X4), _q4(noncea_current(X3,X4,X2)). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q4(X3), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(X3), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(key(pub,X3)), _q3(nil), _q4(X4), _q4(noncea_current(X3,X4,X2)). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(key(pub,X3)), _q4(X4), _q4(noncea_current(X3,X4,X2)). + #false() :- _q3(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(key(pub,X3)), _q4(X4), _q4(noncea_current(X3,X4,X2)).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(nil), _q3(X1), _q3(key(pub,X3)), _q4(X4), _q4(noncea_current(X3,X4,X2)). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(key(pub,X3)), _q4(X4), _q4(noncea_current(X3,X4,X2)). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(X3,nil)), _q3(key(pub,X4)), _q4(X1), _q4(X3), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(key(pub,X3)), _q4(X4), _q4(cons(X4,nil)), _q4(noncea_current(X3,X4,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q4(X3), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q3(key(pub,X3)), _q3(nil), _q3(noncea_current(X3,X4,X2)), _q4(X1), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X1), _q4(X4). + #false() :- _q3(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X1), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(nil), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X1), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X1), _q4(X4). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(key(pub,X3)), _q3(nil), _q3(noncea_current(X3,X4,X2)), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X4). + #false() :- _q3(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(nil), _q3(X1), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X4). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X4), _q4(cons(X4,nil)).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X2), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(X3), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X4), _q4(cons(X1,cons(X4,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q2(X2), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q2(noncea_current(X3,X4,X2)), _q3(cons(X1,cons(X4,nil))), _q3(key(pub,X3)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(X3), _q3(cons(X1,cons(X4,nil))), _q3(key(pub,X3)), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q3(cons(X1,cons(X4,nil))), _q4(X4). + #false() :- _q2(X3), _q3(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q2(X2), _q3(cons(X1,cons(X3,nil))), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q3(cons(X3,nil)), _q4(X1), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q4(X1). + #false() :- _q3(cons(X3,nil)), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(X3,nil)), _q3(X1), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1). + #false() :- _q2(cons(X3,nil)), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q3(cons(X3,nil)), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1). + #false() :- _q3(cons(X3,nil)), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q2(cons(X3,nil)), _q4(X1), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q4(X1). + #false() :- _q2(cons(X3,nil)), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1), _q4(X3), _q4(cons(X3,nil)). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q3(X1). + #false() :- _q4(X3), _q4(cons(X3,nil)).
 >knows_current(crypt(X1,X2)) :- _q1(key(pub,X3)), _q2(X2), _q4(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(pub), _q2(X2), _q4(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q4(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q4(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q2(noncea_current(X3,X4,X2)), _q4(X4), _q4(cons(X1,cons(X4,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X3,X4,X2)), _q2(X2), _q3(cons(X1,cons(X4,nil))), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), _q3(cons(X1,cons(X4,nil))), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(X2), _q3(cons(X1,cons(X4,nil))), _q4(X4). + #false() :- _q1(X3).
*** split knows_current(crypt(X1,X2)) :- _q1(cons(X2,cons(X3,nil))), _q1(key(prv,server)), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q1(cons(X2,cons(X3,nil))), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q1(key(prv,server)).
*** split knows_current(crypt(X1,X2)) :- _q2(cons(X2,cons(X3,nil))), _q2(key(prv,server)), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q2(cons(X2,cons(X3,nil))), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q2(key(prv,server)).
 >knows_current(crypt(X1,X2)) :- _q2(cons(X2,cons(X3,nil))), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X3,nil)), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(nil), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q2(nil).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(nil), _q2(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X2), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(nil), _q2(X2), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X2), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q1(nil).
*** split knows_current(crypt(X1,X2)) :- _q1(cons(X2,cons(X3,nil))), _q2(key(prv,server)), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q1(cons(X2,cons(X3,nil))), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q2(key(prv,server)).
*** split knows_current(crypt(X1,X2)) :- _q1(key(prv,server)), _q2(cons(X2,cons(X3,nil))), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q2(cons(X2,cons(X3,nil))), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q1(key(prv,server)).
*** split knows_current(crypt(X1,X2)) :- _q3(cons(X2,cons(X3,nil))), _q3(key(prv,server)), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q3(cons(X2,cons(X3,nil))), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q3(key(prv,server)).
 >knows_current(crypt(X1,X2)) :- _q3(cons(X2,cons(X3,nil))), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q4(cons(X3,nil)), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q4(nil), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q4(nil).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(nil), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q3(nil).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(nil), _q4(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q4(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q4(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X4), _q4(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q1(noncea_current(X4,X3,X2)), _q4(X3), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X3), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q3(key(pub,X3)), _q4(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q1(key(pub,X3)), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q1(key(pub,X4)), _q1(noncea_current(X4,X3,X2)), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(key(pub,X3)), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(pub), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)), _q4(X4). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q3(pub), _q4(X4), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4), _q4(X3). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X3), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4), _q4(X3), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4), _q4(X3). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q2(key(pub,X3)), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(noncea_current(X3,X4,X2)), _q2(cons(X1,cons(X4,nil))), _q2(key(pub,X3)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q4(X4), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q4(X3). + #false() :- _q2(key(pub,X4)), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q3(X4), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q4(X3). + #false() :- _q2(key(pub,X4)), _q3(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q2(key(pub,X3)), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q1(noncea_current(X4,X3,X2)), _q2(key(pub,X4)), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(key(pub,X3)), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(pub), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X4). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(noncea_current(X3,X4,X2)), _q2(cons(X1,cons(X4,nil))), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q3(pub), _q4(X3), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X3), _q4(X4). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X3), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(noncea_current(X3,X4,X2)), _q2(cons(X1,cons(X4,nil))), _q4(X3), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q4(X4), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q4(X3). + #false() :- _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X4), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X3), _q4(X4), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X3), _q4(X4). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q3(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q3(key(pub,X3)), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(noncea_current(X3,X4,X2)), _q3(key(pub,X3)), _q4(X4), _q4(cons(X1,cons(X4,nil))).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q3(key(pub,X3)), _q4(X3), _q4(X4), _q4(cons(X1,cons(X4,nil))). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q4(X4), _q4(cons(X1,cons(X4,nil))). + #false() :- _q3(key(pub,X3)), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q4(X3), _q4(cons(X1,cons(X3,nil))).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X3), _q3(key(pub,X3)), _q4(X4), _q4(cons(X1,cons(X4,nil))). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q4(X4), _q4(cons(X1,cons(X4,nil))). + #false() :- _q3(X3), _q3(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(X3), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q4(X3), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(X3), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(key(pub,X3)), _q3(nil), _q4(X4), _q4(noncea_current(X3,X4,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(key(pub,X3)), _q4(X4), _q4(noncea_current(X3,X4,X2)). + #false() :- _q3(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(key(pub,X3)), _q4(X4), _q4(noncea_current(X3,X4,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(nil), _q3(X1), _q3(key(pub,X3)), _q4(X4), _q4(noncea_current(X3,X4,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(key(pub,X3)), _q4(X4), _q4(noncea_current(X3,X4,X2)). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(key(pub,X3)), _q4(X4), _q4(cons(X4,nil)), _q4(noncea_current(X3,X4,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q4(X3), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(key(pub,X3)), _q3(nil), _q3(noncea_current(X3,X4,X2)), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X4). + #false() :- _q3(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(nil), _q3(X1), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X4). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X4), _q4(cons(X4,nil)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(X3), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X4), _q4(cons(X1,cons(X4,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(noncea_current(X3,X4,X2)), _q3(cons(X1,cons(X4,nil))), _q3(key(pub,X3)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(X3), _q3(cons(X1,cons(X4,nil))), _q3(key(pub,X3)), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q3(cons(X1,cons(X4,nil))), _q4(X4). + #false() :- _q2(X3), _q3(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q3(cons(X1,cons(X3,nil))), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X3,nil)), _q3(X1), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1). + #false() :- _q2(cons(X3,nil)), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q3(cons(X3,nil)), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1). + #false() :- _q3(cons(X3,nil)), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1), _q4(X3), _q4(cons(X3,nil)). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q3(X1). + #false() :- _q4(X3), _q4(cons(X3,nil)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q3(cons(X1,cons(X4,nil))), _q3(key(pub,X3)), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q3(cons(X1,cons(X4,nil))), _q4(X4). + #false() :- _q1(X3), _q3(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(key(pub,X3)), _q4(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(pub), _q4(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q4(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q4(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q2(noncea_current(X3,X4,X2)), _q4(X4), _q4(cons(X1,cons(X4,nil))).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q4(X4), _q4(cons(X1,cons(X4,nil))). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q4(X4), _q4(cons(X1,cons(X4,nil))). + #false() :- _q1(X3).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(noncea_current(X3,X4,X2)), _q3(cons(X1,cons(X4,nil))), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q1(cons(X1,cons(X4,nil))), _q4(X4), _q4(noncea_current(X3,X4,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(X3), _q4(X4), _q4(cons(X1,cons(X4,nil))), _q4(noncea_current(X3,X4,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q3(pub), _q4(X3), _q4(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q4(X3), _q4(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q4(X3), _q4(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(noncea_current(X3,X4,X2)), _q4(X3), _q4(X4), _q4(cons(X1,cons(X4,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(noncea_current(X3,X4,X2)), _q3(cons(X1,cons(X4,nil))), _q4(X3), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q3(cons(X1,cons(X3,nil))), _q4(X4), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q3(cons(X1,cons(X3,nil))), _q4(X3). + #false() :- _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q4(X3), _q4(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q4(X3), _q4(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q3(key(pub,X3)), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(noncea_current(X3,X4,X2)), _q2(cons(X1,cons(X4,nil))), _q3(key(pub,X3)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(X4), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q4(X3). + #false() :- _q3(key(pub,X4)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q3(X4), _q3(key(pub,X4)), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q2(cons(X1,cons(X3,nil))), _q4(X3). + #false() :- _q3(X4), _q3(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X2), _q1(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q3(key(pub,X4)), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q1(X2), _q4(X3), _q4(nil), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q1(X2), _q4(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q4(nil).
 >knows_current(crypt(X1,X2)) :- _q3(cons(X3,nil)), _q4(X2), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q4(X2), _q4(nil), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q4(X2), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q4(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q4(X2), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X2), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X3,nil))), _q1(noncea_current(X4,X3,X2)), _q4(X2), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X4,X3,X2)), _q2(X1), _q2(cons(X3,nil)), _q4(X2), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X3,nil)), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(key(pub,X4)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(nil), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(key(pub,X4)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(key(pub,X4)). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q3(key(pub,X4)), _q4(X2), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q1(key(pub,X4)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X3,nil))), _q1(key(pub,X4)), _q1(noncea_current(X4,X3,X2)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(key(pub,X4)), _q1(noncea_current(X4,X3,X2)), _q2(X1), _q2(cons(X3,nil)), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(noncea_current(X4,X3,X2)), _q1(pub), _q2(X1), _q2(cons(X3,nil)), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(noncea_current(X4,X3,X2)), _q2(X1), _q2(cons(X3,nil)), _q4(X2). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(noncea_current(X4,X3,X2)), _q2(X1), _q2(cons(X3,nil)), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X4,X3,X2)), _q2(X1), _q2(cons(X3,nil)), _q3(pub), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X4,X3,X2)), _q2(X1), _q2(cons(X3,nil)), _q4(X2), _q4(X4). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X4,X3,X2)), _q2(X1), _q2(cons(X3,nil)), _q4(X2), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X4,X3,X2)), _q2(X1), _q2(cons(X3,nil)), _q4(X2), _q4(X4), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X4,X3,X2)), _q2(X1), _q2(cons(X3,nil)), _q4(X2), _q4(X4). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(key(pub,X4)), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(pub), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(cons(X3,nil)), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(nil), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q3(pub), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X4). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X3,nil)), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(nil), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X4). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X4), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X4). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q2(key(pub,X4)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X4,X3,X2)), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(cons(X3,nil)), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(key(pub,X4)), _q2(nil), _q2(noncea_current(X4,X3,X2)), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(pub), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X4). + #false() :- _q1(pub).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(X4), _q2(noncea_current(X4,X3,X2)), _q2(pub), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(X4), _q2(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q2(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(X4), _q2(noncea_current(X4,X3,X2)), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(pub), _q2(X1), _q2(X4), _q2(noncea_current(X4,X3,X2)), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(X4), _q2(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q1(pub).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q2(pub), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X4). + #false() :- _q2(pub).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(X4), _q2(noncea_current(X4,X3,X2)), _q3(pub), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(X4), _q2(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q3(pub).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(X4), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(X4), _q2(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q4(pub).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(pub), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q3(X4), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q3(X4), _q4(X2). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q3(X4), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q4(pub).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q3(pub), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q3(pub).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q2(pub), _q3(X4), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q3(X4), _q4(X2). + #false() :- _q2(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q2(key(pub,X4)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X3,nil))), _q1(noncea_current(X4,X3,X2)), _q2(key(pub,X4)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X4,X3,X2)), _q2(X1), _q2(cons(X3,nil)), _q2(key(pub,X4)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X3,nil)), _q2(X1), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(nil), _q2(X1), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(key(pub,X4)), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(pub), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X2). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(noncea_current(X4,X3,X2)), _q2(cons(X1,cons(X3,nil))), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X1), _q2(cons(X3,nil)), _q2(noncea_current(X4,X3,X2)), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X1), _q2(nil), _q2(noncea_current(X4,X3,X2)), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q2(nil).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(pub), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X2), _q4(X4). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X2), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X4,X3,X2)), _q2(cons(X1,cons(X3,nil))), _q4(X2), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(cons(X3,nil)), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(nil), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X4). + #false() :- _q2(nil).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X2), _q4(X4), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q4(X2), _q4(X4). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q3(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(key(pub,X4)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X4,X3,X2)), _q3(key(pub,X4)), _q4(X2), _q4(cons(X1,cons(X3,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(X1), _q4(X2), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q3(key(pub,X4)), _q4(X1), _q4(X2), _q4(nil), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q3(key(pub,X4)), _q4(X1), _q4(X2), _q4(noncea_current(X4,X3,X2)). + #false() :- _q4(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q3(key(pub,X4)), _q4(X1), _q4(X2), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(nil), _q3(X1), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q3(X1), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q3(X1), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q3(X1), _q3(key(pub,X4)), _q4(X2), _q4(nil), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q3(X1), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)). + #false() :- _q4(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(X3,nil)), _q3(key(pub,X4)), _q4(X1), _q4(X2), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(nil), _q3(key(pub,X4)), _q4(X1), _q4(X2), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q3(key(pub,X4)), _q4(X1), _q4(X2), _q4(noncea_current(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q3(X1), _q3(key(pub,X4)), _q4(X2), _q4(cons(X3,nil)), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(nil), _q3(X1), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q3(X1), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q3(key(pub,X4)), _q4(X2), _q4(nil), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)). + #false() :- _q4(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X3,nil)), _q2(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(nil), _q2(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1), _q4(X2), _q4(nil). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1), _q4(X2). + #false() :- _q4(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(nil), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2), _q4(nil). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q4(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(nil), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1), _q4(X2). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2), _q4(cons(X3,nil)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(nil), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2), _q4(nil). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q4(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X3,nil)), _q2(X1), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(nil), _q2(X1), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2), _q4(cons(X1,cons(X3,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(nil), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(noncea_current(X4,X3,X2)), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(key(pub,X4)), _q4(X2), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(pub), _q4(X2), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q4(X2), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q4(X2), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(cons(X1,cons(X3,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(noncea_current(X4,X3,X2)), _q3(cons(X1,cons(X3,nil))), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(cons(X1,cons(X3,nil))), _q4(X2), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X1), _q2(cons(X3,nil)), _q4(X2), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X1), _q2(nil), _q4(X2), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X1), _q4(X2), _q4(noncea_current(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X1), _q4(X2), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X1), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q4(X2). + #false() :- _q1(X4). + #false() :- _q1(X3).
 >knows_current(crypt(X1,X2)) :- _q2(X1), _q4(X2).
 knows_current(crypt(X1,X2)) :- _q2(X1), _q4(X2). is false: quit [X1=i,X2=nonceb_current(nil,nil,nil,i)].
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q4(X2), _q4(cons(X1,cons(X3,nil))), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X1), _q4(X2), _q4(cons(X3,nil)), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X1), _q3(nil), _q4(X2), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q2(X1), _q4(X2), _q4(noncea_current(X4,X3,X2)). + #false() :- _q3(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(cons(X3,nil)), _q4(X1), _q4(X2), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q1(nil), _q4(X1), _q4(X2), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q4(X1), _q4(X2), _q4(noncea_current(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q4(X1), _q4(X2), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(X4), _q4(X1), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q4(X1), _q4(X2). + #false() :- _q1(X4). + #false() :- _q1(X3).
 >knows_current(crypt(X1,X2)) :- _q4(X1), _q4(X2).
 knows_current(crypt(X1,X2)) :- _q4(X1), _q4(X2). is false: quit [X1=nonceb_current(nil,nil,nil,i),X2=nonceb_current(nil,nil,nil,i)].
*** split knows_current(crypt(X1,X2)) :- _q3(nil), _q4(X2), _q4(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q4(X2), _q4(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q3(nil).
 >knows_current(crypt(X1,X2)) :- _q4(X2), _q4(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
 >knows_current(crypt(X1,X2)) :- _q1(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X2), _q4(X4), _q4(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q1(noncea_current(X4,X3,X2)), _q4(X2), _q4(X3), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(X1), _q2(cons(X4,nil)), _q4(X2), _q4(X4), _q4(key(pub,X3)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(cons(X4,nil)), _q4(X2), _q4(X4), _q4(key(pub,X3)). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q4(X2). + #false() :- _q1(X3), _q4(key(pub,X3)). + #false() :- _q2(cons(X4,nil)), _q4(X4).
 >#false() :- _q1(X1), _q4(key(pub,X1)).
*** split #false() :- _q1(X1), _q2(pub). =>  + #false() :- _q1(X1). + #false() :- _q2(pub).
*** split knows_current(crypt(X1,X2)) :- _q2(X1), _q2(cons(X3,nil)), _q3(X4), _q4(X2), _q4(X3), _q4(key(pub,X4)). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q4(X2). + #false() :- _q3(X4), _q4(key(pub,X4)). + #false() :- _q2(cons(X3,nil)), _q4(X3).
 >#false() :- _q3(X1), _q4(key(pub,X1)).
*** split #false() :- _q3(X1), _q4(pub). =>  + #false() :- _q3(X1). + #false() :- _q4(pub).
*** split #false() :- _q3(X1), _q3(pub). =>  + #false() :- _q3(pub). + #false() :- _q3(X1).
 >knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X3), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X3), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q3(key(pub,X3)), _q4(X2), _q4(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q1(key(pub,X3)), _q4(X2), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q1(key(pub,X4)), _q1(noncea_current(X4,X3,X2)), _q4(X2), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q1(key(pub,X3)), _q1(noncea_current(X3,X4,X2)), _q2(X1), _q2(cons(X4,nil)), _q4(X2), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X3,X4,X2)), _q1(pub), _q2(X1), _q2(cons(X4,nil)), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X3,X4,X2)), _q2(X1), _q2(cons(X4,nil)), _q4(X2), _q4(X4). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X3,X4,X2)), _q2(X1), _q2(cons(X4,nil)), _q4(X2), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(cons(X4,nil)), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q4(X2). + #false() :- _q1(X3). + #false() :- _q2(cons(X4,nil)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(X1), _q2(cons(X4,nil)), _q3(pub), _q4(X2), _q4(X3), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(X1), _q2(cons(X4,nil)), _q4(X2), _q4(X3), _q4(X4). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(X1), _q2(cons(X4,nil)), _q4(X2), _q4(X3), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(X1), _q2(cons(X4,nil)), _q4(X2), _q4(X3), _q4(X4), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(X1), _q2(cons(X4,nil)), _q4(X2), _q4(X3), _q4(X4). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q1(key(pub,X3)), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)), _q4(X2), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(pub), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)), _q4(X2), _q4(X4). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)), _q4(X2), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X4,nil)), _q2(X1), _q2(noncea_current(X3,X4,X2)), _q4(X2), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q3(pub), _q4(X2), _q4(X4), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X4), _q4(X3). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X3), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X3), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X4), _q4(X3), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X4), _q4(X3). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q2(key(pub,X3)), _q4(X2), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(cons(X1,cons(X4,nil))), _q2(key(pub,X3)), _q4(X2), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(X1,cons(X4,nil))), _q2(key(pub,X3)), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X4,nil))), _q4(X2), _q4(X4). + #false() :- _q1(X3), _q2(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q4(X2), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X1), _q4(X2), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q4(X2). + #false() :- _q1(cons(X3,nil)), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q3(X4), _q4(X2), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q4(X2), _q4(X3). + #false() :- _q2(key(pub,X4)), _q3(X4).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q2(X1), _q2(cons(X3,nil)), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q1(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q2(key(pub,X3)), _q4(X2), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q1(noncea_current(X4,X3,X2)), _q2(key(pub,X4)), _q4(X2), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(X1), _q2(cons(X4,nil)), _q2(key(pub,X3)), _q4(X2), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(cons(X4,nil)), _q2(key(pub,X3)), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q4(X2). + #false() :- _q1(X3), _q2(key(pub,X3)). + #false() :- _q2(cons(X4,nil)), _q4(X4).
 >#false() :- _q1(X1), _q2(key(pub,X1)).
*** split #false() :- _q1(X1), _q4(pub). =>  + #false() :- _q1(X1). + #false() :- _q4(pub).
*** split #false() :- _q1(X1), _q3(pub). =>  + #false() :- _q3(pub). + #false() :- _q1(X1).
*** split knows_current(crypt(X1,X2)) :- _q2(X1), _q2(cons(X3,nil)), _q2(key(pub,X4)), _q3(X4), _q4(X2), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q4(X2). + #false() :- _q2(key(pub,X4)), _q3(X4). + #false() :- _q2(cons(X3,nil)), _q4(X3).
 >#false() :- _q2(key(pub,X1)), _q3(X1).
*** split #false() :- _q1(pub), _q3(X1). =>  + #false() :- _q3(X1). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X1), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q1(key(pub,X3)), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X2), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(pub), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X2), _q4(X4). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X2), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X3,X4,X2)), _q2(cons(X1,cons(X4,nil))), _q4(X2), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(X1,cons(X4,nil))), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X4,nil))), _q4(X2), _q4(X4). + #false() :- _q1(X3).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)), _q4(X2), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(cons(X4,nil)), _q2(noncea_current(X3,X4,X2)), _q4(X2), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q3(pub), _q4(X2), _q4(X3), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X2), _q4(X3), _q4(X4). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X2), _q4(X3), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(cons(X1,cons(X4,nil))), _q4(X2), _q4(X3), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X4), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q2(X1), _q2(cons(X3,nil)), _q2(noncea_current(X4,X3,X2)), _q4(X2), _q4(X3), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X2), _q4(X3), _q4(X4), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q4(X2), _q4(X3), _q4(X4). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q3(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q3(key(pub,X3)), _q4(X2), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q3(key(pub,X3)), _q4(X2), _q4(X4), _q4(cons(X1,cons(X4,nil))).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q3(key(pub,X3)), _q4(X2), _q4(X4), _q4(cons(X1,cons(X4,nil))). =>  + knows_current(crypt(X1,X2)) :- _q4(X2), _q4(X4), _q4(cons(X1,cons(X4,nil))). + #false() :- _q1(X3), _q3(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q4(X2), _q4(X3), _q4(cons(X1,cons(X3,nil))).
*** split knows_current(crypt(X1,X2)) :- _q2(X1), _q4(X2), _q4(X3), _q4(cons(X3,nil)). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q4(X2). + #false() :- _q4(X3), _q4(cons(X3,nil)).
*** split knows_current(crypt(X1,X2)) :- _q3(X3), _q3(key(pub,X3)), _q4(X2), _q4(X4), _q4(cons(X1,cons(X4,nil))). =>  + knows_current(crypt(X1,X2)) :- _q4(X2), _q4(X4), _q4(cons(X1,cons(X4,nil))). + #false() :- _q3(X3), _q3(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(X2), _q4(X3), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(X1), _q4(X2), _q4(X3), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q3(key(pub,X3)), _q3(nil), _q4(X1), _q4(X2), _q4(X4), _q4(noncea_current(X3,X4,X2)). =>  + knows_current(crypt(X1,X2)) :- _q3(key(pub,X3)), _q4(X1), _q4(X2), _q4(X4), _q4(noncea_current(X3,X4,X2)). + #false() :- _q3(nil).
 >knows_current(crypt(X1,X2)) :- _q3(key(pub,X3)), _q4(X1), _q4(X2), _q4(X4), _q4(noncea_current(X3,X4,X2)).
*** split knows_current(crypt(X1,X2)) :- _q2(nil), _q3(key(pub,X3)), _q4(X1), _q4(X2), _q4(X4), _q4(noncea_current(X3,X4,X2)). =>  + knows_current(crypt(X1,X2)) :- _q3(key(pub,X3)), _q4(X1), _q4(X2), _q4(X4), _q4(noncea_current(X3,X4,X2)). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q4(X2), _q4(X3), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(X2), _q4(X3), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q3(X1), _q3(key(pub,X3)), _q3(nil), _q4(X2), _q4(X4), _q4(noncea_current(X3,X4,X2)). =>  + knows_current(crypt(X1,X2)) :- _q3(X1), _q3(key(pub,X3)), _q4(X2), _q4(X4), _q4(noncea_current(X3,X4,X2)). + #false() :- _q3(nil).
 >knows_current(crypt(X1,X2)) :- _q3(X1), _q3(key(pub,X3)), _q4(X2), _q4(X4), _q4(noncea_current(X3,X4,X2)).
*** split knows_current(crypt(X1,X2)) :- _q2(nil), _q3(X1), _q3(key(pub,X3)), _q4(X2), _q4(X4), _q4(noncea_current(X3,X4,X2)). =>  + knows_current(crypt(X1,X2)) :- _q3(X1), _q3(key(pub,X3)), _q4(X2), _q4(X4), _q4(noncea_current(X3,X4,X2)). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q2(cons(X3,nil)), _q3(key(pub,X4)), _q4(X1), _q4(X2), _q4(X3), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q3(X1), _q3(key(pub,X3)), _q4(X2), _q4(X4), _q4(cons(X4,nil)), _q4(noncea_current(X3,X4,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q4(X2), _q4(X3), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q2(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(X2), _q4(X3), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q2(X1), _q3(key(pub,X3)), _q3(nil), _q4(X2), _q4(X4), _q4(noncea_current(X3,X4,X2)). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q3(key(pub,X3)), _q4(X2), _q4(X4), _q4(noncea_current(X3,X4,X2)). + #false() :- _q3(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X1), _q3(key(pub,X3)), _q4(X2), _q4(X4), _q4(noncea_current(X3,X4,X2)).
*** split knows_current(crypt(X1,X2)) :- _q2(X1), _q2(nil), _q3(key(pub,X3)), _q4(X2), _q4(X4), _q4(noncea_current(X3,X4,X2)). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q3(key(pub,X3)), _q4(X2), _q4(X4), _q4(noncea_current(X3,X4,X2)). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1), _q4(X2), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q3(key(pub,X3)), _q3(nil), _q3(noncea_current(X3,X4,X2)), _q4(X1), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X1), _q4(X2), _q4(X4). + #false() :- _q3(nil).
 >knows_current(crypt(X1,X2)) :- _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X1), _q4(X2), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q2(nil), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X1), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X1), _q4(X2), _q4(X4). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q2(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q3(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q3(X1), _q3(key(pub,X3)), _q3(nil), _q3(noncea_current(X3,X4,X2)), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q3(X1), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X2), _q4(X4). + #false() :- _q3(nil).
 >knows_current(crypt(X1,X2)) :- _q3(X1), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X2), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q2(nil), _q3(X1), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q3(X1), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X2), _q4(X4). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q2(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1), _q4(X2), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q3(X1), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X2), _q4(X4), _q4(cons(X4,nil)).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q3(X1), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q2(X1), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q2(X1), _q3(key(pub,X3)), _q3(nil), _q3(noncea_current(X3,X4,X2)), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X2), _q4(X4). + #false() :- _q3(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X1), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X2), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q2(X1), _q2(nil), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X2), _q4(X4). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(X2), _q4(X3), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X1), _q3(key(pub,X4)), _q4(X2), _q4(X3), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q3(key(pub,X3)), _q3(noncea_current(X3,X4,X2)), _q4(X2), _q4(X4), _q4(cons(X1,cons(X4,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q2(X1), _q2(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q2(noncea_current(X3,X4,X2)), _q3(cons(X1,cons(X4,nil))), _q3(key(pub,X3)), _q4(X2), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q2(X3), _q3(cons(X1,cons(X4,nil))), _q3(key(pub,X3)), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q3(cons(X1,cons(X4,nil))), _q4(X2), _q4(X4). + #false() :- _q2(X3), _q3(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q3(cons(X1,cons(X3,nil))), _q4(X2), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q3(cons(X3,nil)), _q4(X1), _q4(X2), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q4(X1), _q4(X2). + #false() :- _q3(cons(X3,nil)), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q2(cons(X3,nil)), _q3(X1), _q4(X2), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q3(X1), _q4(X2). + #false() :- _q2(cons(X3,nil)), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q3(X1), _q4(X2).
 knows_current(crypt(X1,X2)) :- _q3(X1), _q4(X2). is false: quit [X1=s(nonceb_current(nil,nil,nil,i)),X2=nonceb_current(nil,nil,nil,i)].
*** split knows_current(crypt(X1,X2)) :- _q3(X1), _q3(cons(X3,nil)), _q4(X2), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q3(X1), _q4(X2). + #false() :- _q3(cons(X3,nil)), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q2(cons(X3,nil)), _q4(X1), _q4(X2), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q4(X1), _q4(X2). + #false() :- _q2(cons(X3,nil)), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q3(X1), _q4(X2), _q4(X3), _q4(cons(X3,nil)). =>  + knows_current(crypt(X1,X2)) :- _q3(X1), _q4(X2). + #false() :- _q4(X3), _q4(cons(X3,nil)).
 >knows_current(crypt(X1,X2)) :- _q1(key(pub,X3)), _q4(X2), _q4(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(pub), _q4(X2), _q4(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q4(X2), _q4(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q4(X2), _q4(X4), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(noncea_current(X3,X4,X2)), _q4(X2), _q4(X4), _q4(cons(X1,cons(X4,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X3,X4,X2)), _q3(cons(X1,cons(X4,nil))), _q4(X2), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q3(cons(X1,cons(X4,nil))), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q3(cons(X1,cons(X4,nil))), _q4(X2), _q4(X4). + #false() :- _q1(X3).
*** split knows_current(crypt(X1,X2)) :- _q2(nil), _q3(X3), _q4(X2), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q3(X3), _q4(X2), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q3(X3), _q4(X2), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))).
 >knows_current(crypt(X1,X2)) :- _q1(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q3(X4), _q4(X2), _q4(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q1(noncea_current(X4,X3,X2)), _q3(X3), _q4(X2), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(X1), _q2(cons(X4,nil)), _q3(X4), _q4(X2), _q4(key(pub,X3)).
*** split knows_current(crypt(X1,X2)) :- _q2(X1), _q2(cons(X3,nil)), _q3(X3), _q4(X2), _q4(X4), _q4(key(pub,X4)). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q4(X2). + #false() :- _q4(X4), _q4(key(pub,X4)). + #false() :- _q2(cons(X3,nil)), _q3(X3).
 >#false() :- _q4(X1), _q4(key(pub,X1)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(cons(X4,nil)), _q3(X4), _q4(X2), _q4(key(pub,X3)). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q4(X2). + #false() :- _q1(X3), _q4(key(pub,X3)). + #false() :- _q2(cons(X4,nil)), _q3(X4).
 >knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q3(X3), _q4(X2), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q3(X3), _q4(X2), _q4(key(pub,X4)).
 >knows_current(crypt(X1,X2)) :- _q3(X3), _q3(key(pub,X4)), _q4(X2), _q4(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q1(key(pub,X3)), _q3(X4), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q1(key(pub,X4)), _q1(noncea_current(X4,X3,X2)), _q3(X3), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(key(pub,X3)), _q1(noncea_current(X3,X4,X2)), _q2(X1), _q2(cons(X4,nil)), _q3(X4), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X3,X4,X2)), _q1(pub), _q2(X1), _q2(cons(X4,nil)), _q3(X4), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X3,X4,X2)), _q2(X1), _q2(cons(X4,nil)), _q3(X4), _q4(X2). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X3,X4,X2)), _q2(X1), _q2(cons(X4,nil)), _q3(X4), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(cons(X4,nil)), _q3(X4), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q4(X2). + #false() :- _q1(X3). + #false() :- _q2(cons(X4,nil)), _q3(X4).
 >#false() :- _q2(cons(X1,nil)), _q3(X1).
*** split knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(X1), _q2(cons(X4,nil)), _q3(X4), _q3(pub), _q4(X2), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(X1), _q2(cons(X4,nil)), _q3(X4), _q4(X2), _q4(X3). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(X1), _q2(cons(X4,nil)), _q3(X4), _q4(X2), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q2(X1), _q2(cons(X3,nil)), _q3(X3), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q4(X2). + #false() :- _q4(X4). + #false() :- _q2(cons(X3,nil)), _q3(X3).
*** split knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(X1), _q2(cons(X4,nil)), _q3(X4), _q4(X2), _q4(X3), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(X1), _q2(cons(X4,nil)), _q3(X4), _q4(X2), _q4(X3). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q1(key(pub,X3)), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)), _q3(X4), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(pub), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)), _q3(X4), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)), _q3(X4), _q4(X2). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)), _q3(X4), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X4,nil)), _q2(X1), _q2(noncea_current(X3,X4,X2)), _q3(X4), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q3(X3), _q3(pub), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q3(X3), _q4(X2), _q4(X4). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q3(X3), _q4(X2), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X1), _q2(noncea_current(X4,X3,X2)), _q3(X3), _q4(X2), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q3(X3), _q4(X2), _q4(X4), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q3(X3), _q4(X2), _q4(X4). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q2(key(pub,X3)), _q3(X4), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(cons(X1,cons(X4,nil))), _q2(key(pub,X3)), _q3(X4), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q3(X3), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q3(X3), _q4(X2). + #false() :- _q2(key(pub,X4)), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q3(X3), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X1), _q3(X3), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q4(X2). + #false() :- _q1(cons(X3,nil)), _q3(X3).
 >#false() :- _q1(cons(X1,nil)), _q3(X1).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(X1,cons(X4,nil))), _q2(key(pub,X3)), _q3(X4), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X4,nil))), _q3(X4), _q4(X2). + #false() :- _q1(X3), _q2(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)), _q3(X3), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q2(X1), _q2(cons(X3,nil)), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)), _q3(X3), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q2(key(pub,X3)), _q3(X4), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q1(noncea_current(X4,X3,X2)), _q2(key(pub,X4)), _q3(X3), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(X1), _q2(cons(X4,nil)), _q2(key(pub,X3)), _q3(X4), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q2(X1), _q2(cons(X3,nil)), _q2(key(pub,X4)), _q3(X3), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q4(X2). + #false() :- _q2(cons(X3,nil)), _q3(X3). + #false() :- _q2(key(pub,X4)), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(cons(X4,nil)), _q2(key(pub,X3)), _q3(X4), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q4(X2). + #false() :- _q1(X3), _q2(key(pub,X3)). + #false() :- _q2(cons(X4,nil)), _q3(X4).
 >knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)), _q3(X3), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X1), _q2(key(pub,X4)), _q2(noncea_current(X4,X3,X2)), _q3(X3), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(key(pub,X3)), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q3(X4), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(pub), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q3(X4), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q3(X4), _q4(X2). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q3(X4), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X3,X4,X2)), _q2(cons(X1,cons(X4,nil))), _q3(X4), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q2(cons(X1,cons(X4,nil))), _q3(X4), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X4,nil))), _q3(X4), _q4(X2). + #false() :- _q1(X3).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(cons(X1,cons(X4,nil))), _q2(noncea_current(X3,X4,X2)), _q3(X4), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(X1), _q2(cons(X4,nil)), _q2(noncea_current(X3,X4,X2)), _q3(X4), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q3(X4), _q3(pub), _q4(X2), _q4(X3). =>  + knows_current(crypt(X1,X2)) :- _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q3(X4), _q4(X2), _q4(X3). + #false() :- _q3(pub).
 >knows_current(crypt(X1,X2)) :- _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q3(X4), _q4(X2), _q4(X3).
 >knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q2(cons(X1,cons(X4,nil))), _q3(X4), _q4(X2), _q4(X3).
*** split knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q3(X3), _q4(X2), _q4(X4). =>  + knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q3(X3), _q4(X2). + #false() :- _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q2(noncea_current(X4,X3,X2)), _q3(X3), _q4(X2), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q2(X1), _q2(cons(X3,nil)), _q2(noncea_current(X4,X3,X2)), _q3(X3), _q4(X2), _q4(X4).
*** split knows_current(crypt(X1,X2)) :- _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q3(X4), _q4(X2), _q4(X3), _q4(pub). =>  + knows_current(crypt(X1,X2)) :- _q2(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))), _q3(X4), _q4(X2), _q4(X3). + #false() :- _q4(pub).
 >knows_current(crypt(X1,X2)) :- _q3(X3), _q3(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil)))), _q3(key(pub,X4)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(noncea_current(X3,X4,X2)), _q3(X4), _q3(key(pub,X3)), _q4(X2), _q4(cons(X1,cons(X4,nil))).
*** split knows_current(crypt(X1,X2)) :- _q3(X3), _q3(key(pub,X4)), _q4(X2), _q4(X4), _q4(cons(X1,cons(X3,nil))). =>  + knows_current(crypt(X1,X2)) :- _q3(X3), _q4(X2), _q4(cons(X1,cons(X3,nil))). + #false() :- _q3(key(pub,X4)), _q4(X4).
 >knows_current(crypt(X1,X2)) :- _q3(X3), _q4(X2), _q4(cons(X1,cons(X3,nil))).
*** split knows_current(crypt(X1,X2)) :- _q2(X1), _q3(X3), _q4(X2), _q4(cons(X3,nil)). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q4(X2). + #false() :- _q3(X3), _q4(cons(X3,nil)).
 >#false() :- _q3(X1), _q4(cons(X1,nil)).
*** split knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q3(X3), _q4(X1), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q4(X1), _q4(X2). + #false() :- _q1(cons(X3,nil)), _q3(X3).
*** split knows_current(crypt(X1,X2)) :- _q3(X3), _q4(X1), _q4(X2), _q4(cons(X3,nil)). =>  + knows_current(crypt(X1,X2)) :- _q4(X1), _q4(X2). + #false() :- _q3(X3), _q4(cons(X3,nil)).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q3(X4), _q3(key(pub,X3)), _q4(X2), _q4(cons(X1,cons(X4,nil))). =>  + knows_current(crypt(X1,X2)) :- _q3(X4), _q4(X2), _q4(cons(X1,cons(X4,nil))). + #false() :- _q1(X3), _q3(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q3(X3), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q3(X3), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(X1), _q4(X2), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q2(nil), _q3(X3), _q3(key(pub,X4)), _q4(X1), _q4(X2), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q3(X3), _q3(key(pub,X4)), _q4(X1), _q4(X2), _q4(noncea_current(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q3(X3), _q3(key(pub,X4)), _q4(X1), _q4(X2), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q3(X3), _q3(key(pub,X4)), _q3(nil), _q4(X1), _q4(X2), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q3(X3), _q3(key(pub,X4)), _q4(X1), _q4(X2), _q4(noncea_current(X4,X3,X2)). + #false() :- _q3(nil).
*** split knows_current(crypt(X1,X2)) :- _q3(X3), _q3(key(pub,X4)), _q4(X1), _q4(X2), _q4(nil), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q3(X3), _q3(key(pub,X4)), _q4(X1), _q4(X2), _q4(noncea_current(X4,X3,X2)). + #false() :- _q4(nil).
*** split knows_current(crypt(X1,X2)) :- _q1(nil), _q3(X3), _q3(key(pub,X4)), _q4(X1), _q4(X2), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q3(X3), _q3(key(pub,X4)), _q4(X1), _q4(X2), _q4(noncea_current(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q2(cons(X3,nil)), _q3(X1), _q3(X3), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q3(X1), _q3(X3), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q2(nil), _q3(X1), _q3(X3), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q3(X1), _q3(X3), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q3(X1), _q3(X3), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q3(X1), _q3(X3), _q3(key(pub,X4)), _q3(nil), _q4(X2), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q3(X1), _q3(X3), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)). + #false() :- _q3(nil).
*** split knows_current(crypt(X1,X2)) :- _q3(X1), _q3(X3), _q3(key(pub,X4)), _q4(X2), _q4(nil), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q3(X1), _q3(X3), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)). + #false() :- _q4(nil).
*** split knows_current(crypt(X1,X2)) :- _q1(nil), _q3(X1), _q3(X3), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q3(X1), _q3(X3), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q2(cons(X3,nil)), _q3(X3), _q3(key(pub,X4)), _q4(X1), _q4(X2), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q3(X1), _q3(X3), _q3(key(pub,X4)), _q4(X2), _q4(cons(X3,nil)), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q3(X1), _q3(X3), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q2(X1), _q3(X3), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q2(X1), _q2(nil), _q3(X3), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q3(X3), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X1), _q3(X3), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)).
*** split knows_current(crypt(X1,X2)) :- _q2(X1), _q3(X3), _q3(key(pub,X4)), _q3(nil), _q4(X2), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q3(X3), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)). + #false() :- _q3(nil).
*** split knows_current(crypt(X1,X2)) :- _q2(X1), _q3(X3), _q3(key(pub,X4)), _q4(X2), _q4(nil), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q3(X3), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)). + #false() :- _q4(nil).
*** split knows_current(crypt(X1,X2)) :- _q1(nil), _q2(X1), _q3(X3), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q3(X3), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X1), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q3(X3), _q3(cons(X1,cons(X3,nil))), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q3(X3), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q2(nil), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1), _q4(X2). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q3(X3), _q3(key(pub,X4)), _q3(nil), _q3(noncea_current(X4,X3,X2)), _q4(X1), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1), _q4(X2). + #false() :- _q3(nil).
*** split knows_current(crypt(X1,X2)) :- _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1), _q4(X2), _q4(nil). =>  + knows_current(crypt(X1,X2)) :- _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1), _q4(X2). + #false() :- _q4(nil).
*** split knows_current(crypt(X1,X2)) :- _q1(nil), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1), _q4(X2). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q2(cons(X3,nil)), _q3(X1), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q3(X1), _q3(X3), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q2(nil), _q3(X1), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q3(X1), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q3(X1), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q3(X1), _q3(X3), _q3(key(pub,X4)), _q3(nil), _q3(noncea_current(X4,X3,X2)), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q3(X1), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q3(nil).
*** split knows_current(crypt(X1,X2)) :- _q3(X1), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2), _q4(nil). =>  + knows_current(crypt(X1,X2)) :- _q3(X1), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q4(nil).
*** split knows_current(crypt(X1,X2)) :- _q1(nil), _q3(X1), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q3(X1), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q2(cons(X3,nil)), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X1), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q3(X1), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2), _q4(cons(X3,nil)).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q3(X1), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q2(X1), _q3(X3), _q3(cons(X3,nil)), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q2(X1), _q2(nil), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q2(nil).
 >knows_current(crypt(X1,X2)) :- _q2(X1), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q2(X1), _q3(X3), _q3(key(pub,X4)), _q3(nil), _q3(noncea_current(X4,X3,X2)), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q3(nil).
*** split knows_current(crypt(X1,X2)) :- _q2(X1), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2), _q4(nil). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q4(nil).
*** split knows_current(crypt(X1,X2)) :- _q1(nil), _q2(X1), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q2(X1), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2). + #false() :- _q1(nil).
 >knows_current(crypt(X1,X2)) :- _q2(cons(X1,cons(X3,nil))), _q3(X3), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X3,nil)), _q2(X1), _q3(X3), _q3(key(pub,X4)), _q4(X2), _q4(noncea_current(X4,X3,X2)).
 >knows_current(crypt(X1,X2)) :- _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2), _q4(cons(X1,cons(X3,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(cons(X1,cons(X3,nil))), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q2(X1), _q2(cons(X3,nil)), _q3(X3), _q3(key(pub,X4)), _q3(noncea_current(X4,X3,X2)), _q4(X2).
 >knows_current(crypt(X1,X2)) :- _q2(noncea_current(X3,X4,X2)), _q3(X4), _q3(cons(X1,cons(X4,nil))), _q3(key(pub,X3)), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q2(X3), _q3(X4), _q3(cons(X1,cons(X4,nil))), _q3(key(pub,X3)), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q3(X4), _q3(cons(X1,cons(X4,nil))), _q4(X2). + #false() :- _q2(X3), _q3(key(pub,X3)).
 >knows_current(crypt(X1,X2)) :- _q3(X3), _q3(cons(X1,cons(X3,nil))), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q3(X3), _q3(cons(X3,nil)), _q4(X1), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q4(X1), _q4(X2). + #false() :- _q3(X3), _q3(cons(X3,nil)).
 >#false() :- _q3(X1), _q3(cons(X1,nil)).
*** split #false() :- _q2(nil), _q3(X1). =>  + #false() :- _q3(X1). + #false() :- _q2(nil).
*** split #false() :- _q3(X1), _q3(nil). =>  + #false() :- _q3(X1). + #false() :- _q3(nil).
*** split #false() :- _q3(X1), _q4(nil). =>  + #false() :- _q3(X1). + #false() :- _q4(nil).
*** split #false() :- _q1(nil), _q3(X1). =>  + #false() :- _q1(nil). + #false() :- _q3(X1).
 >knows_current(crypt(X1,X2)) :- _q1(key(pub,X3)), _q3(X4), _q4(X2), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q1(pub), _q3(X4), _q4(X2), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))). =>  + knows_current(crypt(X1,X2)) :- _q1(X3), _q3(X4), _q4(X2), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))). + #false() :- _q1(pub).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q3(X4), _q4(X2), _q4(cons(noncea_current(X3,X4,X2),cons(X1,cons(X4,nil)))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q2(noncea_current(X3,X4,X2)), _q3(X4), _q4(X2), _q4(cons(X1,cons(X4,nil))).
 >knows_current(crypt(X1,X2)) :- _q1(X3), _q1(noncea_current(X3,X4,X2)), _q3(X4), _q3(cons(X1,cons(X4,nil))), _q4(X2).
*** split knows_current(crypt(X1,X2)) :- _q1(X3), _q3(X4), _q3(cons(X1,cons(X4,nil))), _q4(X2). =>  + knows_current(crypt(X1,X2)) :- _q3(X4), _q3(cons(X1,cons(X4,nil))), _q4(X2). + #false() :- _q1(X3).
*** split knows_current(crypt(X1,X2)) :- _q3(X3), _q3(nil), _q4(X2), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q3(X3), _q4(X2), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q3(nil).
*** split knows_current(crypt(X1,X2)) :- _q2(nil), _q4(X2), _q4(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q4(X2), _q4(X3), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q2(nil).
*** split knows_current(crypt(X1,X2)) :- _q3(X3), _q4(X2), _q4(nil), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q3(X3), _q4(X2), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q4(nil).
*** split knows_current(crypt(X1,X2)) :- _q1(nil), _q3(X3), _q4(X2), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q3(X3), _q4(X2), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q1(nil).
*** split knows_current(crypt(X1,X2)) :- _q1(key(prv,server)), _q4(cons(X2,cons(X3,nil))), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q4(cons(X2,cons(X3,nil))), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q1(key(prv,server)).
*** split knows_current(crypt(X1,X2)) :- _q2(cons(X2,cons(X3,nil))), _q3(key(prv,server)), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). =>  + knows_current(crypt(X1,X2)) :- _q2(cons(X2,cons(X3,nil))), knows_current(crypt(cons(noncea_current(X4,X3,X2),cons(X1,cons(X3,nil))),key(pub,X4))). + #false() :- _q3(key(prv,server)).
 ... OK.
Checking clause knows_current(cons(A,cons(B,nil))) :- agent(B), agent(A)...
 >knows_current(cons(X1,cons(X2,nil))) :- agent(X1), agent(X2).
*** pos_value_checker: knows_current(cons(X1,cons(X2,nil))) :- agent(X1), agent(X2).
Cannot check.
 >knows_current(cons(X1,cons(X2,nil))) :- _q2(X1), agent(X2).
*** pos_value_checker: knows_current(cons(X1,cons(X2,nil))) :- _q2(X1), agent(X2).
Cannot check.
 >knows_current(cons(X1,cons(X2,nil))) :- _q1(X1), agent(X2).
*** pos_value_checker: knows_current(cons(X1,cons(X2,nil))) :- _q1(X1), agent(X2).
Cannot check.
 ... OK.
Checking clause knows_current(crypt(cons(key(pub,A),cons(A,nil)),key(prv,server))) :- knows_current(cons(B,cons(A,nil)))...
 ... OK.
Checking clause agent(server)...
 ... OK.
Checking clause #false(intruder_knows_alice_msg)  :- knows_current(noncea_current(alice,bob,KPb))...
*** split #false(intruder_knows_alice_msg)  :- knows_current(noncea_current(alice,bob,X1)). =>  + #false(intruder_knows_alice_msg) . + #false() :- knows_current(noncea_current(alice,bob,X1)).
 >#false(intruder_knows_alice_msg) .
 #false(intruder_knows_alice_msg) . is false: quit.
 >#false() :- knows_current(noncea_current(alice,bob,X1)).
*** split #false() :- _q1(bob), _q2(X1), _q3(alice). =>  + #false() :- _q2(X1). + #false() :- _q1(bob). + #false() :- _q3(alice).
*** split #false() :- _q1(X1), _q1(bob), _q2(alice). =>  + #false() :- _q2(alice). + #false() :- _q1(X1). + #false() :- _q1(bob).
*** split #false() :- _q2(X1), _q2(alice), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q2(alice). + #false() :- _q2(X1).
*** split #false() :- _q1(X1), _q2(bob), _q4(alice). =>  + #false() :- _q2(bob). + #false() :- _q1(X1). + #false() :- _q4(alice).
*** split #false() :- _q1(alice), _q2(X1), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q2(X1). + #false() :- _q1(alice).
*** split #false() :- _q1(X1), _q4(alice), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q1(X1). + #false() :- _q4(alice).
*** split #false() :- _q2(alice), _q4(X1), _q4(bob). =>  + #false() :- _q2(alice). + #false() :- _q4(bob). + #false() :- _q4(X1).
*** split #false() :- _q3(bob), _q4(X1), _q4(alice). =>  + #false() :- _q3(bob). + #false() :- _q4(alice). + #false() :- _q4(X1).
*** split #false() :- _q1(X1), _q2(alice), _q4(bob). =>  + #false() :- _q2(alice). + #false() :- _q4(bob). + #false() :- _q1(X1).
*** split #false() :- _q2(X1), _q3(alice), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q2(X1). + #false() :- _q3(alice).
*** split #false() :- _q3(X1), _q3(alice), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q3(X1). + #false() :- _q3(alice).
*** split #false() :- _q1(alice), _q2(X1), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q2(X1). + #false() :- _q1(alice).
*** split #false() :- _q1(alice), _q2(X1), _q2(bob). =>  + #false() :- _q2(bob). + #false() :- _q2(X1). + #false() :- _q1(alice).
*** split #false() :- _q1(bob), _q3(X1), _q4(alice). =>  + #false() :- _q3(X1). + #false() :- _q4(alice). + #false() :- _q1(bob).
*** split #false() :- _q1(alice), _q3(X1), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q3(X1). + #false() :- _q1(alice).
*** split #false() :- _q1(X1), _q1(alice), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q1(alice). + #false() :- _q1(X1).
*** split #false() :- _q1(X1), _q1(bob), _q3(alice). =>  + #false() :- _q1(X1). + #false() :- _q1(bob). + #false() :- _q3(alice).
*** split #false() :- _q2(X1), _q2(alice), _q2(bob). =>  + #false() :- _q2(alice). + #false() :- _q2(bob). + #false() :- _q2(X1).
*** split #false() :- _q1(alice), _q2(bob), _q4(X1). =>  + #false() :- _q2(bob). + #false() :- _q1(alice). + #false() :- _q4(X1).
*** split #false() :- _q1(X1), _q1(alice), _q2(bob). =>  + #false() :- _q2(bob). + #false() :- _q1(alice). + #false() :- _q1(X1).
*** split #false() :- _q1(X1), _q3(alice), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q1(X1). + #false() :- _q3(alice).
*** split #false() :- _q2(bob), _q3(X1), _q4(alice). =>  + #false() :- _q2(bob). + #false() :- _q3(X1). + #false() :- _q4(alice).
*** split #false() :- _q1(bob), _q2(X1), _q4(alice). =>  + #false() :- _q2(X1). + #false() :- _q4(alice). + #false() :- _q1(bob).
*** split #false() :- _q1(X1), _q3(bob), _q4(alice). =>  + #false() :- _q3(bob). + #false() :- _q1(X1). + #false() :- _q4(alice).
*** split #false() :- _q1(X1), _q2(bob), _q3(alice). =>  + #false() :- _q2(bob). + #false() :- _q1(X1). + #false() :- _q3(alice).
*** split #false() :- _q1(bob), _q3(X1), _q3(alice). =>  + #false() :- _q3(X1). + #false() :- _q1(bob). + #false() :- _q3(alice).
*** split #false() :- _q2(X1), _q2(bob), _q4(alice). =>  + #false() :- _q2(bob). + #false() :- _q2(X1). + #false() :- _q4(alice).
*** split #false() :- _q1(alice), _q3(bob), _q4(X1). =>  + #false() :- _q3(bob). + #false() :- _q1(alice). + #false() :- _q4(X1).
*** split #false() :- _q2(bob), _q4(X1), _q4(alice). =>  + #false() :- _q2(bob). + #false() :- _q4(alice). + #false() :- _q4(X1).
*** split #false() :- _q1(X1), _q3(alice), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q1(X1). + #false() :- _q3(alice).
*** split #false() :- _q3(X1), _q3(alice), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q3(X1). + #false() :- _q3(alice).
*** split #false() :- _q1(X1), _q1(alice), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q1(alice). + #false() :- _q1(X1).
*** split #false() :- _q2(X1), _q3(bob), _q4(alice). =>  + #false() :- _q3(bob). + #false() :- _q2(X1). + #false() :- _q4(alice).
*** split #false() :- _q2(alice), _q3(bob), _q4(X1). =>  + #false() :- _q3(bob). + #false() :- _q2(alice). + #false() :- _q4(X1).
*** split #false() :- _q1(X1), _q2(alice), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q2(alice). + #false() :- _q1(X1).
*** split #false() :- _q2(X1), _q3(alice), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q2(X1). + #false() :- _q3(alice).
*** split #false() :- _q3(X1), _q4(alice), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q3(X1). + #false() :- _q4(alice).
*** split #false() :- _q1(alice), _q4(X1), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q1(alice). + #false() :- _q4(X1).
*** split #false() :- _q2(bob), _q3(X1), _q3(alice). =>  + #false() :- _q2(bob). + #false() :- _q3(X1). + #false() :- _q3(alice).
*** split #false() :- _q1(alice), _q3(X1), _q3(bob). =>  + #false() :- _q3(bob). + #false() :- _q3(X1). + #false() :- _q1(alice).
*** split #false() :- _q2(alice), _q2(bob), _q4(X1). =>  + #false() :- _q2(alice). + #false() :- _q2(bob). + #false() :- _q4(X1).
*** split #false() :- _q2(X1), _q2(alice), _q4(bob). =>  + #false() :- _q2(alice). + #false() :- _q4(bob). + #false() :- _q2(X1).
*** split #false() :- _q3(alice), _q4(X1), _q4(bob). =>  + #false() :- _q4(bob). + #false() :- _q3(alice). + #false() :- _q4(X1).
 ... OK.
Checking clause agent(alice)...
 ... OK.
Checking clause agent(i)...
 ... OK.
Checking clause knows_current(nonceb_old(A,B,KPa,Na))...
 >knows_current(nonceb_old(X1,X2,X3,X4)).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)).
rho =
 case analysis: _q4(X1); _q3(X1); _q2(X1); _q1(X1).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q4(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q4(X1).
rho = X1=3
 case analysis: _q4(X3); _q3(X3); _q2(X3); _q1(X3).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q4(X1), _q4(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q4(X1), _q4(X3).
rho = X1=3 X3=3
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q4(X1), _q4(X2), _q4(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q4(X1), _q4(X2), _q4(X3).
rho = X1=3 X3=3 X2=3
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q3(X2), _q4(X1), _q4(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q3(X2), _q4(X1), _q4(X3).
rho = X1=3 X3=3 X2=2
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X2), _q4(X1), _q4(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X2), _q4(X1), _q4(X3).
rho = X1=3 X3=3 X2=4
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q4(X1), _q4(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q4(X1), _q4(X3).
rho = X1=3 X3=3 X2=1
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q3(X3), _q4(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q3(X3), _q4(X1).
rho = X1=3 X3=2
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q3(X3), _q4(X1), _q4(X2).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q3(X3), _q4(X1), _q4(X2).
rho = X1=3 X3=2 X2=3
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q3(X2), _q3(X3), _q4(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q3(X2), _q3(X3), _q4(X1).
rho = X1=3 X3=2 X2=2
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X2), _q3(X3), _q4(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X2), _q3(X3), _q4(X1).
rho = X1=3 X3=2 X2=4
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q3(X3), _q4(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q3(X3), _q4(X1).
rho = X1=3 X3=2 X2=1
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X3), _q4(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X3), _q4(X1).
rho = X1=3 X3=4
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X3), _q4(X1), _q4(X2).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X3), _q4(X1), _q4(X2).
rho = X1=3 X3=4 X2=3
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X3), _q3(X2), _q4(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X3), _q3(X2), _q4(X1).
rho = X1=3 X3=4 X2=2
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X2), _q2(X3), _q4(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X2), _q2(X3), _q4(X1).
rho = X1=3 X3=4 X2=4
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q2(X3), _q4(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q2(X3), _q4(X1).
rho = X1=3 X3=4 X2=1
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q4(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q4(X1).
rho = X1=3 X3=1
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q4(X1), _q4(X2).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q4(X1), _q4(X2).
rho = X1=3 X3=1 X2=3
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q3(X2), _q4(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q3(X2), _q4(X1).
rho = X1=3 X3=1 X2=2
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q2(X2), _q4(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q2(X2), _q4(X1).
rho = X1=3 X3=1 X2=4
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q1(X3), _q4(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q1(X3), _q4(X1).
rho = X1=3 X3=1 X2=1
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q3(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q3(X1).
rho = X1=2
 case analysis: _q4(X3); _q3(X3); _q2(X3); _q1(X3).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q3(X1), _q4(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q3(X1), _q4(X3).
rho = X1=2 X3=3
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q3(X1), _q4(X2), _q4(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q3(X1), _q4(X2), _q4(X3).
rho = X1=2 X3=3 X2=3
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q3(X1), _q3(X2), _q4(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q3(X1), _q3(X2), _q4(X3).
rho = X1=2 X3=3 X2=2
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X2), _q3(X1), _q4(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X2), _q3(X1), _q4(X3).
rho = X1=2 X3=3 X2=4
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q3(X1), _q4(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q3(X1), _q4(X3).
rho = X1=2 X3=3 X2=1
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q3(X1), _q3(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q3(X1), _q3(X3).
rho = X1=2 X3=2
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q3(X1), _q3(X3), _q4(X2).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q3(X1), _q3(X3), _q4(X2).
rho = X1=2 X3=2 X2=3
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q3(X1), _q3(X2), _q3(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q3(X1), _q3(X2), _q3(X3).
rho = X1=2 X3=2 X2=2
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X2), _q3(X1), _q3(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X2), _q3(X1), _q3(X3).
rho = X1=2 X3=2 X2=4
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q3(X1), _q3(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q3(X1), _q3(X3).
rho = X1=2 X3=2 X2=1
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X3), _q3(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X3), _q3(X1).
rho = X1=2 X3=4
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X3), _q3(X1), _q4(X2).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X3), _q3(X1), _q4(X2).
rho = X1=2 X3=4 X2=3
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X3), _q3(X1), _q3(X2).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X3), _q3(X1), _q3(X2).
rho = X1=2 X3=4 X2=2
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X2), _q2(X3), _q3(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X2), _q2(X3), _q3(X1).
rho = X1=2 X3=4 X2=4
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q2(X3), _q3(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q2(X3), _q3(X1).
rho = X1=2 X3=4 X2=1
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q3(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q3(X1).
rho = X1=2 X3=1
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q3(X1), _q4(X2).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q3(X1), _q4(X2).
rho = X1=2 X3=1 X2=3
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q3(X1), _q3(X2).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q3(X1), _q3(X2).
rho = X1=2 X3=1 X2=2
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q2(X2), _q3(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q2(X2), _q3(X1).
rho = X1=2 X3=1 X2=4
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q1(X3), _q3(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q1(X3), _q3(X1).
rho = X1=2 X3=1 X2=1
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1).
rho = X1=4
 case analysis: _q4(X3); _q3(X3); _q2(X3); _q1(X3).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q4(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q4(X3).
rho = X1=4 X3=3
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q4(X2), _q4(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q4(X2), _q4(X3).
rho = X1=4 X3=3 X2=3
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q3(X2), _q4(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q3(X2), _q4(X3).
rho = X1=4 X3=3 X2=2
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q2(X2), _q4(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q2(X2), _q4(X3).
rho = X1=4 X3=3 X2=4
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q2(X1), _q4(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q2(X1), _q4(X3).
rho = X1=4 X3=3 X2=1
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q3(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q3(X3).
rho = X1=4 X3=2
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q3(X3), _q4(X2).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q3(X3), _q4(X2).
rho = X1=4 X3=2 X2=3
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q3(X2), _q3(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q3(X2), _q3(X3).
rho = X1=4 X3=2 X2=2
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q2(X2), _q3(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q2(X2), _q3(X3).
rho = X1=4 X3=2 X2=4
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q2(X1), _q3(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q2(X1), _q3(X3).
rho = X1=4 X3=2 X2=1
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q2(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q2(X3).
rho = X1=4 X3=4
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q2(X3), _q4(X2).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q2(X3), _q4(X2).
rho = X1=4 X3=4 X2=3
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q2(X3), _q3(X2).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q2(X3), _q3(X2).
rho = X1=4 X3=4 X2=2
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q2(X2), _q2(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q2(X1), _q2(X2), _q2(X3).
rho = X1=4 X3=4 X2=4
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q2(X1), _q2(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q2(X1), _q2(X3).
rho = X1=4 X3=4 X2=1
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q2(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q2(X1).
rho = X1=4 X3=1
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q2(X1), _q4(X2).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q2(X1), _q4(X2).
rho = X1=4 X3=1 X2=3
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q2(X1), _q3(X2).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q2(X1), _q3(X2).
rho = X1=4 X3=1 X2=2
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q2(X1), _q2(X2).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X3), _q2(X1), _q2(X2).
rho = X1=4 X3=1 X2=4
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q1(X3), _q2(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X2), _q1(X3), _q2(X1).
rho = X1=4 X3=1 X2=1
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1).
rho = X1=1
 case analysis: _q4(X3); _q3(X3); _q2(X3); _q1(X3).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q4(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q4(X3).
rho = X1=1 X3=3
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q4(X2), _q4(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q4(X2), _q4(X3).
rho = X1=1 X3=3 X2=3
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q3(X2), _q4(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q3(X2), _q4(X3).
rho = X1=1 X3=3 X2=2
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q2(X2), _q4(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q2(X2), _q4(X3).
rho = X1=1 X3=3 X2=4
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q1(X2), _q4(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q1(X2), _q4(X3).
rho = X1=1 X3=3 X2=1
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q3(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q3(X3).
rho = X1=1 X3=2
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q3(X3), _q4(X2).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q3(X3), _q4(X2).
rho = X1=1 X3=2 X2=3
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q3(X2), _q3(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q3(X2), _q3(X3).
rho = X1=1 X3=2 X2=2
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q2(X2), _q3(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q2(X2), _q3(X3).
rho = X1=1 X3=2 X2=4
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q1(X2), _q3(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q1(X2), _q3(X3).
rho = X1=1 X3=2 X2=1
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q2(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q2(X3).
rho = X1=1 X3=4
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q2(X3), _q4(X2).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q2(X3), _q4(X2).
rho = X1=1 X3=4 X2=3
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q2(X3), _q3(X2).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q2(X3), _q3(X2).
rho = X1=1 X3=4 X2=2
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q2(X2), _q2(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q2(X2), _q2(X3).
rho = X1=1 X3=4 X2=4
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q1(X2), _q2(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q1(X2), _q2(X3).
rho = X1=1 X3=4 X2=1
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q1(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q1(X3).
rho = X1=1 X3=1
 case analysis: _q4(X2); _q3(X2); _q2(X2); _q1(X2).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q1(X3), _q4(X2).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q1(X3), _q4(X2).
rho = X1=1 X3=1 X2=3
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q1(X3), _q3(X2).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q1(X3), _q3(X2).
rho = X1=1 X3=1 X2=2
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q1(X3), _q2(X2).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q1(X3), _q2(X2).
rho = X1=1 X3=1 X2=4
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 >knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q1(X2), _q1(X3).
*** pos_value_checker: knows_current(nonceb_old(X1,X2,X3,X4)) :- _q1(X1), _q1(X2), _q1(X3).
rho = X1=1 X3=1 X2=1
 case analysis: _q4(X4); _q3(X4); _q2(X4); _q1(X4).
 ... OK.
Checking clause agent(bob)...
 ... OK.
Checking clause knows_old(s(M)) :- knows_old(M)...
 >knows_old(s(X1)) :- knows_old(X1).
*** pos_value_checker: knows_old(s(X1)) :- knows_old(X1).
Cannot check.
 ... OK.
Exit [0]
13.22 user, 0.16 system, 13.44 elapsed -- Max VSize = 33560KB, Max RSS = 32164KB
