remove duplicate parsing for alethe; fix skolemization;
authorMathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
Mon, 22 Aug 2022 06:27:28 +0200
changeset 75956 1e2a9d2251b0
parent 75955 5305c65dcbb2
child 75957 515b17021c91
remove duplicate parsing for alethe; fix skolemization;
src/HOL/SMT.thy
src/HOL/SMT_Examples/SMT_Examples_Verit.certs
src/HOL/SMT_Examples/SMT_Examples_Verit.thy
src/HOL/Tools/SMT/lethe_proof.ML
src/HOL/Tools/SMT/lethe_replay_methods.ML
src/HOL/Tools/SMT/smt_systems.ML
src/HOL/Tools/SMT/verit_proof.ML
src/HOL/Tools/SMT/verit_replay.ML
src/HOL/Tools/SMT/verit_strategies.ML
src/HOL/Tools/Sledgehammer/sledgehammer_isar.ML
src/HOL/Tools/Sledgehammer/sledgehammer_proof_methods.ML
src/HOL/Tools/Sledgehammer/sledgehammer_prover.ML
--- a/src/HOL/SMT.thy	Sun Aug 21 14:01:59 2022 +0000
+++ b/src/HOL/SMT.thy	Mon Aug 22 06:27:28 2022 +0200
@@ -627,7 +627,6 @@
 ML_file \<open>Tools/SMT/lethe_isar.ML\<close>
 ML_file \<open>Tools/SMT/lethe_proof_parse.ML\<close>
 ML_file \<open>Tools/SMT/cvc_proof_parse.ML\<close>
-ML_file \<open>Tools/SMT/verit_proof.ML\<close>
 ML_file \<open>Tools/SMT/conj_disj_perm.ML\<close>
 ML_file \<open>Tools/SMT/smt_replay_methods.ML\<close>
 ML_file \<open>Tools/SMT/smt_replay.ML\<close>
@@ -638,6 +637,7 @@
 ML_file \<open>Tools/SMT/z3_replay.ML\<close>
 ML_file \<open>Tools/SMT/lethe_replay_methods.ML\<close>
 ML_file \<open>Tools/SMT/verit_replay_methods.ML\<close>
+ML_file \<open>Tools/SMT/verit_strategies.ML\<close>
 ML_file \<open>Tools/SMT/verit_replay.ML\<close>
 ML_file \<open>Tools/SMT/smt_systems.ML\<close>
 
--- a/src/HOL/SMT_Examples/SMT_Examples_Verit.certs	Sun Aug 21 14:01:59 2022 +0000
+++ b/src/HOL/SMT_Examples/SMT_Examples_Verit.certs	Mon Aug 22 06:27:28 2022 +0200
@@ -8866,3 +8866,3566 @@
 (step t354 (cl @p_704 @p_705 @p_588 @p_625 @p_626 @p_413) :rule th_resolution :premises (t353 t261))
 (step t355 (cl @p_705 @p_588 @p_625 @p_626 @p_413 @p_661 @p_693 @p_689 @p_595) :rule th_resolution :premises (t354 t337))
 (step t356 (cl) :rule resolution :premises (t355 t350 t168 t266 t352 t200 t207 t232 t234 t329))
+eae55ce4deb2476399eb5222073e987ca2cc4536 3015 0
+unsat
+(define-fun veriT_sk0 () A_b_c_M_state_fun$ (! (choice ((veriT_vr57 A_b_c_M_state_fun$)) (not (forall ((veriT_vr58 A_b_c_M_state_fun$)) (! (=> (! (forall ((veriT_vr59 A$) (veriT_vr60 C$)) (! (or (! (is_fail$ (! (run$ (! (fun_app$ veriT_vr57 veriT_vr59) :named @p_552) veriT_vr60) :named @p_544)) :named @p_542) (! (and (! (= (! (is_fail$ (! (run$ (! (fun_app$ veriT_vr58 veriT_vr59) :named @p_554) veriT_vr60) :named @p_543)) :named @p_556) @p_542) :named @p_561) (! (forall ((veriT_vr61 B$) (veriT_vr62 C$)) (! (= (! (is_res$ @p_543 (! (pair$ veriT_vr61 veriT_vr62) :named @p_545)) :named @p_566) (! (is_res$ @p_544 @p_545) :named @p_570)) :named @p_571)) :named @p_562)) :named @p_572)) :named @p_573)) :named @p_551) (! (forall ((veriT_vr63 D$)) (! (or (! (is_fail$a (! (run$a (! (b$ veriT_vr57) :named @p_575) veriT_vr63) :named @p_546)) :named @p_548) (! (exists ((veriT_vr64 E$) (veriT_vr65 D$)) (! (and (! (is_res$a @p_546 (! (pair$a veriT_vr64 veriT_vr65) :named @p_580)) :named @p_581) (! (is_fail$b (! (run$b (! (c$ veriT_vr64 veriT_vr57) :named @p_583) veriT_vr65) :named @p_585)) :named @p_586)) :named @p_587)) :named @p_576) (! (and (! (and (! (=> (! (or (! (is_fail$a (! (run$a (! (b$ veriT_vr58) :named @p_588) veriT_vr63) :named @p_547)) :named @p_549) (! (exists ((veriT_vr66 E$) (veriT_vr67 D$)) (! (and (! (is_res$a @p_547 (! (pair$a veriT_vr66 veriT_vr67) :named @p_592)) :named @p_593) (! (is_fail$b (! (run$b (! (c$ veriT_vr66 veriT_vr58) :named @p_595) veriT_vr67) :named @p_597)) :named @p_598)) :named @p_599)) :named @p_589)) :named @p_600) (! (or @p_548 (! (exists ((veriT_vr68 E$) (veriT_vr69 D$)) (! (and (! (is_res$a @p_546 (! (pair$a veriT_vr68 veriT_vr69) :named @p_603)) :named @p_604) (! (is_fail$b (! (run$b (! (c$ veriT_vr68 veriT_vr57) :named @p_606) veriT_vr69) :named @p_608)) :named @p_609)) :named @p_610)) :named @p_602)) :named @p_611)) :named @p_613) (! (=> (! (or @p_548 (! (exists ((veriT_vr70 E$) (veriT_vr71 D$)) (! (and (! (is_res$a @p_546 (! (pair$a veriT_vr70 veriT_vr71) :named @p_615)) :named @p_616) (! (is_fail$b (! (run$b (! (c$ veriT_vr70 veriT_vr57) :named @p_618) veriT_vr71) :named @p_620)) :named @p_621)) :named @p_622)) :named @p_614)) :named @p_623) (! (or @p_549 (! (exists ((veriT_vr72 E$) (veriT_vr73 D$)) (! (and (! (is_res$a @p_547 (! (pair$a veriT_vr72 veriT_vr73) :named @p_626)) :named @p_627) (! (is_fail$b (! (run$b (! (c$ veriT_vr72 veriT_vr58) :named @p_629) veriT_vr73) :named @p_631)) :named @p_632)) :named @p_633)) :named @p_625)) :named @p_634)) :named @p_636)) :named @p_637) (! (forall ((veriT_vr74 F$) (veriT_vr75 D$)) (! (and (! (=> (! (or @p_549 (! (exists ((veriT_vr76 E$) (veriT_vr77 D$)) (! (and (! (is_res$a @p_547 (! (pair$a veriT_vr76 veriT_vr77) :named @p_640)) :named @p_641) (! (is_res$b (! (run$b (! (c$ veriT_vr76 veriT_vr58) :named @p_643) veriT_vr77) :named @p_645) (! (pair$b veriT_vr74 veriT_vr75) :named @p_550)) :named @p_646)) :named @p_647)) :named @p_639)) :named @p_648) (! (or @p_548 (! (exists ((veriT_vr78 E$) (veriT_vr79 D$)) (! (and (! (is_res$a @p_546 (! (pair$a veriT_vr78 veriT_vr79) :named @p_650)) :named @p_651) (! (is_res$b (! (run$b (! (c$ veriT_vr78 veriT_vr57) :named @p_653) veriT_vr79) :named @p_655) @p_550) :named @p_659)) :named @p_660)) :named @p_649)) :named @p_661)) :named @p_663) (! (=> (! (or @p_548 (! (exists ((veriT_vr80 E$) (veriT_vr81 D$)) (! (and (! (is_res$a @p_546 (! (pair$a veriT_vr80 veriT_vr81) :named @p_665)) :named @p_666) (! (is_res$b (! (run$b (! (c$ veriT_vr80 veriT_vr57) :named @p_668) veriT_vr81) :named @p_670) @p_550) :named @p_671)) :named @p_672)) :named @p_664)) :named @p_673) (! (or @p_549 (! (exists ((veriT_vr82 E$) (veriT_vr83 D$)) (! (and (! (is_res$a @p_547 (! (pair$a veriT_vr82 veriT_vr83) :named @p_675)) :named @p_676) (! (is_res$b (! (run$b (! (c$ veriT_vr82 veriT_vr58) :named @p_678) veriT_vr83) :named @p_680) @p_550) :named @p_681)) :named @p_682)) :named @p_674)) :named @p_683)) :named @p_685)) :named @p_686)) :named @p_638)) :named @p_687)) :named @p_688)) :named @p_574)) :named @p_689)))) :named @p_696))
+(define-fun veriT_sk1 () A_b_c_M_state_fun$ (! (choice ((veriT_vr58 A_b_c_M_state_fun$)) (not (=> (forall ((veriT_vr59 A$) (veriT_vr60 C$)) (or (! (is_fail$ (! (run$ (fun_app$ @p_696 veriT_vr59) veriT_vr60) :named @p_698)) :named @p_697) (and (= @p_556 @p_697) (forall ((veriT_vr61 B$) (veriT_vr62 C$)) (= @p_566 (is_res$ @p_698 @p_545)))))) (forall ((veriT_vr63 D$)) (or (! (is_fail$a (! (run$a (! (b$ @p_696) :named @p_721) veriT_vr63) :named @p_699)) :named @p_700) (! (exists ((veriT_vr64 E$) (veriT_vr65 D$)) (and (is_res$a @p_699 @p_580) (is_fail$b (run$b (c$ veriT_vr64 @p_696) veriT_vr65)))) :named @p_704) (and (and (=> @p_600 (! (or @p_700 (exists ((veriT_vr68 E$) (veriT_vr69 D$)) (and (is_res$a @p_699 @p_603) (is_fail$b (run$b (c$ veriT_vr68 @p_696) veriT_vr69))))) :named @p_707)) (=> (! (or @p_700 (exists ((veriT_vr70 E$) (veriT_vr71 D$)) (and (is_res$a @p_699 @p_615) (! (is_fail$b (run$b (c$ veriT_vr70 @p_696) veriT_vr71)) :named @p_722)))) :named @p_708) @p_634)) (forall ((veriT_vr74 F$) (veriT_vr75 D$)) (and (=> @p_648 (! (or @p_700 (exists ((veriT_vr78 E$) (veriT_vr79 D$)) (and (is_res$a @p_699 @p_650) (! (is_res$b (! (run$b (c$ veriT_vr78 @p_696) veriT_vr79) :named @p_737) @p_550) :named @p_730)))) :named @p_710)) (=> (! (or @p_700 (exists ((veriT_vr80 E$) (veriT_vr81 D$)) (and (is_res$a @p_699 @p_665) (! (is_res$b (! (run$b (c$ veriT_vr80 @p_696) veriT_vr81) :named @p_740) @p_550) :named @p_732)))) :named @p_711) @p_683))))))))) :named @p_705))
+(define-fun veriT_sk2 () D$ (! (choice ((veriT_vr63 D$)) (not (or @p_700 @p_704 (and (and (=> (or (! (is_fail$a (! (run$a (! (b$ @p_705) :named @p_715) veriT_vr63) :named @p_706)) :named @p_709) (exists ((veriT_vr66 E$) (veriT_vr67 D$)) (and (is_res$a @p_706 @p_592) (! (is_fail$b (run$b (c$ veriT_vr66 @p_705) veriT_vr67)) :named @p_716)))) @p_707) (=> @p_708 (or @p_709 (exists ((veriT_vr72 E$) (veriT_vr73 D$)) (and (is_res$a @p_706 @p_626) (is_fail$b (run$b (c$ veriT_vr72 @p_705) veriT_vr73))))))) (forall ((veriT_vr74 F$) (veriT_vr75 D$)) (and (=> (or @p_709 (exists ((veriT_vr76 E$) (veriT_vr77 D$)) (and (is_res$a @p_706 @p_640) (! (is_res$b (! (run$b (c$ veriT_vr76 @p_705) veriT_vr77) :named @p_727) @p_550) :named @p_729)))) @p_710) (=> @p_711 (or @p_709 (exists ((veriT_vr82 E$) (veriT_vr83 D$)) (and (is_res$a @p_706 @p_675) (! (is_res$b (! (run$b (c$ veriT_vr82 @p_705) veriT_vr83) :named @p_742) @p_550) :named @p_734))))))))))) :named @p_713))
+(define-fun veriT_sk3 () E$ (! (choice ((veriT_vr66 E$)) (exists ((veriT_vr67 D$)) (and (is_res$a (! (run$a @p_715 @p_713) :named @p_717) @p_592) @p_716))) :named @p_718))
+(define-fun veriT_sk4 () D$ (! (choice ((veriT_vr67 D$)) (and (is_res$a @p_717 (pair$a @p_718 veriT_vr67)) (is_fail$b (run$b (c$ @p_718 @p_705) veriT_vr67)))) :named @p_719))
+(define-fun veriT_sk5 () E$ (! (choice ((veriT_vr70 E$)) (exists ((veriT_vr71 D$)) (and (is_res$a (! (run$a @p_721 @p_713) :named @p_723) @p_615) @p_722))) :named @p_724))
+(define-fun veriT_sk6 () D$ (! (choice ((veriT_vr71 D$)) (and (is_res$a @p_723 (pair$a @p_724 veriT_vr71)) (is_fail$b (run$b (c$ @p_724 @p_696) veriT_vr71)))) :named @p_725))
+(define-fun veriT_sk7 () F$ (! (choice ((veriT_vr74 F$)) (not (forall ((veriT_vr75 D$)) (and (=> (or (! (is_fail$a @p_717) :named @p_733) (exists ((veriT_vr76 E$) (veriT_vr77 D$)) (and (! (is_res$a @p_717 @p_640) :named @p_728) @p_729))) (or (! (is_fail$a @p_723) :named @p_731) (exists ((veriT_vr78 E$) (veriT_vr79 D$)) (and (! (is_res$a @p_723 @p_650) :named @p_736) @p_730)))) (=> (or @p_731 (exists ((veriT_vr80 E$) (veriT_vr81 D$)) (and (! (is_res$a @p_723 @p_665) :named @p_739) @p_732))) (or @p_733 (exists ((veriT_vr82 E$) (veriT_vr83 D$)) (and (! (is_res$a @p_717 @p_675) :named @p_741) @p_734)))))))) :named @p_735))
+(define-fun veriT_sk8 () D$ (! (choice ((veriT_vr75 D$)) (not (and (=> (or @p_733 (exists ((veriT_vr76 E$) (veriT_vr77 D$)) (and @p_728 (is_res$b @p_727 (! (pair$b @p_735 veriT_vr75) :named @p_738))))) (or @p_731 (exists ((veriT_vr78 E$) (veriT_vr79 D$)) (and @p_736 (is_res$b @p_737 @p_738))))) (=> (or @p_731 (exists ((veriT_vr80 E$) (veriT_vr81 D$)) (and @p_739 (is_res$b @p_740 @p_738)))) (or @p_733 (exists ((veriT_vr82 E$) (veriT_vr83 D$)) (and @p_741 (is_res$b @p_742 @p_738)))))))) :named @p_746))
+(define-fun veriT_sk9 () E$ (! (choice ((veriT_vr76 E$)) (exists ((veriT_vr77 D$)) (and @p_728 (is_res$b @p_727 (! (pair$b @p_735 @p_746) :named @p_744))))) :named @p_743))
+(define-fun veriT_sk10 () D$ (! (choice ((veriT_vr77 D$)) (and (is_res$a @p_717 (pair$a @p_743 veriT_vr77)) (is_res$b (run$b (c$ @p_743 @p_705) veriT_vr77) @p_744))) :named @p_745))
+(define-fun veriT_sk11 () E$ (! (choice ((veriT_vr80 E$)) (exists ((veriT_vr81 D$)) (and @p_739 (is_res$b @p_740 @p_744)))) :named @p_748))
+(define-fun veriT_sk12 () D$ (! (choice ((veriT_vr81 D$)) (and (is_res$a @p_723 (pair$a @p_748 veriT_vr81)) (is_res$b (run$b (c$ @p_748 @p_696) veriT_vr81) @p_744))) :named @p_749))
+(define-fun veriT_sk13 () A$ (! (choice ((veriT_vr122 A$)) (not (forall ((veriT_vr123 C$)) (! (or (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk0 veriT_vr122) :named @p_1255) veriT_vr123) :named @p_1191)) :named @p_1189) (! (and (! (= (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk1 veriT_vr122) :named @p_1257) veriT_vr123) :named @p_1190)) :named @p_1259) @p_1189) :named @p_1263) (! (forall ((veriT_vr124 B$) (veriT_vr125 C$)) (! (= (! (is_res$ @p_1190 (! (pair$ veriT_vr124 veriT_vr125) :named @p_1192)) :named @p_1267) (! (is_res$ @p_1191 @p_1192) :named @p_1271)) :named @p_1272)) :named @p_1264)) :named @p_1273)) :named @p_1254)))) :named @p_1193))
+(define-fun veriT_sk14 () C$ (! (choice ((veriT_vr123 C$)) (not (or (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk0 @p_1193) :named @p_1201) veriT_vr123) :named @p_1196)) :named @p_1194) (and (= (is_fail$ (! (run$ (! (fun_app$ veriT_sk1 @p_1193) :named @p_1200) veriT_vr123) :named @p_1195)) @p_1194) (forall ((veriT_vr124 B$) (veriT_vr125 C$)) (= (is_res$ @p_1195 @p_1192) (is_res$ @p_1196 @p_1192))))))) :named @p_1197))
+(define-fun veriT_sk15 () B$ (! (choice ((veriT_vr124 B$)) (not (forall ((veriT_vr125 C$)) (= (is_res$ (! (run$ @p_1200 @p_1197) :named @p_1202) @p_1192) (is_res$ (! (run$ @p_1201 @p_1197) :named @p_1204) @p_1192))))) :named @p_1203))
+(define-fun veriT_sk16 () C$ (! (choice ((veriT_vr125 C$)) (not (= (is_res$ @p_1202 (! (pair$ @p_1203 veriT_vr125) :named @p_1205)) (is_res$ @p_1204 @p_1205)))) :named @p_1300))
+(define-fun veriT_sk25 () A$ (! (choice ((veriT_vr171 A$)) (not (forall ((veriT_vr172 C$)) (! (or (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk0 veriT_vr171) :named @p_1468) veriT_vr172) :named @p_1393)) :named @p_1391) (! (and (! (= (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk1 veriT_vr171) :named @p_1470) veriT_vr172) :named @p_1392)) :named @p_1472) @p_1391) :named @p_1476) (! (forall ((veriT_vr173 B$) (veriT_vr174 C$)) (! (= (! (is_res$ @p_1392 (! (pair$ veriT_vr173 veriT_vr174) :named @p_1394)) :named @p_1480) (! (is_res$ @p_1393 @p_1394) :named @p_1484)) :named @p_1485)) :named @p_1477)) :named @p_1486)) :named @p_1467)))) :named @p_1395))
+(define-fun veriT_sk26 () C$ (! (choice ((veriT_vr172 C$)) (not (or (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk0 @p_1395) :named @p_1403) veriT_vr172) :named @p_1398)) :named @p_1396) (and (= (is_fail$ (! (run$ (! (fun_app$ veriT_sk1 @p_1395) :named @p_1402) veriT_vr172) :named @p_1397)) @p_1396) (forall ((veriT_vr173 B$) (veriT_vr174 C$)) (= (is_res$ @p_1397 @p_1394) (is_res$ @p_1398 @p_1394))))))) :named @p_1399))
+(define-fun veriT_sk27 () B$ (! (choice ((veriT_vr173 B$)) (not (forall ((veriT_vr174 C$)) (= (is_res$ (! (run$ @p_1402 @p_1399) :named @p_1404) @p_1394) (is_res$ (! (run$ @p_1403 @p_1399) :named @p_1406) @p_1394))))) :named @p_1405))
+(define-fun veriT_sk28 () C$ (! (choice ((veriT_vr174 C$)) (not (= (is_res$ @p_1404 (! (pair$ @p_1405 veriT_vr174) :named @p_1407)) (is_res$ @p_1406 @p_1407)))) :named @p_1513))
+(define-fun veriT_sk29 () A$ (! (choice ((veriT_vr185 A$)) (not (forall ((veriT_vr186 C$)) (! (or (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk0 veriT_vr185) :named @p_1602) veriT_vr186) :named @p_1538)) :named @p_1536) (! (and (! (= (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk1 veriT_vr185) :named @p_1604) veriT_vr186) :named @p_1537)) :named @p_1606) @p_1536) :named @p_1610) (! (forall ((veriT_vr187 B$) (veriT_vr188 C$)) (! (= (! (is_res$ @p_1537 (! (pair$ veriT_vr187 veriT_vr188) :named @p_1539)) :named @p_1614) (! (is_res$ @p_1538 @p_1539) :named @p_1618)) :named @p_1619)) :named @p_1611)) :named @p_1620)) :named @p_1601)))) :named @p_1540))
+(define-fun veriT_sk30 () C$ (! (choice ((veriT_vr186 C$)) (not (or (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk0 @p_1540) :named @p_1548) veriT_vr186) :named @p_1543)) :named @p_1541) (and (= (is_fail$ (! (run$ (! (fun_app$ veriT_sk1 @p_1540) :named @p_1547) veriT_vr186) :named @p_1542)) @p_1541) (forall ((veriT_vr187 B$) (veriT_vr188 C$)) (= (is_res$ @p_1542 @p_1539) (is_res$ @p_1543 @p_1539))))))) :named @p_1544))
+(define-fun veriT_sk31 () B$ (! (choice ((veriT_vr187 B$)) (not (forall ((veriT_vr188 C$)) (= (is_res$ (! (run$ @p_1547 @p_1544) :named @p_1549) @p_1539) (is_res$ (! (run$ @p_1548 @p_1544) :named @p_1551) @p_1539))))) :named @p_1550))
+(define-fun veriT_sk32 () C$ (! (choice ((veriT_vr188 C$)) (not (= (is_res$ @p_1549 (! (pair$ @p_1550 veriT_vr188) :named @p_1552)) (is_res$ @p_1551 @p_1552)))) :named @p_1647))
+(define-fun veriT_sk41 () A$ (! (choice ((veriT_vr243 A$)) (not (forall ((veriT_vr244 C$)) (! (or (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk0 veriT_vr243) :named @p_1825) veriT_vr244) :named @p_1761)) :named @p_1759) (! (and (! (= (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk1 veriT_vr243) :named @p_1827) veriT_vr244) :named @p_1760)) :named @p_1829) @p_1759) :named @p_1833) (! (forall ((veriT_vr245 B$) (veriT_vr246 C$)) (! (= (! (is_res$ @p_1760 (! (pair$ veriT_vr245 veriT_vr246) :named @p_1762)) :named @p_1837) (! (is_res$ @p_1761 @p_1762) :named @p_1841)) :named @p_1842)) :named @p_1834)) :named @p_1843)) :named @p_1824)))) :named @p_1763))
+(define-fun veriT_sk42 () C$ (! (choice ((veriT_vr244 C$)) (not (or (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk0 @p_1763) :named @p_1771) veriT_vr244) :named @p_1766)) :named @p_1764) (and (= (is_fail$ (! (run$ (! (fun_app$ veriT_sk1 @p_1763) :named @p_1770) veriT_vr244) :named @p_1765)) @p_1764) (forall ((veriT_vr245 B$) (veriT_vr246 C$)) (= (is_res$ @p_1765 @p_1762) (is_res$ @p_1766 @p_1762))))))) :named @p_1767))
+(define-fun veriT_sk43 () B$ (! (choice ((veriT_vr245 B$)) (not (forall ((veriT_vr246 C$)) (= (is_res$ (! (run$ @p_1770 @p_1767) :named @p_1772) @p_1762) (is_res$ (! (run$ @p_1771 @p_1767) :named @p_1774) @p_1762))))) :named @p_1773))
+(define-fun veriT_sk44 () C$ (! (choice ((veriT_vr246 C$)) (not (= (is_res$ @p_1772 (! (pair$ @p_1773 veriT_vr246) :named @p_1775)) (is_res$ @p_1774 @p_1775)))) :named @p_1870))
+(assume axiom0 (! (not (! (=> (! (and (! (forall ((?v0 A_b_c_M_state_fun$) (?v1 A_b_c_M_state_fun$)) (! (=> (! (forall ((?v2 A$) (?v3 C$)) (! (or (! (is_fail$ (! (run$ (! (fun_app$ ?v0 ?v2) :named @p_34) ?v3) :named @p_3)) :named @p_1) (! (and (! (= (! (is_fail$ (! (run$ (! (fun_app$ ?v1 ?v2) :named @p_37) ?v3) :named @p_2)) :named @p_40) @p_1) :named @p_46) (! (forall ((?v4 B$) (?v5 C$)) (! (= (! (is_res$ @p_2 (! (pair$ ?v4 ?v5) :named @p_4)) :named @p_53) (! (is_res$ @p_3 @p_4) :named @p_58)) :named @p_60)) :named @p_48)) :named @p_62)) :named @p_64)) :named @p_17) (! (forall ((?v2 D$)) (! (or (! (is_fail$a (! (run$a (! (b$ ?v0) :named @p_68) ?v2) :named @p_7)) :named @p_5) (! (and (! (= (! (is_fail$a (! (run$a (! (b$ ?v1) :named @p_70) ?v2) :named @p_6)) :named @p_19) @p_5) :named @p_77) (! (forall ((?v3 E$) (?v4 D$)) (! (= (! (is_res$a @p_6 (! (pair$a ?v3 ?v4) :named @p_8)) :named @p_20) (! (is_res$a @p_7 @p_8) :named @p_18)) :named @p_88)) :named @p_79)) :named @p_90)) :named @p_92)) :named @p_66)) :named @p_94)) :named @p_24) (! (forall ((?v0 E$) (?v1 A_b_c_M_state_fun$) (?v2 A_b_c_M_state_fun$)) (! (=> (! (forall ((?v3 A$) (?v4 C$)) (! (or (! (is_fail$ (! (run$ (! (fun_app$ ?v1 ?v3) :named @p_102) ?v4) :named @p_11)) :named @p_9) (! (and (! (= (! (is_fail$ (! (run$ (! (fun_app$ ?v2 ?v3) :named @p_104) ?v4) :named @p_10)) :named @p_106) @p_9) :named @p_111) (! (forall ((?v5 B$) (?v6 C$)) (! (= (! (is_res$ @p_10 (! (pair$ ?v5 ?v6) :named @p_12)) :named @p_116) (! (is_res$ @p_11 @p_12) :named @p_120)) :named @p_121)) :named @p_112)) :named @p_122)) :named @p_123)) :named @p_101) (! (forall ((?v3 D$)) (! (or (! (is_fail$b (! (run$b (! (c$ ?v0 ?v1) :named @p_126) ?v3) :named @p_15)) :named @p_13) (! (and (! (= (! (is_fail$b (! (run$b (! (c$ ?v0 ?v2) :named @p_129) ?v3) :named @p_14)) :named @p_132) @p_13) :named @p_137) (! (forall ((?v4 F$) (?v5 D$)) (! (= (! (is_res$b @p_14 (! (pair$b ?v4 ?v5) :named @p_16)) :named @p_143) (! (is_res$b @p_15 @p_16) :named @p_148)) :named @p_150)) :named @p_139)) :named @p_152)) :named @p_154)) :named @p_124)) :named @p_156)) :named @p_96)) :named @p_158) (! (forall ((?v0 A_b_c_M_state_fun$) (?v1 A_b_c_M_state_fun$)) (! (=> @p_17 (! (forall ((?v2 D$)) (! (or @p_5 (! (or (! (exists ((?v3 E$) (?v4 D$)) (! (and @p_18 (! (is_fail$b (! (run$b (! (c$ ?v3 ?v0) :named @p_176) ?v4) :named @p_177)) :named @p_179)) :named @p_181)) :named @p_21) (! (and (! (= (! (or @p_19 (! (exists ((?v3 E$) (?v4 D$)) (! (and @p_20 (! (is_fail$b (! (run$b (! (c$ ?v3 ?v1) :named @p_187) ?v4) :named @p_188)) :named @p_190)) :named @p_192)) :named @p_184)) :named @p_194) (! (or @p_5 @p_21) :named @p_201)) :named @p_203) (! (forall ((?v3 F$) (?v4 D$)) (! (= (! (or @p_19 (! (exists ((?v5 E$) (?v6 D$)) (! (and (! (is_res$a @p_6 (! (pair$a ?v5 ?v6) :named @p_22)) :named @p_209) (! (is_res$b (! (run$b (! (c$ ?v5 ?v1) :named @p_212) ?v6) :named @p_214) (! (pair$b ?v3 ?v4) :named @p_23)) :named @p_216)) :named @p_218)) :named @p_207)) :named @p_220) (! (or @p_5 (! (exists ((?v5 E$) (?v6 D$)) (! (and (! (is_res$a @p_7 @p_22) :named @p_225) (! (is_res$b (! (run$b (! (c$ ?v5 ?v0) :named @p_227) ?v6) :named @p_228) @p_23) :named @p_232)) :named @p_234)) :named @p_222)) :named @p_236)) :named @p_238)) :named @p_205)) :named @p_240)) :named @p_242)) :named @p_244)) :named @p_173)) :named @p_246)) :named @p_161)) :named @p_248)) :named @p_251))
+(anchor :step t2 :args ((:= (?v0 A_b_c_M_state_fun$) veriT_vr0) (:= (?v1 A_b_c_M_state_fun$) veriT_vr1)))
+(anchor :step t2.t1 :args ((:= (?v2 A$) veriT_vr2) (:= (?v3 C$) veriT_vr3)))
+(step t2.t1.t1 (cl (! (= ?v0 veriT_vr0) :named @p_42)) :rule refl)
+(step t2.t1.t2 (cl (! (= ?v2 veriT_vr2) :named @p_36)) :rule refl)
+(step t2.t1.t3 (cl (! (= @p_34 (! (fun_app$ veriT_vr0 veriT_vr2) :named @p_35)) :named @p_43)) :rule cong :premises (t2.t1.t1 t2.t1.t2))
+(step t2.t1.t4 (cl (! (= ?v3 veriT_vr3) :named @p_39)) :rule refl)
+(step t2.t1.t5 (cl (! (= @p_3 (! (run$ @p_35 veriT_vr3) :named @p_27)) :named @p_44)) :rule cong :premises (t2.t1.t3 t2.t1.t4))
+(step t2.t1.t6 (cl (! (= @p_1 (! (is_fail$ @p_27) :named @p_25)) :named @p_45)) :rule cong :premises (t2.t1.t5))
+(step t2.t1.t7 (cl (! (= ?v1 veriT_vr1) :named @p_50)) :rule refl)
+(step t2.t1.t8 (cl @p_36) :rule refl)
+(step t2.t1.t9 (cl (! (= @p_37 (! (fun_app$ veriT_vr1 veriT_vr2) :named @p_38)) :named @p_51)) :rule cong :premises (t2.t1.t7 t2.t1.t8))
+(step t2.t1.t10 (cl @p_39) :rule refl)
+(step t2.t1.t11 (cl (! (= @p_2 (! (run$ @p_38 veriT_vr3) :named @p_26)) :named @p_52)) :rule cong :premises (t2.t1.t9 t2.t1.t10))
+(step t2.t1.t12 (cl (! (= @p_40 (! (is_fail$ @p_26) :named @p_41)) :named @p_165)) :rule cong :premises (t2.t1.t11))
+(step t2.t1.t13 (cl @p_42) :rule refl)
+(step t2.t1.t14 (cl @p_36) :rule refl)
+(step t2.t1.t15 (cl @p_43) :rule cong :premises (t2.t1.t13 t2.t1.t14))
+(step t2.t1.t16 (cl @p_39) :rule refl)
+(step t2.t1.t17 (cl @p_44) :rule cong :premises (t2.t1.t15 t2.t1.t16))
+(step t2.t1.t18 (cl @p_45) :rule cong :premises (t2.t1.t17))
+(step t2.t1.t19 (cl (! (= @p_46 (! (= @p_41 @p_25) :named @p_47)) :named @p_166)) :rule cong :premises (t2.t1.t12 t2.t1.t18))
+(anchor :step t2.t1.t20 :args ((:= (?v4 B$) veriT_vr4) (:= (?v5 C$) veriT_vr5)))
+(step t2.t1.t20.t1 (cl @p_50) :rule refl)
+(step t2.t1.t20.t2 (cl @p_36) :rule refl)
+(step t2.t1.t20.t3 (cl @p_51) :rule cong :premises (t2.t1.t20.t1 t2.t1.t20.t2))
+(step t2.t1.t20.t4 (cl @p_39) :rule refl)
+(step t2.t1.t20.t5 (cl @p_52) :rule cong :premises (t2.t1.t20.t3 t2.t1.t20.t4))
+(step t2.t1.t20.t6 (cl (! (= ?v4 veriT_vr4) :named @p_55)) :rule refl)
+(step t2.t1.t20.t7 (cl (! (= ?v5 veriT_vr5) :named @p_56)) :rule refl)
+(step t2.t1.t20.t8 (cl (! (= @p_4 (! (pair$ veriT_vr4 veriT_vr5) :named @p_28)) :named @p_57)) :rule cong :premises (t2.t1.t20.t6 t2.t1.t20.t7))
+(step t2.t1.t20.t9 (cl (! (= @p_53 (! (is_res$ @p_26 @p_28) :named @p_54)) :named @p_168)) :rule cong :premises (t2.t1.t20.t5 t2.t1.t20.t8))
+(step t2.t1.t20.t10 (cl @p_42) :rule refl)
+(step t2.t1.t20.t11 (cl @p_36) :rule refl)
+(step t2.t1.t20.t12 (cl @p_43) :rule cong :premises (t2.t1.t20.t10 t2.t1.t20.t11))
+(step t2.t1.t20.t13 (cl @p_39) :rule refl)
+(step t2.t1.t20.t14 (cl @p_44) :rule cong :premises (t2.t1.t20.t12 t2.t1.t20.t13))
+(step t2.t1.t20.t15 (cl @p_55) :rule refl)
+(step t2.t1.t20.t16 (cl @p_56) :rule refl)
+(step t2.t1.t20.t17 (cl @p_57) :rule cong :premises (t2.t1.t20.t15 t2.t1.t20.t16))
+(step t2.t1.t20.t18 (cl (! (= @p_58 (! (is_res$ @p_27 @p_28) :named @p_59)) :named @p_169)) :rule cong :premises (t2.t1.t20.t14 t2.t1.t20.t17))
+(step t2.t1.t20.t19 (cl (! (= @p_60 (! (= @p_54 @p_59) :named @p_61)) :named @p_170)) :rule cong :premises (t2.t1.t20.t9 t2.t1.t20.t18))
+(step t2.t1.t20 (cl (! (= @p_48 (! (forall ((veriT_vr4 B$) (veriT_vr5 C$)) @p_61) :named @p_49)) :named @p_167)) :rule bind)
+(step t2.t1.t21 (cl (! (= @p_62 (! (and @p_47 @p_49) :named @p_63)) :named @p_171)) :rule cong :premises (t2.t1.t19 t2.t1.t20))
+(step t2.t1.t22 (cl (! (= @p_64 (! (or @p_25 @p_63) :named @p_65)) :named @p_172)) :rule cong :premises (t2.t1.t6 t2.t1.t21))
+(step t2.t1 (cl (! (= @p_17 (! (forall ((veriT_vr2 A$) (veriT_vr3 C$)) @p_65) :named @p_33)) :named @p_164)) :rule bind)
+(anchor :step t2.t2 :args ((:= (?v2 D$) veriT_vr6)))
+(step t2.t2.t1 (cl @p_42) :rule refl)
+(step t2.t2.t2 (cl (! (= @p_68 (! (b$ veriT_vr0) :named @p_69)) :named @p_74)) :rule cong :premises (t2.t2.t1))
+(step t2.t2.t3 (cl (! (= ?v2 veriT_vr6) :named @p_72)) :rule refl)
+(step t2.t2.t4 (cl (! (= @p_7 (! (run$a @p_69 veriT_vr6) :named @p_31)) :named @p_75)) :rule cong :premises (t2.t2.t2 t2.t2.t3))
+(step t2.t2.t5 (cl (! (= @p_5 (! (is_fail$a @p_31) :named @p_29)) :named @p_76)) :rule cong :premises (t2.t2.t4))
+(step t2.t2.t6 (cl @p_50) :rule refl)
+(step t2.t2.t7 (cl (! (= @p_70 (! (b$ veriT_vr1) :named @p_71)) :named @p_81)) :rule cong :premises (t2.t2.t6))
+(step t2.t2.t8 (cl @p_72) :rule refl)
+(step t2.t2.t9 (cl (! (= @p_6 (! (run$a @p_71 veriT_vr6) :named @p_30)) :named @p_82)) :rule cong :premises (t2.t2.t7 t2.t2.t8))
+(step t2.t2.t10 (cl (! (= @p_19 (! (is_fail$a @p_30) :named @p_73)) :named @p_183)) :rule cong :premises (t2.t2.t9))
+(step t2.t2.t11 (cl @p_42) :rule refl)
+(step t2.t2.t12 (cl @p_74) :rule cong :premises (t2.t2.t11))
+(step t2.t2.t13 (cl @p_72) :rule refl)
+(step t2.t2.t14 (cl @p_75) :rule cong :premises (t2.t2.t12 t2.t2.t13))
+(step t2.t2.t15 (cl @p_76) :rule cong :premises (t2.t2.t14))
+(step t2.t2.t16 (cl (= @p_77 (! (= @p_73 @p_29) :named @p_78))) :rule cong :premises (t2.t2.t10 t2.t2.t15))
+(anchor :step t2.t2.t17 :args ((:= (?v3 E$) veriT_vr7) (:= (?v4 D$) veriT_vr8)))
+(step t2.t2.t17.t1 (cl @p_50) :rule refl)
+(step t2.t2.t17.t2 (cl @p_81) :rule cong :premises (t2.t2.t17.t1))
+(step t2.t2.t17.t3 (cl @p_72) :rule refl)
+(step t2.t2.t17.t4 (cl @p_82) :rule cong :premises (t2.t2.t17.t2 t2.t2.t17.t3))
+(step t2.t2.t17.t5 (cl (! (= ?v3 veriT_vr7) :named @p_84)) :rule refl)
+(step t2.t2.t17.t6 (cl (! (= ?v4 veriT_vr8) :named @p_85)) :rule refl)
+(step t2.t2.t17.t7 (cl (! (= @p_8 (! (pair$a veriT_vr7 veriT_vr8) :named @p_32)) :named @p_86)) :rule cong :premises (t2.t2.t17.t5 t2.t2.t17.t6))
+(step t2.t2.t17.t8 (cl (! (= @p_20 (! (is_res$a @p_30 @p_32) :named @p_83)) :named @p_186)) :rule cong :premises (t2.t2.t17.t4 t2.t2.t17.t7))
+(step t2.t2.t17.t9 (cl @p_42) :rule refl)
+(step t2.t2.t17.t10 (cl @p_74) :rule cong :premises (t2.t2.t17.t9))
+(step t2.t2.t17.t11 (cl @p_72) :rule refl)
+(step t2.t2.t17.t12 (cl @p_75) :rule cong :premises (t2.t2.t17.t10 t2.t2.t17.t11))
+(step t2.t2.t17.t13 (cl @p_84) :rule refl)
+(step t2.t2.t17.t14 (cl @p_85) :rule refl)
+(step t2.t2.t17.t15 (cl @p_86) :rule cong :premises (t2.t2.t17.t13 t2.t2.t17.t14))
+(step t2.t2.t17.t16 (cl (! (= @p_18 (! (is_res$a @p_31 @p_32) :named @p_87)) :named @p_175)) :rule cong :premises (t2.t2.t17.t12 t2.t2.t17.t15))
+(step t2.t2.t17.t17 (cl (= @p_88 (! (= @p_83 @p_87) :named @p_89))) :rule cong :premises (t2.t2.t17.t8 t2.t2.t17.t16))
+(step t2.t2.t17 (cl (= @p_79 (! (forall ((veriT_vr7 E$) (veriT_vr8 D$)) @p_89) :named @p_80))) :rule bind)
+(step t2.t2.t18 (cl (= @p_90 (! (and @p_78 @p_80) :named @p_91))) :rule cong :premises (t2.t2.t16 t2.t2.t17))
+(step t2.t2.t19 (cl (= @p_92 (! (or @p_29 @p_91) :named @p_93))) :rule cong :premises (t2.t2.t5 t2.t2.t18))
+(step t2.t2 (cl (= @p_66 (! (forall ((veriT_vr6 D$)) @p_93) :named @p_67))) :rule bind)
+(step t2.t3 (cl (= @p_94 (! (=> @p_33 @p_67) :named @p_95))) :rule cong :premises (t2.t1 t2.t2))
+(step t2 (cl (= @p_24 (! (forall ((veriT_vr0 A_b_c_M_state_fun$) (veriT_vr1 A_b_c_M_state_fun$)) @p_95) :named @p_159))) :rule bind)
+(anchor :step t3 :args ((:= (?v0 E$) veriT_vr7) (:= (?v1 A_b_c_M_state_fun$) veriT_vr0) (:= (?v2 A_b_c_M_state_fun$) veriT_vr1)))
+(anchor :step t3.t1 :args ((:= (?v3 A$) veriT_vr2) (:= (?v4 C$) veriT_vr3)))
+(step t3.t1.t1 (cl (! (= ?v1 veriT_vr0) :named @p_107)) :rule refl)
+(step t3.t1.t2 (cl (! (= ?v3 veriT_vr2) :named @p_103)) :rule refl)
+(step t3.t1.t3 (cl (! (= @p_102 @p_35) :named @p_108)) :rule cong :premises (t3.t1.t1 t3.t1.t2))
+(step t3.t1.t4 (cl (! (= ?v4 veriT_vr3) :named @p_105)) :rule refl)
+(step t3.t1.t5 (cl (! (= @p_11 @p_27) :named @p_109)) :rule cong :premises (t3.t1.t3 t3.t1.t4))
+(step t3.t1.t6 (cl (! (= @p_9 @p_25) :named @p_110)) :rule cong :premises (t3.t1.t5))
+(step t3.t1.t7 (cl (! (= ?v2 veriT_vr1) :named @p_113)) :rule refl)
+(step t3.t1.t8 (cl @p_103) :rule refl)
+(step t3.t1.t9 (cl (! (= @p_104 @p_38) :named @p_114)) :rule cong :premises (t3.t1.t7 t3.t1.t8))
+(step t3.t1.t10 (cl @p_105) :rule refl)
+(step t3.t1.t11 (cl (! (= @p_10 @p_26) :named @p_115)) :rule cong :premises (t3.t1.t9 t3.t1.t10))
+(step t3.t1.t12 (cl (= @p_106 @p_41)) :rule cong :premises (t3.t1.t11))
+(step t3.t1.t13 (cl @p_107) :rule refl)
+(step t3.t1.t14 (cl @p_103) :rule refl)
+(step t3.t1.t15 (cl @p_108) :rule cong :premises (t3.t1.t13 t3.t1.t14))
+(step t3.t1.t16 (cl @p_105) :rule refl)
+(step t3.t1.t17 (cl @p_109) :rule cong :premises (t3.t1.t15 t3.t1.t16))
+(step t3.t1.t18 (cl @p_110) :rule cong :premises (t3.t1.t17))
+(step t3.t1.t19 (cl (= @p_111 @p_47)) :rule cong :premises (t3.t1.t12 t3.t1.t18))
+(anchor :step t3.t1.t20 :args ((:= (?v5 B$) veriT_vr4) (:= (?v6 C$) veriT_vr5)))
+(step t3.t1.t20.t1 (cl @p_113) :rule refl)
+(step t3.t1.t20.t2 (cl @p_103) :rule refl)
+(step t3.t1.t20.t3 (cl @p_114) :rule cong :premises (t3.t1.t20.t1 t3.t1.t20.t2))
+(step t3.t1.t20.t4 (cl @p_105) :rule refl)
+(step t3.t1.t20.t5 (cl @p_115) :rule cong :premises (t3.t1.t20.t3 t3.t1.t20.t4))
+(step t3.t1.t20.t6 (cl (! (= ?v5 veriT_vr4) :named @p_117)) :rule refl)
+(step t3.t1.t20.t7 (cl (! (= ?v6 veriT_vr5) :named @p_118)) :rule refl)
+(step t3.t1.t20.t8 (cl (! (= @p_12 @p_28) :named @p_119)) :rule cong :premises (t3.t1.t20.t6 t3.t1.t20.t7))
+(step t3.t1.t20.t9 (cl (= @p_116 @p_54)) :rule cong :premises (t3.t1.t20.t5 t3.t1.t20.t8))
+(step t3.t1.t20.t10 (cl @p_107) :rule refl)
+(step t3.t1.t20.t11 (cl @p_103) :rule refl)
+(step t3.t1.t20.t12 (cl @p_108) :rule cong :premises (t3.t1.t20.t10 t3.t1.t20.t11))
+(step t3.t1.t20.t13 (cl @p_105) :rule refl)
+(step t3.t1.t20.t14 (cl @p_109) :rule cong :premises (t3.t1.t20.t12 t3.t1.t20.t13))
+(step t3.t1.t20.t15 (cl @p_117) :rule refl)
+(step t3.t1.t20.t16 (cl @p_118) :rule refl)
+(step t3.t1.t20.t17 (cl @p_119) :rule cong :premises (t3.t1.t20.t15 t3.t1.t20.t16))
+(step t3.t1.t20.t18 (cl (= @p_120 @p_59)) :rule cong :premises (t3.t1.t20.t14 t3.t1.t20.t17))
+(step t3.t1.t20.t19 (cl (= @p_121 @p_61)) :rule cong :premises (t3.t1.t20.t9 t3.t1.t20.t18))
+(step t3.t1.t20 (cl (= @p_112 @p_49)) :rule bind)
+(step t3.t1.t21 (cl (= @p_122 @p_63)) :rule cong :premises (t3.t1.t19 t3.t1.t20))
+(step t3.t1.t22 (cl (= @p_123 @p_65)) :rule cong :premises (t3.t1.t6 t3.t1.t21))
+(step t3.t1 (cl (= @p_101 @p_33)) :rule bind)
+(anchor :step t3.t2 :args ((:= (?v3 D$) veriT_vr6)))
+(step t3.t2.t1 (cl (! (= ?v0 veriT_vr7) :named @p_128)) :rule refl)
+(step t3.t2.t2 (cl @p_107) :rule refl)
+(step t3.t2.t3 (cl (! (= @p_126 (! (c$ veriT_vr7 veriT_vr0) :named @p_127)) :named @p_134)) :rule cong :premises (t3.t2.t1 t3.t2.t2))
+(step t3.t2.t4 (cl (! (= ?v3 veriT_vr6) :named @p_131)) :rule refl)
+(step t3.t2.t5 (cl (! (= @p_15 (! (run$b @p_127 veriT_vr6) :named @p_99)) :named @p_135)) :rule cong :premises (t3.t2.t3 t3.t2.t4))
+(step t3.t2.t6 (cl (! (= @p_13 (! (is_fail$b @p_99) :named @p_97)) :named @p_136)) :rule cong :premises (t3.t2.t5))
+(step t3.t2.t7 (cl @p_128) :rule refl)
+(step t3.t2.t8 (cl @p_113) :rule refl)
+(step t3.t2.t9 (cl (! (= @p_129 (! (c$ veriT_vr7 veriT_vr1) :named @p_130)) :named @p_141)) :rule cong :premises (t3.t2.t7 t3.t2.t8))
+(step t3.t2.t10 (cl @p_131) :rule refl)
+(step t3.t2.t11 (cl (! (= @p_14 (! (run$b @p_130 veriT_vr6) :named @p_98)) :named @p_142)) :rule cong :premises (t3.t2.t9 t3.t2.t10))
+(step t3.t2.t12 (cl (= @p_132 (! (is_fail$b @p_98) :named @p_133))) :rule cong :premises (t3.t2.t11))
+(step t3.t2.t13 (cl @p_128) :rule refl)
+(step t3.t2.t14 (cl @p_107) :rule refl)
+(step t3.t2.t15 (cl @p_134) :rule cong :premises (t3.t2.t13 t3.t2.t14))
+(step t3.t2.t16 (cl @p_131) :rule refl)
+(step t3.t2.t17 (cl @p_135) :rule cong :premises (t3.t2.t15 t3.t2.t16))
+(step t3.t2.t18 (cl @p_136) :rule cong :premises (t3.t2.t17))
+(step t3.t2.t19 (cl (= @p_137 (! (= @p_133 @p_97) :named @p_138))) :rule cong :premises (t3.t2.t12 t3.t2.t18))
+(anchor :step t3.t2.t20 :args ((:= (?v4 F$) veriT_vr9) (:= (?v5 D$) veriT_vr8)))
+(step t3.t2.t20.t1 (cl @p_128) :rule refl)
+(step t3.t2.t20.t2 (cl @p_113) :rule refl)
+(step t3.t2.t20.t3 (cl @p_141) :rule cong :premises (t3.t2.t20.t1 t3.t2.t20.t2))
+(step t3.t2.t20.t4 (cl @p_131) :rule refl)
+(step t3.t2.t20.t5 (cl @p_142) :rule cong :premises (t3.t2.t20.t3 t3.t2.t20.t4))
+(step t3.t2.t20.t6 (cl (! (= ?v4 veriT_vr9) :named @p_145)) :rule refl)
+(step t3.t2.t20.t7 (cl (! (= ?v5 veriT_vr8) :named @p_146)) :rule refl)
+(step t3.t2.t20.t8 (cl (! (= @p_16 (! (pair$b veriT_vr9 veriT_vr8) :named @p_100)) :named @p_147)) :rule cong :premises (t3.t2.t20.t6 t3.t2.t20.t7))
+(step t3.t2.t20.t9 (cl (= @p_143 (! (is_res$b @p_98 @p_100) :named @p_144))) :rule cong :premises (t3.t2.t20.t5 t3.t2.t20.t8))
+(step t3.t2.t20.t10 (cl @p_128) :rule refl)
+(step t3.t2.t20.t11 (cl @p_107) :rule refl)
+(step t3.t2.t20.t12 (cl @p_134) :rule cong :premises (t3.t2.t20.t10 t3.t2.t20.t11))
+(step t3.t2.t20.t13 (cl @p_131) :rule refl)
+(step t3.t2.t20.t14 (cl @p_135) :rule cong :premises (t3.t2.t20.t12 t3.t2.t20.t13))
+(step t3.t2.t20.t15 (cl @p_145) :rule refl)
+(step t3.t2.t20.t16 (cl @p_146) :rule refl)
+(step t3.t2.t20.t17 (cl @p_147) :rule cong :premises (t3.t2.t20.t15 t3.t2.t20.t16))
+(step t3.t2.t20.t18 (cl (= @p_148 (! (is_res$b @p_99 @p_100) :named @p_149))) :rule cong :premises (t3.t2.t20.t14 t3.t2.t20.t17))
+(step t3.t2.t20.t19 (cl (= @p_150 (! (= @p_144 @p_149) :named @p_151))) :rule cong :premises (t3.t2.t20.t9 t3.t2.t20.t18))
+(step t3.t2.t20 (cl (= @p_139 (! (forall ((veriT_vr9 F$) (veriT_vr8 D$)) @p_151) :named @p_140))) :rule bind)
+(step t3.t2.t21 (cl (= @p_152 (! (and @p_138 @p_140) :named @p_153))) :rule cong :premises (t3.t2.t19 t3.t2.t20))
+(step t3.t2.t22 (cl (= @p_154 (! (or @p_97 @p_153) :named @p_155))) :rule cong :premises (t3.t2.t6 t3.t2.t21))
+(step t3.t2 (cl (= @p_124 (! (forall ((veriT_vr6 D$)) @p_155) :named @p_125))) :rule bind)
+(step t3.t3 (cl (= @p_156 (! (=> @p_33 @p_125) :named @p_157))) :rule cong :premises (t3.t1 t3.t2))
+(step t3 (cl (= @p_96 (! (forall ((veriT_vr7 E$) (veriT_vr0 A_b_c_M_state_fun$) (veriT_vr1 A_b_c_M_state_fun$)) @p_157) :named @p_160))) :rule bind)
+(step t4 (cl (= @p_158 (! (and @p_159 @p_160) :named @p_249))) :rule cong :premises (t2 t3))
+(anchor :step t5 :args ((:= (?v0 A_b_c_M_state_fun$) veriT_vr0) (:= (?v1 A_b_c_M_state_fun$) veriT_vr1)))
+(anchor :step t5.t1 :args ((:= (?v2 A$) veriT_vr2) (:= (?v3 C$) veriT_vr3)))
+(step t5.t1.t1 (cl @p_42) :rule refl)
+(step t5.t1.t2 (cl @p_36) :rule refl)
+(step t5.t1.t3 (cl @p_43) :rule cong :premises (t5.t1.t1 t5.t1.t2))
+(step t5.t1.t4 (cl @p_39) :rule refl)
+(step t5.t1.t5 (cl @p_44) :rule cong :premises (t5.t1.t3 t5.t1.t4))
+(step t5.t1.t6 (cl @p_45) :rule cong :premises (t5.t1.t5))
+(step t5.t1.t7 (cl @p_50) :rule refl)
+(step t5.t1.t8 (cl @p_36) :rule refl)
+(step t5.t1.t9 (cl @p_51) :rule cong :premises (t5.t1.t7 t5.t1.t8))
+(step t5.t1.t10 (cl @p_39) :rule refl)
+(step t5.t1.t11 (cl @p_52) :rule cong :premises (t5.t1.t9 t5.t1.t10))
+(step t5.t1.t12 (cl @p_165) :rule cong :premises (t5.t1.t11))
+(step t5.t1.t13 (cl @p_42) :rule refl)
+(step t5.t1.t14 (cl @p_36) :rule refl)
+(step t5.t1.t15 (cl @p_43) :rule cong :premises (t5.t1.t13 t5.t1.t14))
+(step t5.t1.t16 (cl @p_39) :rule refl)
+(step t5.t1.t17 (cl @p_44) :rule cong :premises (t5.t1.t15 t5.t1.t16))
+(step t5.t1.t18 (cl @p_45) :rule cong :premises (t5.t1.t17))
+(step t5.t1.t19 (cl @p_166) :rule cong :premises (t5.t1.t12 t5.t1.t18))
+(anchor :step t5.t1.t20 :args ((:= (?v4 B$) veriT_vr4) (:= (?v5 C$) veriT_vr5)))
+(step t5.t1.t20.t1 (cl @p_50) :rule refl)
+(step t5.t1.t20.t2 (cl @p_36) :rule refl)
+(step t5.t1.t20.t3 (cl @p_51) :rule cong :premises (t5.t1.t20.t1 t5.t1.t20.t2))
+(step t5.t1.t20.t4 (cl @p_39) :rule refl)
+(step t5.t1.t20.t5 (cl @p_52) :rule cong :premises (t5.t1.t20.t3 t5.t1.t20.t4))
+(step t5.t1.t20.t6 (cl @p_55) :rule refl)
+(step t5.t1.t20.t7 (cl @p_56) :rule refl)
+(step t5.t1.t20.t8 (cl @p_57) :rule cong :premises (t5.t1.t20.t6 t5.t1.t20.t7))
+(step t5.t1.t20.t9 (cl @p_168) :rule cong :premises (t5.t1.t20.t5 t5.t1.t20.t8))
+(step t5.t1.t20.t10 (cl @p_42) :rule refl)
+(step t5.t1.t20.t11 (cl @p_36) :rule refl)
+(step t5.t1.t20.t12 (cl @p_43) :rule cong :premises (t5.t1.t20.t10 t5.t1.t20.t11))
+(step t5.t1.t20.t13 (cl @p_39) :rule refl)
+(step t5.t1.t20.t14 (cl @p_44) :rule cong :premises (t5.t1.t20.t12 t5.t1.t20.t13))
+(step t5.t1.t20.t15 (cl @p_55) :rule refl)
+(step t5.t1.t20.t16 (cl @p_56) :rule refl)
+(step t5.t1.t20.t17 (cl @p_57) :rule cong :premises (t5.t1.t20.t15 t5.t1.t20.t16))
+(step t5.t1.t20.t18 (cl @p_169) :rule cong :premises (t5.t1.t20.t14 t5.t1.t20.t17))
+(step t5.t1.t20.t19 (cl @p_170) :rule cong :premises (t5.t1.t20.t9 t5.t1.t20.t18))
+(step t5.t1.t20 (cl @p_167) :rule bind)
+(step t5.t1.t21 (cl @p_171) :rule cong :premises (t5.t1.t19 t5.t1.t20))
+(step t5.t1.t22 (cl @p_172) :rule cong :premises (t5.t1.t6 t5.t1.t21))
+(step t5.t1 (cl @p_164) :rule bind)
+(anchor :step t5.t2 :args ((:= (?v2 D$) veriT_vr6)))
+(step t5.t2.t1 (cl @p_42) :rule refl)
+(step t5.t2.t2 (cl @p_74) :rule cong :premises (t5.t2.t1))
+(step t5.t2.t3 (cl @p_72) :rule refl)
+(step t5.t2.t4 (cl @p_75) :rule cong :premises (t5.t2.t2 t5.t2.t3))
+(step t5.t2.t5 (cl @p_76) :rule cong :premises (t5.t2.t4))
+(anchor :step t5.t2.t6 :args ((:= (?v3 E$) veriT_vr7) (:= (?v4 D$) veriT_vr8)))
+(step t5.t2.t6.t1 (cl @p_42) :rule refl)
+(step t5.t2.t6.t2 (cl @p_74) :rule cong :premises (t5.t2.t6.t1))
+(step t5.t2.t6.t3 (cl @p_72) :rule refl)
+(step t5.t2.t6.t4 (cl @p_75) :rule cong :premises (t5.t2.t6.t2 t5.t2.t6.t3))
+(step t5.t2.t6.t5 (cl @p_84) :rule refl)
+(step t5.t2.t6.t6 (cl @p_85) :rule refl)
+(step t5.t2.t6.t7 (cl @p_86) :rule cong :premises (t5.t2.t6.t5 t5.t2.t6.t6))
+(step t5.t2.t6.t8 (cl @p_175) :rule cong :premises (t5.t2.t6.t4 t5.t2.t6.t7))
+(step t5.t2.t6.t9 (cl @p_84) :rule refl)
+(step t5.t2.t6.t10 (cl @p_42) :rule refl)
+(step t5.t2.t6.t11 (cl (! (= @p_176 @p_127) :named @p_197)) :rule cong :premises (t5.t2.t6.t9 t5.t2.t6.t10))
+(step t5.t2.t6.t12 (cl @p_85) :rule refl)
+(step t5.t2.t6.t13 (cl (! (= @p_177 (! (run$b @p_127 veriT_vr8) :named @p_178)) :named @p_198)) :rule cong :premises (t5.t2.t6.t11 t5.t2.t6.t12))
+(step t5.t2.t6.t14 (cl (! (= @p_179 (! (is_fail$b @p_178) :named @p_180)) :named @p_199)) :rule cong :premises (t5.t2.t6.t13))
+(step t5.t2.t6.t15 (cl (! (= @p_181 (! (and @p_87 @p_180) :named @p_182)) :named @p_200)) :rule cong :premises (t5.t2.t6.t8 t5.t2.t6.t14))
+(step t5.t2.t6 (cl (! (= @p_21 (! (exists ((veriT_vr7 E$) (veriT_vr8 D$)) @p_182) :named @p_162)) :named @p_196)) :rule bind)
+(step t5.t2.t7 (cl @p_50) :rule refl)
+(step t5.t2.t8 (cl @p_81) :rule cong :premises (t5.t2.t7))
+(step t5.t2.t9 (cl @p_72) :rule refl)
+(step t5.t2.t10 (cl @p_82) :rule cong :premises (t5.t2.t8 t5.t2.t9))
+(step t5.t2.t11 (cl @p_183) :rule cong :premises (t5.t2.t10))
+(anchor :step t5.t2.t12 :args ((:= (?v3 E$) veriT_vr7) (:= (?v4 D$) veriT_vr8)))
+(step t5.t2.t12.t1 (cl @p_50) :rule refl)
+(step t5.t2.t12.t2 (cl @p_81) :rule cong :premises (t5.t2.t12.t1))
+(step t5.t2.t12.t3 (cl @p_72) :rule refl)
+(step t5.t2.t12.t4 (cl @p_82) :rule cong :premises (t5.t2.t12.t2 t5.t2.t12.t3))
+(step t5.t2.t12.t5 (cl @p_84) :rule refl)
+(step t5.t2.t12.t6 (cl @p_85) :rule refl)
+(step t5.t2.t12.t7 (cl @p_86) :rule cong :premises (t5.t2.t12.t5 t5.t2.t12.t6))
+(step t5.t2.t12.t8 (cl @p_186) :rule cong :premises (t5.t2.t12.t4 t5.t2.t12.t7))
+(step t5.t2.t12.t9 (cl @p_84) :rule refl)
+(step t5.t2.t12.t10 (cl @p_50) :rule refl)
+(step t5.t2.t12.t11 (cl (= @p_187 @p_130)) :rule cong :premises (t5.t2.t12.t9 t5.t2.t12.t10))
+(step t5.t2.t12.t12 (cl @p_85) :rule refl)
+(step t5.t2.t12.t13 (cl (= @p_188 (! (run$b @p_130 veriT_vr8) :named @p_189))) :rule cong :premises (t5.t2.t12.t11 t5.t2.t12.t12))
+(step t5.t2.t12.t14 (cl (= @p_190 (! (is_fail$b @p_189) :named @p_191))) :rule cong :premises (t5.t2.t12.t13))
+(step t5.t2.t12.t15 (cl (= @p_192 (! (and @p_83 @p_191) :named @p_193))) :rule cong :premises (t5.t2.t12.t8 t5.t2.t12.t14))
+(step t5.t2.t12 (cl (= @p_184 (! (exists ((veriT_vr7 E$) (veriT_vr8 D$)) @p_193) :named @p_185))) :rule bind)
+(step t5.t2.t13 (cl (= @p_194 (! (or @p_73 @p_185) :named @p_195))) :rule cong :premises (t5.t2.t11 t5.t2.t12))
+(step t5.t2.t14 (cl @p_42) :rule refl)
+(step t5.t2.t15 (cl @p_74) :rule cong :premises (t5.t2.t14))
+(step t5.t2.t16 (cl @p_72) :rule refl)
+(step t5.t2.t17 (cl @p_75) :rule cong :premises (t5.t2.t15 t5.t2.t16))
+(step t5.t2.t18 (cl @p_76) :rule cong :premises (t5.t2.t17))
+(anchor :step t5.t2.t19 :args ((:= (?v3 E$) veriT_vr7) (:= (?v4 D$) veriT_vr8)))
+(step t5.t2.t19.t1 (cl @p_42) :rule refl)
+(step t5.t2.t19.t2 (cl @p_74) :rule cong :premises (t5.t2.t19.t1))
+(step t5.t2.t19.t3 (cl @p_72) :rule refl)
+(step t5.t2.t19.t4 (cl @p_75) :rule cong :premises (t5.t2.t19.t2 t5.t2.t19.t3))
+(step t5.t2.t19.t5 (cl @p_84) :rule refl)
+(step t5.t2.t19.t6 (cl @p_85) :rule refl)
+(step t5.t2.t19.t7 (cl @p_86) :rule cong :premises (t5.t2.t19.t5 t5.t2.t19.t6))
+(step t5.t2.t19.t8 (cl @p_175) :rule cong :premises (t5.t2.t19.t4 t5.t2.t19.t7))
+(step t5.t2.t19.t9 (cl @p_84) :rule refl)
+(step t5.t2.t19.t10 (cl @p_42) :rule refl)
+(step t5.t2.t19.t11 (cl @p_197) :rule cong :premises (t5.t2.t19.t9 t5.t2.t19.t10))
+(step t5.t2.t19.t12 (cl @p_85) :rule refl)
+(step t5.t2.t19.t13 (cl @p_198) :rule cong :premises (t5.t2.t19.t11 t5.t2.t19.t12))
+(step t5.t2.t19.t14 (cl @p_199) :rule cong :premises (t5.t2.t19.t13))
+(step t5.t2.t19.t15 (cl @p_200) :rule cong :premises (t5.t2.t19.t8 t5.t2.t19.t14))
+(step t5.t2.t19 (cl @p_196) :rule bind)
+(step t5.t2.t20 (cl (= @p_201 (! (or @p_29 @p_162) :named @p_202))) :rule cong :premises (t5.t2.t18 t5.t2.t19))
+(step t5.t2.t21 (cl (= @p_203 (! (= @p_195 @p_202) :named @p_204))) :rule cong :premises (t5.t2.t13 t5.t2.t20))
+(anchor :step t5.t2.t22 :args ((:= (?v3 F$) veriT_vr9) (:= (?v4 D$) veriT_vr8)))
+(step t5.t2.t22.t1 (cl @p_50) :rule refl)
+(step t5.t2.t22.t2 (cl @p_81) :rule cong :premises (t5.t2.t22.t1))
+(step t5.t2.t22.t3 (cl @p_72) :rule refl)
+(step t5.t2.t22.t4 (cl @p_82) :rule cong :premises (t5.t2.t22.t2 t5.t2.t22.t3))
+(step t5.t2.t22.t5 (cl @p_183) :rule cong :premises (t5.t2.t22.t4))
+(anchor :step t5.t2.t22.t6 :args ((:= (?v5 E$) veriT_vr7) (:= (?v6 D$) veriT_vr10)))
+(step t5.t2.t22.t6.t1 (cl @p_50) :rule refl)
+(step t5.t2.t22.t6.t2 (cl @p_81) :rule cong :premises (t5.t2.t22.t6.t1))
+(step t5.t2.t22.t6.t3 (cl @p_72) :rule refl)
+(step t5.t2.t22.t6.t4 (cl @p_82) :rule cong :premises (t5.t2.t22.t6.t2 t5.t2.t22.t6.t3))
+(step t5.t2.t22.t6.t5 (cl (! (= ?v5 veriT_vr7) :named @p_211)) :rule refl)
+(step t5.t2.t22.t6.t6 (cl (! (= ?v6 veriT_vr10) :named @p_213)) :rule refl)
+(step t5.t2.t22.t6.t7 (cl (! (= @p_22 (! (pair$a veriT_vr7 veriT_vr10) :named @p_163)) :named @p_224)) :rule cong :premises (t5.t2.t22.t6.t5 t5.t2.t22.t6.t6))
+(step t5.t2.t22.t6.t8 (cl (= @p_209 (! (is_res$a @p_30 @p_163) :named @p_210))) :rule cong :premises (t5.t2.t22.t6.t4 t5.t2.t22.t6.t7))
+(step t5.t2.t22.t6.t9 (cl @p_211) :rule refl)
+(step t5.t2.t22.t6.t10 (cl @p_50) :rule refl)
+(step t5.t2.t22.t6.t11 (cl (= @p_212 @p_130)) :rule cong :premises (t5.t2.t22.t6.t9 t5.t2.t22.t6.t10))
+(step t5.t2.t22.t6.t12 (cl @p_213) :rule refl)
+(step t5.t2.t22.t6.t13 (cl (= @p_214 (! (run$b @p_130 veriT_vr10) :named @p_215))) :rule cong :premises (t5.t2.t22.t6.t11 t5.t2.t22.t6.t12))
+(step t5.t2.t22.t6.t14 (cl (! (= ?v3 veriT_vr9) :named @p_230)) :rule refl)
+(step t5.t2.t22.t6.t15 (cl @p_85) :rule refl)
+(step t5.t2.t22.t6.t16 (cl (! (= @p_23 @p_100) :named @p_231)) :rule cong :premises (t5.t2.t22.t6.t14 t5.t2.t22.t6.t15))
+(step t5.t2.t22.t6.t17 (cl (= @p_216 (! (is_res$b @p_215 @p_100) :named @p_217))) :rule cong :premises (t5.t2.t22.t6.t13 t5.t2.t22.t6.t16))
+(step t5.t2.t22.t6.t18 (cl (= @p_218 (! (and @p_210 @p_217) :named @p_219))) :rule cong :premises (t5.t2.t22.t6.t8 t5.t2.t22.t6.t17))
+(step t5.t2.t22.t6 (cl (= @p_207 (! (exists ((veriT_vr7 E$) (veriT_vr10 D$)) @p_219) :named @p_208))) :rule bind)
+(step t5.t2.t22.t7 (cl (= @p_220 (! (or @p_73 @p_208) :named @p_221))) :rule cong :premises (t5.t2.t22.t5 t5.t2.t22.t6))
+(step t5.t2.t22.t8 (cl @p_42) :rule refl)
+(step t5.t2.t22.t9 (cl @p_74) :rule cong :premises (t5.t2.t22.t8))
+(step t5.t2.t22.t10 (cl @p_72) :rule refl)
+(step t5.t2.t22.t11 (cl @p_75) :rule cong :premises (t5.t2.t22.t9 t5.t2.t22.t10))
+(step t5.t2.t22.t12 (cl @p_76) :rule cong :premises (t5.t2.t22.t11))
+(anchor :step t5.t2.t22.t13 :args ((:= (?v5 E$) veriT_vr7) (:= (?v6 D$) veriT_vr10)))
+(step t5.t2.t22.t13.t1 (cl @p_42) :rule refl)
+(step t5.t2.t22.t13.t2 (cl @p_74) :rule cong :premises (t5.t2.t22.t13.t1))
+(step t5.t2.t22.t13.t3 (cl @p_72) :rule refl)
+(step t5.t2.t22.t13.t4 (cl @p_75) :rule cong :premises (t5.t2.t22.t13.t2 t5.t2.t22.t13.t3))
+(step t5.t2.t22.t13.t5 (cl @p_211) :rule refl)
+(step t5.t2.t22.t13.t6 (cl @p_213) :rule refl)
+(step t5.t2.t22.t13.t7 (cl @p_224) :rule cong :premises (t5.t2.t22.t13.t5 t5.t2.t22.t13.t6))
+(step t5.t2.t22.t13.t8 (cl (= @p_225 (! (is_res$a @p_31 @p_163) :named @p_226))) :rule cong :premises (t5.t2.t22.t13.t4 t5.t2.t22.t13.t7))
+(step t5.t2.t22.t13.t9 (cl @p_211) :rule refl)
+(step t5.t2.t22.t13.t10 (cl @p_42) :rule refl)
+(step t5.t2.t22.t13.t11 (cl (= @p_227 @p_127)) :rule cong :premises (t5.t2.t22.t13.t9 t5.t2.t22.t13.t10))
+(step t5.t2.t22.t13.t12 (cl @p_213) :rule refl)
+(step t5.t2.t22.t13.t13 (cl (= @p_228 (! (run$b @p_127 veriT_vr10) :named @p_229))) :rule cong :premises (t5.t2.t22.t13.t11 t5.t2.t22.t13.t12))
+(step t5.t2.t22.t13.t14 (cl @p_230) :rule refl)
+(step t5.t2.t22.t13.t15 (cl @p_85) :rule refl)
+(step t5.t2.t22.t13.t16 (cl @p_231) :rule cong :premises (t5.t2.t22.t13.t14 t5.t2.t22.t13.t15))
+(step t5.t2.t22.t13.t17 (cl (= @p_232 (! (is_res$b @p_229 @p_100) :named @p_233))) :rule cong :premises (t5.t2.t22.t13.t13 t5.t2.t22.t13.t16))
+(step t5.t2.t22.t13.t18 (cl (= @p_234 (! (and @p_226 @p_233) :named @p_235))) :rule cong :premises (t5.t2.t22.t13.t8 t5.t2.t22.t13.t17))
+(step t5.t2.t22.t13 (cl (= @p_222 (! (exists ((veriT_vr7 E$) (veriT_vr10 D$)) @p_235) :named @p_223))) :rule bind)
+(step t5.t2.t22.t14 (cl (= @p_236 (! (or @p_29 @p_223) :named @p_237))) :rule cong :premises (t5.t2.t22.t12 t5.t2.t22.t13))
+(step t5.t2.t22.t15 (cl (= @p_238 (! (= @p_221 @p_237) :named @p_239))) :rule cong :premises (t5.t2.t22.t7 t5.t2.t22.t14))
+(step t5.t2.t22 (cl (= @p_205 (! (forall ((veriT_vr9 F$) (veriT_vr8 D$)) @p_239) :named @p_206))) :rule bind)
+(step t5.t2.t23 (cl (= @p_240 (! (and @p_204 @p_206) :named @p_241))) :rule cong :premises (t5.t2.t21 t5.t2.t22))
+(step t5.t2.t24 (cl (= @p_242 (! (or @p_162 @p_241) :named @p_243))) :rule cong :premises (t5.t2.t6 t5.t2.t23))
+(step t5.t2.t25 (cl (= @p_244 (! (or @p_29 @p_243) :named @p_245))) :rule cong :premises (t5.t2.t5 t5.t2.t24))
+(step t5.t2 (cl (= @p_173 (! (forall ((veriT_vr6 D$)) @p_245) :named @p_174))) :rule bind)
+(step t5.t3 (cl (= @p_246 (! (=> @p_33 @p_174) :named @p_247))) :rule cong :premises (t5.t1 t5.t2))
+(step t5 (cl (= @p_161 (! (forall ((veriT_vr0 A_b_c_M_state_fun$) (veriT_vr1 A_b_c_M_state_fun$)) @p_247) :named @p_250))) :rule bind)
+(step t6 (cl (= @p_248 (! (=> @p_249 @p_250) :named @p_252))) :rule cong :premises (t4 t5))
+(step t7 (cl (! (= @p_251 (! (not @p_252) :named @p_254)) :named @p_253)) :rule cong :premises (t6))
+(step t8 (cl (! (not @p_253) :named @p_256) (! (not @p_251) :named @p_255) @p_254) :rule equiv_pos2)
+(step t9 (cl (not @p_255) @p_248) :rule not_not)
+(step t10 (cl @p_256 @p_248 @p_254) :rule th_resolution :premises (t9 t8))
+(step t11 (cl @p_254) :rule th_resolution :premises (axiom0 t7 t10))
+(step t12 (cl (! (= @p_254 (! (and @p_249 (! (not @p_250) :named @p_264)) :named @p_258)) :named @p_257)) :rule bool_simplify)
+(step t13 (cl (! (not @p_257) :named @p_260) (! (not @p_254) :named @p_259) @p_258) :rule equiv_pos2)
+(step t14 (cl (not @p_259) @p_252) :rule not_not)
+(step t15 (cl @p_260 @p_252 @p_258) :rule th_resolution :premises (t14 t13))
+(step t16 (cl @p_258) :rule th_resolution :premises (t11 t12 t15))
+(anchor :step t17 :args ((veriT_vr0 A_b_c_M_state_fun$) (veriT_vr1 A_b_c_M_state_fun$)))
+(anchor :step t17.t1 :args ((veriT_vr6 D$)))
+(step t17.t1.t1 (cl (= @p_245 (! (or @p_29 @p_162 @p_241) :named @p_262))) :rule ac_simp)
+(step t17.t1 (cl (= @p_174 (! (forall ((veriT_vr6 D$)) @p_262) :named @p_261))) :rule bind)
+(step t17.t2 (cl (= @p_247 (! (=> @p_33 @p_261) :named @p_263))) :rule cong :premises (t17.t1))
+(step t17 (cl (= @p_250 (! (forall ((veriT_vr0 A_b_c_M_state_fun$) (veriT_vr1 A_b_c_M_state_fun$)) @p_263) :named @p_265))) :rule bind)
+(step t18 (cl (= @p_264 (! (not @p_265) :named @p_266))) :rule cong :premises (t17))
+(step t19 (cl (! (= @p_258 (! (and @p_159 @p_160 @p_266) :named @p_268)) :named @p_267)) :rule ac_simp :premises (t18))
+(step t20 (cl (not @p_267) (not @p_258) @p_268) :rule equiv_pos2)
+(step t21 (cl @p_268) :rule th_resolution :premises (t16 t19 t20))
+(anchor :step t22 :args ((:= (veriT_vr7 E$) veriT_vr11) (:= (veriT_vr0 A_b_c_M_state_fun$) veriT_vr12) (:= (veriT_vr1 A_b_c_M_state_fun$) veriT_vr13)))
+(anchor :step t22.t1 :args ((:= (veriT_vr2 A$) veriT_vr14) (:= (veriT_vr3 C$) veriT_vr15)))
+(step t22.t1.t1 (cl (! (= veriT_vr0 veriT_vr12) :named @p_283)) :rule refl)
+(step t22.t1.t2 (cl (! (= veriT_vr2 veriT_vr14) :named @p_279)) :rule refl)
+(step t22.t1.t3 (cl (! (= @p_35 (! (fun_app$ veriT_vr12 veriT_vr14) :named @p_278)) :named @p_284)) :rule cong :premises (t22.t1.t1 t22.t1.t2))
+(step t22.t1.t4 (cl (! (= veriT_vr3 veriT_vr15) :named @p_281)) :rule refl)
+(step t22.t1.t5 (cl (! (= @p_27 (! (run$ @p_278 veriT_vr15) :named @p_271)) :named @p_285)) :rule cong :premises (t22.t1.t3 t22.t1.t4))
+(step t22.t1.t6 (cl (! (= @p_25 (! (is_fail$ @p_271) :named @p_269)) :named @p_286)) :rule cong :premises (t22.t1.t5))
+(step t22.t1.t7 (cl (! (= veriT_vr1 veriT_vr13) :named @p_289)) :rule refl)
+(step t22.t1.t8 (cl @p_279) :rule refl)
+(step t22.t1.t9 (cl (! (= @p_38 (! (fun_app$ veriT_vr13 veriT_vr14) :named @p_280)) :named @p_290)) :rule cong :premises (t22.t1.t7 t22.t1.t8))
+(step t22.t1.t10 (cl @p_281) :rule refl)
+(step t22.t1.t11 (cl (! (= @p_26 (! (run$ @p_280 veriT_vr15) :named @p_270)) :named @p_291)) :rule cong :premises (t22.t1.t9 t22.t1.t10))
+(step t22.t1.t12 (cl (= @p_41 (! (is_fail$ @p_270) :named @p_282))) :rule cong :premises (t22.t1.t11))
+(step t22.t1.t13 (cl @p_283) :rule refl)
+(step t22.t1.t14 (cl @p_279) :rule refl)
+(step t22.t1.t15 (cl @p_284) :rule cong :premises (t22.t1.t13 t22.t1.t14))
+(step t22.t1.t16 (cl @p_281) :rule refl)
+(step t22.t1.t17 (cl @p_285) :rule cong :premises (t22.t1.t15 t22.t1.t16))
+(step t22.t1.t18 (cl @p_286) :rule cong :premises (t22.t1.t17))
+(step t22.t1.t19 (cl (= @p_47 (! (= @p_282 @p_269) :named @p_287))) :rule cong :premises (t22.t1.t12 t22.t1.t18))
+(anchor :step t22.t1.t20 :args ((:= (veriT_vr4 B$) veriT_vr16) (:= (veriT_vr5 C$) veriT_vr17)))
+(step t22.t1.t20.t1 (cl @p_289) :rule refl)
+(step t22.t1.t20.t2 (cl @p_279) :rule refl)
+(step t22.t1.t20.t3 (cl @p_290) :rule cong :premises (t22.t1.t20.t1 t22.t1.t20.t2))
+(step t22.t1.t20.t4 (cl @p_281) :rule refl)
+(step t22.t1.t20.t5 (cl @p_291) :rule cong :premises (t22.t1.t20.t3 t22.t1.t20.t4))
+(step t22.t1.t20.t6 (cl (! (= veriT_vr4 veriT_vr16) :named @p_293)) :rule refl)
+(step t22.t1.t20.t7 (cl (! (= veriT_vr5 veriT_vr17) :named @p_294)) :rule refl)
+(step t22.t1.t20.t8 (cl (! (= @p_28 (! (pair$ veriT_vr16 veriT_vr17) :named @p_272)) :named @p_295)) :rule cong :premises (t22.t1.t20.t6 t22.t1.t20.t7))
+(step t22.t1.t20.t9 (cl (= @p_54 (! (is_res$ @p_270 @p_272) :named @p_292))) :rule cong :premises (t22.t1.t20.t5 t22.t1.t20.t8))
+(step t22.t1.t20.t10 (cl @p_283) :rule refl)
+(step t22.t1.t20.t11 (cl @p_279) :rule refl)
+(step t22.t1.t20.t12 (cl @p_284) :rule cong :premises (t22.t1.t20.t10 t22.t1.t20.t11))
+(step t22.t1.t20.t13 (cl @p_281) :rule refl)
+(step t22.t1.t20.t14 (cl @p_285) :rule cong :premises (t22.t1.t20.t12 t22.t1.t20.t13))
+(step t22.t1.t20.t15 (cl @p_293) :rule refl)
+(step t22.t1.t20.t16 (cl @p_294) :rule refl)
+(step t22.t1.t20.t17 (cl @p_295) :rule cong :premises (t22.t1.t20.t15 t22.t1.t20.t16))
+(step t22.t1.t20.t18 (cl (= @p_59 (! (is_res$ @p_271 @p_272) :named @p_296))) :rule cong :premises (t22.t1.t20.t14 t22.t1.t20.t17))
+(step t22.t1.t20.t19 (cl (= @p_61 (! (= @p_292 @p_296) :named @p_297))) :rule cong :premises (t22.t1.t20.t9 t22.t1.t20.t18))
+(step t22.t1.t20 (cl (= @p_49 (! (forall ((veriT_vr16 B$) (veriT_vr17 C$)) @p_297) :named @p_288))) :rule bind)
+(step t22.t1.t21 (cl (= @p_63 (! (and @p_287 @p_288) :named @p_298))) :rule cong :premises (t22.t1.t19 t22.t1.t20))
+(step t22.t1.t22 (cl (= @p_65 (! (or @p_269 @p_298) :named @p_299))) :rule cong :premises (t22.t1.t6 t22.t1.t21))
+(step t22.t1 (cl (= @p_33 (! (forall ((veriT_vr14 A$) (veriT_vr15 C$)) @p_299) :named @p_277))) :rule bind)
+(anchor :step t22.t2 :args ((:= (veriT_vr6 D$) veriT_vr10)))
+(step t22.t2.t1 (cl (! (= veriT_vr7 veriT_vr11) :named @p_302)) :rule refl)
+(step t22.t2.t2 (cl @p_283) :rule refl)
+(step t22.t2.t3 (cl (! (= @p_127 (! (c$ veriT_vr11 veriT_vr12) :named @p_301)) :named @p_306)) :rule cong :premises (t22.t2.t1 t22.t2.t2))
+(step t22.t2.t4 (cl (! (= veriT_vr6 veriT_vr10) :named @p_304)) :rule refl)
+(step t22.t2.t5 (cl (! (= @p_99 (! (run$b @p_301 veriT_vr10) :named @p_275)) :named @p_307)) :rule cong :premises (t22.t2.t3 t22.t2.t4))
+(step t22.t2.t6 (cl (! (= @p_97 (! (is_fail$b @p_275) :named @p_273)) :named @p_308)) :rule cong :premises (t22.t2.t5))
+(step t22.t2.t7 (cl @p_302) :rule refl)
+(step t22.t2.t8 (cl @p_289) :rule refl)
+(step t22.t2.t9 (cl (! (= @p_130 (! (c$ veriT_vr11 veriT_vr13) :named @p_303)) :named @p_311)) :rule cong :premises (t22.t2.t7 t22.t2.t8))
+(step t22.t2.t10 (cl @p_304) :rule refl)
+(step t22.t2.t11 (cl (! (= @p_98 (! (run$b @p_303 veriT_vr10) :named @p_274)) :named @p_312)) :rule cong :premises (t22.t2.t9 t22.t2.t10))
+(step t22.t2.t12 (cl (= @p_133 (! (is_fail$b @p_274) :named @p_305))) :rule cong :premises (t22.t2.t11))
+(step t22.t2.t13 (cl @p_302) :rule refl)
+(step t22.t2.t14 (cl @p_283) :rule refl)
+(step t22.t2.t15 (cl @p_306) :rule cong :premises (t22.t2.t13 t22.t2.t14))
+(step t22.t2.t16 (cl @p_304) :rule refl)
+(step t22.t2.t17 (cl @p_307) :rule cong :premises (t22.t2.t15 t22.t2.t16))
+(step t22.t2.t18 (cl @p_308) :rule cong :premises (t22.t2.t17))
+(step t22.t2.t19 (cl (= @p_138 (! (= @p_305 @p_273) :named @p_309))) :rule cong :premises (t22.t2.t12 t22.t2.t18))
+(anchor :step t22.t2.t20 :args ((:= (veriT_vr9 F$) veriT_vr9) (:= (veriT_vr8 D$) veriT_vr18)))
+(step t22.t2.t20.t1 (cl @p_302) :rule refl)
+(step t22.t2.t20.t2 (cl @p_289) :rule refl)
+(step t22.t2.t20.t3 (cl @p_311) :rule cong :premises (t22.t2.t20.t1 t22.t2.t20.t2))
+(step t22.t2.t20.t4 (cl @p_304) :rule refl)
+(step t22.t2.t20.t5 (cl @p_312) :rule cong :premises (t22.t2.t20.t3 t22.t2.t20.t4))
+(step t22.t2.t20.t6 (cl (! (= veriT_vr8 veriT_vr18) :named @p_314)) :rule refl)
+(step t22.t2.t20.t7 (cl (! (= @p_100 (! (pair$b veriT_vr9 veriT_vr18) :named @p_276)) :named @p_315)) :rule cong :premises (t22.t2.t20.t6))
+(step t22.t2.t20.t8 (cl (= @p_144 (! (is_res$b @p_274 @p_276) :named @p_313))) :rule cong :premises (t22.t2.t20.t5 t22.t2.t20.t7))
+(step t22.t2.t20.t9 (cl @p_302) :rule refl)
+(step t22.t2.t20.t10 (cl @p_283) :rule refl)
+(step t22.t2.t20.t11 (cl @p_306) :rule cong :premises (t22.t2.t20.t9 t22.t2.t20.t10))
+(step t22.t2.t20.t12 (cl @p_304) :rule refl)
+(step t22.t2.t20.t13 (cl @p_307) :rule cong :premises (t22.t2.t20.t11 t22.t2.t20.t12))
+(step t22.t2.t20.t14 (cl @p_314) :rule refl)
+(step t22.t2.t20.t15 (cl @p_315) :rule cong :premises (t22.t2.t20.t14))
+(step t22.t2.t20.t16 (cl (= @p_149 (! (is_res$b @p_275 @p_276) :named @p_316))) :rule cong :premises (t22.t2.t20.t13 t22.t2.t20.t15))
+(step t22.t2.t20.t17 (cl (= @p_151 (! (= @p_313 @p_316) :named @p_317))) :rule cong :premises (t22.t2.t20.t8 t22.t2.t20.t16))
+(step t22.t2.t20 (cl (= @p_140 (! (forall ((veriT_vr9 F$) (veriT_vr18 D$)) @p_317) :named @p_310))) :rule bind)
+(step t22.t2.t21 (cl (= @p_153 (! (and @p_309 @p_310) :named @p_318))) :rule cong :premises (t22.t2.t19 t22.t2.t20))
+(step t22.t2.t22 (cl (= @p_155 (! (or @p_273 @p_318) :named @p_319))) :rule cong :premises (t22.t2.t6 t22.t2.t21))
+(step t22.t2 (cl (= @p_125 (! (forall ((veriT_vr10 D$)) @p_319) :named @p_300))) :rule bind)
+(step t22.t3 (cl (= @p_157 (! (=> @p_277 @p_300) :named @p_320))) :rule cong :premises (t22.t1 t22.t2))
+(step t22 (cl (= @p_160 (! (forall ((veriT_vr11 E$) (veriT_vr12 A_b_c_M_state_fun$) (veriT_vr13 A_b_c_M_state_fun$)) @p_320) :named @p_422))) :rule bind)
+(anchor :step t23 :args ((:= (veriT_vr0 A_b_c_M_state_fun$) veriT_vr19) (:= (veriT_vr1 A_b_c_M_state_fun$) veriT_vr20)))
+(anchor :step t23.t1 :args ((:= (veriT_vr2 A$) veriT_vr21) (:= (veriT_vr3 C$) veriT_vr22)))
+(step t23.t1.t1 (cl (! (= veriT_vr0 veriT_vr19) :named @p_336)) :rule refl)
+(step t23.t1.t2 (cl (! (= veriT_vr2 veriT_vr21) :named @p_332)) :rule refl)
+(step t23.t1.t3 (cl (! (= @p_35 (! (fun_app$ veriT_vr19 veriT_vr21) :named @p_331)) :named @p_337)) :rule cong :premises (t23.t1.t1 t23.t1.t2))
+(step t23.t1.t4 (cl (! (= veriT_vr3 veriT_vr22) :named @p_334)) :rule refl)
+(step t23.t1.t5 (cl (! (= @p_27 (! (run$ @p_331 veriT_vr22) :named @p_323)) :named @p_338)) :rule cong :premises (t23.t1.t3 t23.t1.t4))
+(step t23.t1.t6 (cl (! (= @p_25 (! (is_fail$ @p_323) :named @p_321)) :named @p_339)) :rule cong :premises (t23.t1.t5))
+(step t23.t1.t7 (cl (! (= veriT_vr1 veriT_vr20) :named @p_342)) :rule refl)
+(step t23.t1.t8 (cl @p_332) :rule refl)
+(step t23.t1.t9 (cl (! (= @p_38 (! (fun_app$ veriT_vr20 veriT_vr21) :named @p_333)) :named @p_343)) :rule cong :premises (t23.t1.t7 t23.t1.t8))
+(step t23.t1.t10 (cl @p_334) :rule refl)
+(step t23.t1.t11 (cl (! (= @p_26 (! (run$ @p_333 veriT_vr22) :named @p_322)) :named @p_344)) :rule cong :premises (t23.t1.t9 t23.t1.t10))
+(step t23.t1.t12 (cl (= @p_41 (! (is_fail$ @p_322) :named @p_335))) :rule cong :premises (t23.t1.t11))
+(step t23.t1.t13 (cl @p_336) :rule refl)
+(step t23.t1.t14 (cl @p_332) :rule refl)
+(step t23.t1.t15 (cl @p_337) :rule cong :premises (t23.t1.t13 t23.t1.t14))
+(step t23.t1.t16 (cl @p_334) :rule refl)
+(step t23.t1.t17 (cl @p_338) :rule cong :premises (t23.t1.t15 t23.t1.t16))
+(step t23.t1.t18 (cl @p_339) :rule cong :premises (t23.t1.t17))
+(step t23.t1.t19 (cl (= @p_47 (! (= @p_335 @p_321) :named @p_340))) :rule cong :premises (t23.t1.t12 t23.t1.t18))
+(anchor :step t23.t1.t20 :args ((:= (veriT_vr4 B$) veriT_vr23) (:= (veriT_vr5 C$) veriT_vr24)))
+(step t23.t1.t20.t1 (cl @p_342) :rule refl)
+(step t23.t1.t20.t2 (cl @p_332) :rule refl)
+(step t23.t1.t20.t3 (cl @p_343) :rule cong :premises (t23.t1.t20.t1 t23.t1.t20.t2))
+(step t23.t1.t20.t4 (cl @p_334) :rule refl)
+(step t23.t1.t20.t5 (cl @p_344) :rule cong :premises (t23.t1.t20.t3 t23.t1.t20.t4))
+(step t23.t1.t20.t6 (cl (! (= veriT_vr4 veriT_vr23) :named @p_346)) :rule refl)
+(step t23.t1.t20.t7 (cl (! (= veriT_vr5 veriT_vr24) :named @p_347)) :rule refl)
+(step t23.t1.t20.t8 (cl (! (= @p_28 (! (pair$ veriT_vr23 veriT_vr24) :named @p_324)) :named @p_348)) :rule cong :premises (t23.t1.t20.t6 t23.t1.t20.t7))
+(step t23.t1.t20.t9 (cl (= @p_54 (! (is_res$ @p_322 @p_324) :named @p_345))) :rule cong :premises (t23.t1.t20.t5 t23.t1.t20.t8))
+(step t23.t1.t20.t10 (cl @p_336) :rule refl)
+(step t23.t1.t20.t11 (cl @p_332) :rule refl)
+(step t23.t1.t20.t12 (cl @p_337) :rule cong :premises (t23.t1.t20.t10 t23.t1.t20.t11))
+(step t23.t1.t20.t13 (cl @p_334) :rule refl)
+(step t23.t1.t20.t14 (cl @p_338) :rule cong :premises (t23.t1.t20.t12 t23.t1.t20.t13))
+(step t23.t1.t20.t15 (cl @p_346) :rule refl)
+(step t23.t1.t20.t16 (cl @p_347) :rule refl)
+(step t23.t1.t20.t17 (cl @p_348) :rule cong :premises (t23.t1.t20.t15 t23.t1.t20.t16))
+(step t23.t1.t20.t18 (cl (= @p_59 (! (is_res$ @p_323 @p_324) :named @p_349))) :rule cong :premises (t23.t1.t20.t14 t23.t1.t20.t17))
+(step t23.t1.t20.t19 (cl (= @p_61 (! (= @p_345 @p_349) :named @p_350))) :rule cong :premises (t23.t1.t20.t9 t23.t1.t20.t18))
+(step t23.t1.t20 (cl (= @p_49 (! (forall ((veriT_vr23 B$) (veriT_vr24 C$)) @p_350) :named @p_341))) :rule bind)
+(step t23.t1.t21 (cl (= @p_63 (! (and @p_340 @p_341) :named @p_351))) :rule cong :premises (t23.t1.t19 t23.t1.t20))
+(step t23.t1.t22 (cl (= @p_65 (! (or @p_321 @p_351) :named @p_352))) :rule cong :premises (t23.t1.t6 t23.t1.t21))
+(step t23.t1 (cl (= @p_33 (! (forall ((veriT_vr21 A$) (veriT_vr22 C$)) @p_352) :named @p_330))) :rule bind)
+(anchor :step t23.t2 :args ((:= (veriT_vr6 D$) veriT_vr25)))
+(step t23.t2.t1 (cl @p_336) :rule refl)
+(step t23.t2.t2 (cl (! (= @p_69 (! (b$ veriT_vr19) :named @p_354)) :named @p_356)) :rule cong :premises (t23.t2.t1))
+(step t23.t2.t3 (cl (! (= veriT_vr6 veriT_vr25) :named @p_357)) :rule refl)
+(step t23.t2.t4 (cl (! (= @p_31 (! (run$a @p_354 veriT_vr25) :named @p_325)) :named @p_358)) :rule cong :premises (t23.t2.t2 t23.t2.t3))
+(step t23.t2.t5 (cl (! (= @p_29 (! (is_fail$a @p_325) :named @p_327)) :named @p_380)) :rule cong :premises (t23.t2.t4))
+(anchor :step t23.t2.t6 :args ((:= (veriT_vr7 E$) veriT_vr26) (:= (veriT_vr8 D$) veriT_vr27)))
+(step t23.t2.t6.t1 (cl @p_336) :rule refl)
+(step t23.t2.t6.t2 (cl @p_356) :rule cong :premises (t23.t2.t6.t1))
+(step t23.t2.t6.t3 (cl @p_357) :rule refl)
+(step t23.t2.t6.t4 (cl @p_358) :rule cong :premises (t23.t2.t6.t2 t23.t2.t6.t3))
+(step t23.t2.t6.t5 (cl (! (= veriT_vr7 veriT_vr26) :named @p_361)) :rule refl)
+(step t23.t2.t6.t6 (cl (! (= veriT_vr8 veriT_vr27) :named @p_363)) :rule refl)
+(step t23.t2.t6.t7 (cl (= @p_32 (! (pair$a veriT_vr26 veriT_vr27) :named @p_359))) :rule cong :premises (t23.t2.t6.t5 t23.t2.t6.t6))
+(step t23.t2.t6.t8 (cl (= @p_87 (! (is_res$a @p_325 @p_359) :named @p_360))) :rule cong :premises (t23.t2.t6.t4 t23.t2.t6.t7))
+(step t23.t2.t6.t9 (cl @p_361) :rule refl)
+(step t23.t2.t6.t10 (cl @p_336) :rule refl)
+(step t23.t2.t6.t11 (cl (= @p_127 (! (c$ veriT_vr26 veriT_vr19) :named @p_362))) :rule cong :premises (t23.t2.t6.t9 t23.t2.t6.t10))
+(step t23.t2.t6.t12 (cl @p_363) :rule refl)
+(step t23.t2.t6.t13 (cl (= @p_178 (! (run$b @p_362 veriT_vr27) :named @p_364))) :rule cong :premises (t23.t2.t6.t11 t23.t2.t6.t12))
+(step t23.t2.t6.t14 (cl (= @p_180 (! (is_fail$b @p_364) :named @p_365))) :rule cong :premises (t23.t2.t6.t13))
+(step t23.t2.t6.t15 (cl (= @p_182 (! (and @p_360 @p_365) :named @p_366))) :rule cong :premises (t23.t2.t6.t8 t23.t2.t6.t14))
+(step t23.t2.t6 (cl (= @p_162 (! (exists ((veriT_vr26 E$) (veriT_vr27 D$)) @p_366) :named @p_355))) :rule bind)
+(step t23.t2.t7 (cl @p_342) :rule refl)
+(step t23.t2.t8 (cl (! (= @p_71 (! (b$ veriT_vr20) :named @p_367)) :named @p_369)) :rule cong :premises (t23.t2.t7))
+(step t23.t2.t9 (cl @p_357) :rule refl)
+(step t23.t2.t10 (cl (! (= @p_30 (! (run$a @p_367 veriT_vr25) :named @p_326)) :named @p_370)) :rule cong :premises (t23.t2.t8 t23.t2.t9))
+(step t23.t2.t11 (cl (! (= @p_73 (! (is_fail$a @p_326) :named @p_328)) :named @p_393)) :rule cong :premises (t23.t2.t10))
+(anchor :step t23.t2.t12 :args ((:= (veriT_vr7 E$) veriT_vr28) (:= (veriT_vr8 D$) veriT_vr29)))
+(step t23.t2.t12.t1 (cl @p_342) :rule refl)
+(step t23.t2.t12.t2 (cl @p_369) :rule cong :premises (t23.t2.t12.t1))
+(step t23.t2.t12.t3 (cl @p_357) :rule refl)
+(step t23.t2.t12.t4 (cl @p_370) :rule cong :premises (t23.t2.t12.t2 t23.t2.t12.t3))
+(step t23.t2.t12.t5 (cl (! (= veriT_vr7 veriT_vr28) :named @p_373)) :rule refl)
+(step t23.t2.t12.t6 (cl (! (= veriT_vr8 veriT_vr29) :named @p_375)) :rule refl)
+(step t23.t2.t12.t7 (cl (= @p_32 (! (pair$a veriT_vr28 veriT_vr29) :named @p_371))) :rule cong :premises (t23.t2.t12.t5 t23.t2.t12.t6))
+(step t23.t2.t12.t8 (cl (= @p_83 (! (is_res$a @p_326 @p_371) :named @p_372))) :rule cong :premises (t23.t2.t12.t4 t23.t2.t12.t7))
+(step t23.t2.t12.t9 (cl @p_373) :rule refl)
+(step t23.t2.t12.t10 (cl @p_342) :rule refl)
+(step t23.t2.t12.t11 (cl (= @p_130 (! (c$ veriT_vr28 veriT_vr20) :named @p_374))) :rule cong :premises (t23.t2.t12.t9 t23.t2.t12.t10))
+(step t23.t2.t12.t12 (cl @p_375) :rule refl)
+(step t23.t2.t12.t13 (cl (= @p_189 (! (run$b @p_374 veriT_vr29) :named @p_376))) :rule cong :premises (t23.t2.t12.t11 t23.t2.t12.t12))
+(step t23.t2.t12.t14 (cl (= @p_191 (! (is_fail$b @p_376) :named @p_377))) :rule cong :premises (t23.t2.t12.t13))
+(step t23.t2.t12.t15 (cl (= @p_193 (! (and @p_372 @p_377) :named @p_378))) :rule cong :premises (t23.t2.t12.t8 t23.t2.t12.t14))
+(step t23.t2.t12 (cl (= @p_185 (! (exists ((veriT_vr28 E$) (veriT_vr29 D$)) @p_378) :named @p_368))) :rule bind)
+(step t23.t2.t13 (cl (= @p_195 (! (or @p_328 @p_368) :named @p_379))) :rule cong :premises (t23.t2.t11 t23.t2.t12))
+(step t23.t2.t14 (cl @p_336) :rule refl)
+(step t23.t2.t15 (cl @p_356) :rule cong :premises (t23.t2.t14))
+(step t23.t2.t16 (cl @p_357) :rule refl)
+(step t23.t2.t17 (cl @p_358) :rule cong :premises (t23.t2.t15 t23.t2.t16))
+(step t23.t2.t18 (cl @p_380) :rule cong :premises (t23.t2.t17))
+(anchor :step t23.t2.t19 :args ((:= (veriT_vr7 E$) veriT_vr30) (:= (veriT_vr8 D$) veriT_vr31)))
+(step t23.t2.t19.t1 (cl @p_336) :rule refl)
+(step t23.t2.t19.t2 (cl @p_356) :rule cong :premises (t23.t2.t19.t1))
+(step t23.t2.t19.t3 (cl @p_357) :rule refl)
+(step t23.t2.t19.t4 (cl @p_358) :rule cong :premises (t23.t2.t19.t2 t23.t2.t19.t3))
+(step t23.t2.t19.t5 (cl (! (= veriT_vr7 veriT_vr30) :named @p_384)) :rule refl)
+(step t23.t2.t19.t6 (cl (! (= veriT_vr8 veriT_vr31) :named @p_386)) :rule refl)
+(step t23.t2.t19.t7 (cl (= @p_32 (! (pair$a veriT_vr30 veriT_vr31) :named @p_382))) :rule cong :premises (t23.t2.t19.t5 t23.t2.t19.t6))
+(step t23.t2.t19.t8 (cl (= @p_87 (! (is_res$a @p_325 @p_382) :named @p_383))) :rule cong :premises (t23.t2.t19.t4 t23.t2.t19.t7))
+(step t23.t2.t19.t9 (cl @p_384) :rule refl)
+(step t23.t2.t19.t10 (cl @p_336) :rule refl)
+(step t23.t2.t19.t11 (cl (= @p_127 (! (c$ veriT_vr30 veriT_vr19) :named @p_385))) :rule cong :premises (t23.t2.t19.t9 t23.t2.t19.t10))
+(step t23.t2.t19.t12 (cl @p_386) :rule refl)
+(step t23.t2.t19.t13 (cl (= @p_178 (! (run$b @p_385 veriT_vr31) :named @p_387))) :rule cong :premises (t23.t2.t19.t11 t23.t2.t19.t12))
+(step t23.t2.t19.t14 (cl (= @p_180 (! (is_fail$b @p_387) :named @p_388))) :rule cong :premises (t23.t2.t19.t13))
+(step t23.t2.t19.t15 (cl (= @p_182 (! (and @p_383 @p_388) :named @p_389))) :rule cong :premises (t23.t2.t19.t8 t23.t2.t19.t14))
+(step t23.t2.t19 (cl (= @p_162 (! (exists ((veriT_vr30 E$) (veriT_vr31 D$)) @p_389) :named @p_381))) :rule bind)
+(step t23.t2.t20 (cl (= @p_202 (! (or @p_327 @p_381) :named @p_390))) :rule cong :premises (t23.t2.t18 t23.t2.t19))
+(step t23.t2.t21 (cl (= @p_204 (! (= @p_379 @p_390) :named @p_391))) :rule cong :premises (t23.t2.t13 t23.t2.t20))
+(anchor :step t23.t2.t22 :args ((:= (veriT_vr9 F$) veriT_vr32) (:= (veriT_vr8 D$) veriT_vr33)))
+(step t23.t2.t22.t1 (cl @p_342) :rule refl)
+(step t23.t2.t22.t2 (cl @p_369) :rule cong :premises (t23.t2.t22.t1))
+(step t23.t2.t22.t3 (cl @p_357) :rule refl)
+(step t23.t2.t22.t4 (cl @p_370) :rule cong :premises (t23.t2.t22.t2 t23.t2.t22.t3))
+(step t23.t2.t22.t5 (cl @p_393) :rule cong :premises (t23.t2.t22.t4))
+(anchor :step t23.t2.t22.t6 :args ((:= (veriT_vr7 E$) veriT_vr34) (:= (veriT_vr10 D$) veriT_vr35)))
+(step t23.t2.t22.t6.t1 (cl @p_342) :rule refl)
+(step t23.t2.t22.t6.t2 (cl @p_369) :rule cong :premises (t23.t2.t22.t6.t1))
+(step t23.t2.t22.t6.t3 (cl @p_357) :rule refl)
+(step t23.t2.t22.t6.t4 (cl @p_370) :rule cong :premises (t23.t2.t22.t6.t2 t23.t2.t22.t6.t3))
+(step t23.t2.t22.t6.t5 (cl (! (= veriT_vr7 veriT_vr34) :named @p_397)) :rule refl)
+(step t23.t2.t22.t6.t6 (cl (! (= veriT_vr10 veriT_vr35) :named @p_399)) :rule refl)
+(step t23.t2.t22.t6.t7 (cl (= @p_163 (! (pair$a veriT_vr34 veriT_vr35) :named @p_395))) :rule cong :premises (t23.t2.t22.t6.t5 t23.t2.t22.t6.t6))
+(step t23.t2.t22.t6.t8 (cl (= @p_210 (! (is_res$a @p_326 @p_395) :named @p_396))) :rule cong :premises (t23.t2.t22.t6.t4 t23.t2.t22.t6.t7))
+(step t23.t2.t22.t6.t9 (cl @p_397) :rule refl)
+(step t23.t2.t22.t6.t10 (cl @p_342) :rule refl)
+(step t23.t2.t22.t6.t11 (cl (= @p_130 (! (c$ veriT_vr34 veriT_vr20) :named @p_398))) :rule cong :premises (t23.t2.t22.t6.t9 t23.t2.t22.t6.t10))
+(step t23.t2.t22.t6.t12 (cl @p_399) :rule refl)
+(step t23.t2.t22.t6.t13 (cl (= @p_215 (! (run$b @p_398 veriT_vr35) :named @p_400))) :rule cong :premises (t23.t2.t22.t6.t11 t23.t2.t22.t6.t12))
+(step t23.t2.t22.t6.t14 (cl (! (= veriT_vr9 veriT_vr32) :named @p_411)) :rule refl)
+(step t23.t2.t22.t6.t15 (cl (! (= veriT_vr8 veriT_vr33) :named @p_412)) :rule refl)
+(step t23.t2.t22.t6.t16 (cl (! (= @p_100 (! (pair$b veriT_vr32 veriT_vr33) :named @p_329)) :named @p_413)) :rule cong :premises (t23.t2.t22.t6.t14 t23.t2.t22.t6.t15))
+(step t23.t2.t22.t6.t17 (cl (= @p_217 (! (is_res$b @p_400 @p_329) :named @p_401))) :rule cong :premises (t23.t2.t22.t6.t13 t23.t2.t22.t6.t16))
+(step t23.t2.t22.t6.t18 (cl (= @p_219 (! (and @p_396 @p_401) :named @p_402))) :rule cong :premises (t23.t2.t22.t6.t8 t23.t2.t22.t6.t17))
+(step t23.t2.t22.t6 (cl (= @p_208 (! (exists ((veriT_vr34 E$) (veriT_vr35 D$)) @p_402) :named @p_394))) :rule bind)
+(step t23.t2.t22.t7 (cl (= @p_221 (! (or @p_328 @p_394) :named @p_403))) :rule cong :premises (t23.t2.t22.t5 t23.t2.t22.t6))
+(step t23.t2.t22.t8 (cl @p_336) :rule refl)
+(step t23.t2.t22.t9 (cl @p_356) :rule cong :premises (t23.t2.t22.t8))
+(step t23.t2.t22.t10 (cl @p_357) :rule refl)
+(step t23.t2.t22.t11 (cl @p_358) :rule cong :premises (t23.t2.t22.t9 t23.t2.t22.t10))
+(step t23.t2.t22.t12 (cl @p_380) :rule cong :premises (t23.t2.t22.t11))
+(anchor :step t23.t2.t22.t13 :args ((:= (veriT_vr7 E$) veriT_vr36) (:= (veriT_vr10 D$) veriT_vr37)))
+(step t23.t2.t22.t13.t1 (cl @p_336) :rule refl)
+(step t23.t2.t22.t13.t2 (cl @p_356) :rule cong :premises (t23.t2.t22.t13.t1))
+(step t23.t2.t22.t13.t3 (cl @p_357) :rule refl)
+(step t23.t2.t22.t13.t4 (cl @p_358) :rule cong :premises (t23.t2.t22.t13.t2 t23.t2.t22.t13.t3))
+(step t23.t2.t22.t13.t5 (cl (! (= veriT_vr7 veriT_vr36) :named @p_407)) :rule refl)
+(step t23.t2.t22.t13.t6 (cl (! (= veriT_vr10 veriT_vr37) :named @p_409)) :rule refl)
+(step t23.t2.t22.t13.t7 (cl (= @p_163 (! (pair$a veriT_vr36 veriT_vr37) :named @p_405))) :rule cong :premises (t23.t2.t22.t13.t5 t23.t2.t22.t13.t6))
+(step t23.t2.t22.t13.t8 (cl (= @p_226 (! (is_res$a @p_325 @p_405) :named @p_406))) :rule cong :premises (t23.t2.t22.t13.t4 t23.t2.t22.t13.t7))
+(step t23.t2.t22.t13.t9 (cl @p_407) :rule refl)
+(step t23.t2.t22.t13.t10 (cl @p_336) :rule refl)
+(step t23.t2.t22.t13.t11 (cl (= @p_127 (! (c$ veriT_vr36 veriT_vr19) :named @p_408))) :rule cong :premises (t23.t2.t22.t13.t9 t23.t2.t22.t13.t10))
+(step t23.t2.t22.t13.t12 (cl @p_409) :rule refl)
+(step t23.t2.t22.t13.t13 (cl (= @p_229 (! (run$b @p_408 veriT_vr37) :named @p_410))) :rule cong :premises (t23.t2.t22.t13.t11 t23.t2.t22.t13.t12))
+(step t23.t2.t22.t13.t14 (cl @p_411) :rule refl)
+(step t23.t2.t22.t13.t15 (cl @p_412) :rule refl)
+(step t23.t2.t22.t13.t16 (cl @p_413) :rule cong :premises (t23.t2.t22.t13.t14 t23.t2.t22.t13.t15))
+(step t23.t2.t22.t13.t17 (cl (= @p_233 (! (is_res$b @p_410 @p_329) :named @p_414))) :rule cong :premises (t23.t2.t22.t13.t13 t23.t2.t22.t13.t16))
+(step t23.t2.t22.t13.t18 (cl (= @p_235 (! (and @p_406 @p_414) :named @p_415))) :rule cong :premises (t23.t2.t22.t13.t8 t23.t2.t22.t13.t17))
+(step t23.t2.t22.t13 (cl (= @p_223 (! (exists ((veriT_vr36 E$) (veriT_vr37 D$)) @p_415) :named @p_404))) :rule bind)
+(step t23.t2.t22.t14 (cl (= @p_237 (! (or @p_327 @p_404) :named @p_416))) :rule cong :premises (t23.t2.t22.t12 t23.t2.t22.t13))
+(step t23.t2.t22.t15 (cl (= @p_239 (! (= @p_403 @p_416) :named @p_417))) :rule cong :premises (t23.t2.t22.t7 t23.t2.t22.t14))
+(step t23.t2.t22 (cl (= @p_206 (! (forall ((veriT_vr32 F$) (veriT_vr33 D$)) @p_417) :named @p_392))) :rule bind)
+(step t23.t2.t23 (cl (= @p_241 (! (and @p_391 @p_392) :named @p_418))) :rule cong :premises (t23.t2.t21 t23.t2.t22))
+(step t23.t2.t24 (cl (= @p_262 (! (or @p_327 @p_355 @p_418) :named @p_419))) :rule cong :premises (t23.t2.t5 t23.t2.t6 t23.t2.t23))
+(step t23.t2 (cl (= @p_261 (! (forall ((veriT_vr25 D$)) @p_419) :named @p_353))) :rule bind)
+(step t23.t3 (cl (= @p_263 (! (=> @p_330 @p_353) :named @p_420))) :rule cong :premises (t23.t1 t23.t2))
+(step t23 (cl (= @p_265 (! (forall ((veriT_vr19 A_b_c_M_state_fun$) (veriT_vr20 A_b_c_M_state_fun$)) @p_420) :named @p_421))) :rule bind)
+(step t24 (cl (= @p_266 (! (not @p_421) :named @p_423))) :rule cong :premises (t23))
+(step t25 (cl (! (= @p_268 (! (and @p_159 @p_422 @p_423) :named @p_425)) :named @p_424)) :rule cong :premises (t22 t24))
+(step t26 (cl (not @p_424) (not @p_268) @p_425) :rule equiv_pos2)
+(step t27 (cl @p_425) :rule th_resolution :premises (t21 t25 t26))
+(anchor :step t28 :args ((veriT_vr19 A_b_c_M_state_fun$) (veriT_vr20 A_b_c_M_state_fun$)))
+(anchor :step t28.t1 :args ((veriT_vr25 D$)))
+(step t28.t1.t1 (cl (= @p_391 (! (and (! (=> @p_379 @p_390) :named @p_612) (! (=> @p_390 @p_379) :named @p_635)) :named @p_427))) :rule connective_def)
+(anchor :step t28.t1.t2 :args ((veriT_vr32 F$) (veriT_vr33 D$)))
+(step t28.t1.t2.t1 (cl (= @p_417 (! (and (! (=> @p_403 @p_416) :named @p_662) (! (=> @p_416 @p_403) :named @p_684)) :named @p_429))) :rule connective_def)
+(step t28.t1.t2 (cl (= @p_392 (! (forall ((veriT_vr32 F$) (veriT_vr33 D$)) @p_429) :named @p_428))) :rule bind)
+(step t28.t1.t3 (cl (= @p_418 (! (and @p_427 @p_428) :named @p_430))) :rule cong :premises (t28.t1.t1 t28.t1.t2))
+(step t28.t1.t4 (cl (= @p_419 (! (or @p_327 @p_355 @p_430) :named @p_431))) :rule cong :premises (t28.t1.t3))
+(step t28.t1 (cl (= @p_353 (! (forall ((veriT_vr25 D$)) @p_431) :named @p_426))) :rule bind)
+(step t28.t2 (cl (= @p_420 (! (=> @p_330 @p_426) :named @p_432))) :rule cong :premises (t28.t1))
+(step t28 (cl (= @p_421 (! (forall ((veriT_vr19 A_b_c_M_state_fun$) (veriT_vr20 A_b_c_M_state_fun$)) @p_432) :named @p_433))) :rule bind)
+(step t29 (cl (= @p_423 (! (not @p_433) :named @p_434))) :rule cong :premises (t28))
+(step t30 (cl (! (= @p_425 (! (and @p_159 @p_422 @p_434) :named @p_436)) :named @p_435)) :rule cong :premises (t29))
+(step t31 (cl (not @p_435) (not @p_425) @p_436) :rule equiv_pos2)
+(step t32 (cl @p_436) :rule th_resolution :premises (t27 t30 t31))
+(anchor :step t33 :args ((:= (veriT_vr0 A_b_c_M_state_fun$) veriT_vr38) (:= (veriT_vr1 A_b_c_M_state_fun$) veriT_vr39)))
+(anchor :step t33.t1 :args ((:= (veriT_vr2 A$) veriT_vr40) (:= (veriT_vr3 C$) veriT_vr41)))
+(step t33.t1.t1 (cl (! (= veriT_vr0 veriT_vr38) :named @p_451)) :rule refl)
+(step t33.t1.t2 (cl (! (= veriT_vr2 veriT_vr40) :named @p_447)) :rule refl)
+(step t33.t1.t3 (cl (! (= @p_35 (! (fun_app$ veriT_vr38 veriT_vr40) :named @p_446)) :named @p_452)) :rule cong :premises (t33.t1.t1 t33.t1.t2))
+(step t33.t1.t4 (cl (! (= veriT_vr3 veriT_vr41) :named @p_449)) :rule refl)
+(step t33.t1.t5 (cl (! (= @p_27 (! (run$ @p_446 veriT_vr41) :named @p_439)) :named @p_453)) :rule cong :premises (t33.t1.t3 t33.t1.t4))
+(step t33.t1.t6 (cl (! (= @p_25 (! (is_fail$ @p_439) :named @p_437)) :named @p_454)) :rule cong :premises (t33.t1.t5))
+(step t33.t1.t7 (cl (! (= veriT_vr1 veriT_vr39) :named @p_457)) :rule refl)
+(step t33.t1.t8 (cl @p_447) :rule refl)
+(step t33.t1.t9 (cl (! (= @p_38 (! (fun_app$ veriT_vr39 veriT_vr40) :named @p_448)) :named @p_458)) :rule cong :premises (t33.t1.t7 t33.t1.t8))
+(step t33.t1.t10 (cl @p_449) :rule refl)
+(step t33.t1.t11 (cl (! (= @p_26 (! (run$ @p_448 veriT_vr41) :named @p_438)) :named @p_459)) :rule cong :premises (t33.t1.t9 t33.t1.t10))
+(step t33.t1.t12 (cl (= @p_41 (! (is_fail$ @p_438) :named @p_450))) :rule cong :premises (t33.t1.t11))
+(step t33.t1.t13 (cl @p_451) :rule refl)
+(step t33.t1.t14 (cl @p_447) :rule refl)
+(step t33.t1.t15 (cl @p_452) :rule cong :premises (t33.t1.t13 t33.t1.t14))
+(step t33.t1.t16 (cl @p_449) :rule refl)
+(step t33.t1.t17 (cl @p_453) :rule cong :premises (t33.t1.t15 t33.t1.t16))
+(step t33.t1.t18 (cl @p_454) :rule cong :premises (t33.t1.t17))
+(step t33.t1.t19 (cl (= @p_47 (! (= @p_450 @p_437) :named @p_455))) :rule cong :premises (t33.t1.t12 t33.t1.t18))
+(anchor :step t33.t1.t20 :args ((:= (veriT_vr4 B$) veriT_vr42) (:= (veriT_vr5 C$) veriT_vr43)))
+(step t33.t1.t20.t1 (cl @p_457) :rule refl)
+(step t33.t1.t20.t2 (cl @p_447) :rule refl)
+(step t33.t1.t20.t3 (cl @p_458) :rule cong :premises (t33.t1.t20.t1 t33.t1.t20.t2))
+(step t33.t1.t20.t4 (cl @p_449) :rule refl)
+(step t33.t1.t20.t5 (cl @p_459) :rule cong :premises (t33.t1.t20.t3 t33.t1.t20.t4))
+(step t33.t1.t20.t6 (cl (! (= veriT_vr4 veriT_vr42) :named @p_461)) :rule refl)
+(step t33.t1.t20.t7 (cl (! (= veriT_vr5 veriT_vr43) :named @p_462)) :rule refl)
+(step t33.t1.t20.t8 (cl (! (= @p_28 (! (pair$ veriT_vr42 veriT_vr43) :named @p_440)) :named @p_463)) :rule cong :premises (t33.t1.t20.t6 t33.t1.t20.t7))
+(step t33.t1.t20.t9 (cl (= @p_54 (! (is_res$ @p_438 @p_440) :named @p_460))) :rule cong :premises (t33.t1.t20.t5 t33.t1.t20.t8))
+(step t33.t1.t20.t10 (cl @p_451) :rule refl)
+(step t33.t1.t20.t11 (cl @p_447) :rule refl)
+(step t33.t1.t20.t12 (cl @p_452) :rule cong :premises (t33.t1.t20.t10 t33.t1.t20.t11))
+(step t33.t1.t20.t13 (cl @p_449) :rule refl)
+(step t33.t1.t20.t14 (cl @p_453) :rule cong :premises (t33.t1.t20.t12 t33.t1.t20.t13))
+(step t33.t1.t20.t15 (cl @p_461) :rule refl)
+(step t33.t1.t20.t16 (cl @p_462) :rule refl)
+(step t33.t1.t20.t17 (cl @p_463) :rule cong :premises (t33.t1.t20.t15 t33.t1.t20.t16))
+(step t33.t1.t20.t18 (cl (= @p_59 (! (is_res$ @p_439 @p_440) :named @p_464))) :rule cong :premises (t33.t1.t20.t14 t33.t1.t20.t17))
+(step t33.t1.t20.t19 (cl (= @p_61 (! (= @p_460 @p_464) :named @p_465))) :rule cong :premises (t33.t1.t20.t9 t33.t1.t20.t18))
+(step t33.t1.t20 (cl (= @p_49 (! (forall ((veriT_vr42 B$) (veriT_vr43 C$)) @p_465) :named @p_456))) :rule bind)
+(step t33.t1.t21 (cl (= @p_63 (! (and @p_455 @p_456) :named @p_466))) :rule cong :premises (t33.t1.t19 t33.t1.t20))
+(step t33.t1.t22 (cl (= @p_65 (! (or @p_437 @p_466) :named @p_467))) :rule cong :premises (t33.t1.t6 t33.t1.t21))
+(step t33.t1 (cl (= @p_33 (! (forall ((veriT_vr40 A$) (veriT_vr41 C$)) @p_467) :named @p_445))) :rule bind)
+(anchor :step t33.t2 :args ((:= (veriT_vr6 D$) veriT_vr44)))
+(step t33.t2.t1 (cl @p_451) :rule refl)
+(step t33.t2.t2 (cl (! (= @p_69 (! (b$ veriT_vr38) :named @p_469)) :named @p_473)) :rule cong :premises (t33.t2.t1))
+(step t33.t2.t3 (cl (! (= veriT_vr6 veriT_vr44) :named @p_471)) :rule refl)
+(step t33.t2.t4 (cl (! (= @p_31 (! (run$a @p_469 veriT_vr44) :named @p_443)) :named @p_474)) :rule cong :premises (t33.t2.t2 t33.t2.t3))
+(step t33.t2.t5 (cl (! (= @p_29 (! (is_fail$a @p_443) :named @p_441)) :named @p_475)) :rule cong :premises (t33.t2.t4))
+(step t33.t2.t6 (cl @p_457) :rule refl)
+(step t33.t2.t7 (cl (! (= @p_71 (! (b$ veriT_vr39) :named @p_470)) :named @p_478)) :rule cong :premises (t33.t2.t6))
+(step t33.t2.t8 (cl @p_471) :rule refl)
+(step t33.t2.t9 (cl (! (= @p_30 (! (run$a @p_470 veriT_vr44) :named @p_442)) :named @p_479)) :rule cong :premises (t33.t2.t7 t33.t2.t8))
+(step t33.t2.t10 (cl (= @p_73 (! (is_fail$a @p_442) :named @p_472))) :rule cong :premises (t33.t2.t9))
+(step t33.t2.t11 (cl @p_451) :rule refl)
+(step t33.t2.t12 (cl @p_473) :rule cong :premises (t33.t2.t11))
+(step t33.t2.t13 (cl @p_471) :rule refl)
+(step t33.t2.t14 (cl @p_474) :rule cong :premises (t33.t2.t12 t33.t2.t13))
+(step t33.t2.t15 (cl @p_475) :rule cong :premises (t33.t2.t14))
+(step t33.t2.t16 (cl (= @p_78 (! (= @p_472 @p_441) :named @p_476))) :rule cong :premises (t33.t2.t10 t33.t2.t15))
+(anchor :step t33.t2.t17 :args ((:= (veriT_vr7 E$) veriT_vr45) (:= (veriT_vr8 D$) veriT_vr46)))
+(step t33.t2.t17.t1 (cl @p_457) :rule refl)
+(step t33.t2.t17.t2 (cl @p_478) :rule cong :premises (t33.t2.t17.t1))
+(step t33.t2.t17.t3 (cl @p_471) :rule refl)
+(step t33.t2.t17.t4 (cl @p_479) :rule cong :premises (t33.t2.t17.t2 t33.t2.t17.t3))
+(step t33.t2.t17.t5 (cl (! (= veriT_vr7 veriT_vr45) :named @p_481)) :rule refl)
+(step t33.t2.t17.t6 (cl (! (= veriT_vr8 veriT_vr46) :named @p_482)) :rule refl)
+(step t33.t2.t17.t7 (cl (! (= @p_32 (! (pair$a veriT_vr45 veriT_vr46) :named @p_444)) :named @p_483)) :rule cong :premises (t33.t2.t17.t5 t33.t2.t17.t6))
+(step t33.t2.t17.t8 (cl (= @p_83 (! (is_res$a @p_442 @p_444) :named @p_480))) :rule cong :premises (t33.t2.t17.t4 t33.t2.t17.t7))
+(step t33.t2.t17.t9 (cl @p_451) :rule refl)
+(step t33.t2.t17.t10 (cl @p_473) :rule cong :premises (t33.t2.t17.t9))
+(step t33.t2.t17.t11 (cl @p_471) :rule refl)
+(step t33.t2.t17.t12 (cl @p_474) :rule cong :premises (t33.t2.t17.t10 t33.t2.t17.t11))
+(step t33.t2.t17.t13 (cl @p_481) :rule refl)
+(step t33.t2.t17.t14 (cl @p_482) :rule refl)
+(step t33.t2.t17.t15 (cl @p_483) :rule cong :premises (t33.t2.t17.t13 t33.t2.t17.t14))
+(step t33.t2.t17.t16 (cl (= @p_87 (! (is_res$a @p_443 @p_444) :named @p_484))) :rule cong :premises (t33.t2.t17.t12 t33.t2.t17.t15))
+(step t33.t2.t17.t17 (cl (= @p_89 (! (= @p_480 @p_484) :named @p_485))) :rule cong :premises (t33.t2.t17.t8 t33.t2.t17.t16))
+(step t33.t2.t17 (cl (= @p_80 (! (forall ((veriT_vr45 E$) (veriT_vr46 D$)) @p_485) :named @p_477))) :rule bind)
+(step t33.t2.t18 (cl (= @p_91 (! (and @p_476 @p_477) :named @p_486))) :rule cong :premises (t33.t2.t16 t33.t2.t17))
+(step t33.t2.t19 (cl (= @p_93 (! (or @p_441 @p_486) :named @p_487))) :rule cong :premises (t33.t2.t5 t33.t2.t18))
+(step t33.t2 (cl (= @p_67 (! (forall ((veriT_vr44 D$)) @p_487) :named @p_468))) :rule bind)
+(step t33.t3 (cl (= @p_95 (! (=> @p_445 @p_468) :named @p_488))) :rule cong :premises (t33.t1 t33.t2))
+(step t33 (cl (= @p_159 (! (forall ((veriT_vr38 A_b_c_M_state_fun$) (veriT_vr39 A_b_c_M_state_fun$)) @p_488) :named @p_691))) :rule bind)
+(anchor :step t34 :args ((:= (veriT_vr11 E$) veriT_vr47) (:= (veriT_vr12 A_b_c_M_state_fun$) veriT_vr48) (:= (veriT_vr13 A_b_c_M_state_fun$) veriT_vr49)))
+(anchor :step t34.t1 :args ((:= (veriT_vr14 A$) veriT_vr50) (:= (veriT_vr15 C$) veriT_vr51)))
+(step t34.t1.t1 (cl (! (= veriT_vr12 veriT_vr48) :named @p_503)) :rule refl)
+(step t34.t1.t2 (cl (! (= veriT_vr14 veriT_vr50) :named @p_499)) :rule refl)
+(step t34.t1.t3 (cl (! (= @p_278 (! (fun_app$ veriT_vr48 veriT_vr50) :named @p_498)) :named @p_504)) :rule cong :premises (t34.t1.t1 t34.t1.t2))
+(step t34.t1.t4 (cl (! (= veriT_vr15 veriT_vr51) :named @p_501)) :rule refl)
+(step t34.t1.t5 (cl (! (= @p_271 (! (run$ @p_498 veriT_vr51) :named @p_491)) :named @p_505)) :rule cong :premises (t34.t1.t3 t34.t1.t4))
+(step t34.t1.t6 (cl (! (= @p_269 (! (is_fail$ @p_491) :named @p_489)) :named @p_506)) :rule cong :premises (t34.t1.t5))
+(step t34.t1.t7 (cl (! (= veriT_vr13 veriT_vr49) :named @p_509)) :rule refl)
+(step t34.t1.t8 (cl @p_499) :rule refl)
+(step t34.t1.t9 (cl (! (= @p_280 (! (fun_app$ veriT_vr49 veriT_vr50) :named @p_500)) :named @p_510)) :rule cong :premises (t34.t1.t7 t34.t1.t8))
+(step t34.t1.t10 (cl @p_501) :rule refl)
+(step t34.t1.t11 (cl (! (= @p_270 (! (run$ @p_500 veriT_vr51) :named @p_490)) :named @p_511)) :rule cong :premises (t34.t1.t9 t34.t1.t10))
+(step t34.t1.t12 (cl (= @p_282 (! (is_fail$ @p_490) :named @p_502))) :rule cong :premises (t34.t1.t11))
+(step t34.t1.t13 (cl @p_503) :rule refl)
+(step t34.t1.t14 (cl @p_499) :rule refl)
+(step t34.t1.t15 (cl @p_504) :rule cong :premises (t34.t1.t13 t34.t1.t14))
+(step t34.t1.t16 (cl @p_501) :rule refl)
+(step t34.t1.t17 (cl @p_505) :rule cong :premises (t34.t1.t15 t34.t1.t16))
+(step t34.t1.t18 (cl @p_506) :rule cong :premises (t34.t1.t17))
+(step t34.t1.t19 (cl (= @p_287 (! (= @p_502 @p_489) :named @p_507))) :rule cong :premises (t34.t1.t12 t34.t1.t18))
+(anchor :step t34.t1.t20 :args ((:= (veriT_vr16 B$) veriT_vr52) (:= (veriT_vr17 C$) veriT_vr53)))
+(step t34.t1.t20.t1 (cl @p_509) :rule refl)
+(step t34.t1.t20.t2 (cl @p_499) :rule refl)
+(step t34.t1.t20.t3 (cl @p_510) :rule cong :premises (t34.t1.t20.t1 t34.t1.t20.t2))
+(step t34.t1.t20.t4 (cl @p_501) :rule refl)
+(step t34.t1.t20.t5 (cl @p_511) :rule cong :premises (t34.t1.t20.t3 t34.t1.t20.t4))
+(step t34.t1.t20.t6 (cl (! (= veriT_vr16 veriT_vr52) :named @p_513)) :rule refl)
+(step t34.t1.t20.t7 (cl (! (= veriT_vr17 veriT_vr53) :named @p_514)) :rule refl)
+(step t34.t1.t20.t8 (cl (! (= @p_272 (! (pair$ veriT_vr52 veriT_vr53) :named @p_492)) :named @p_515)) :rule cong :premises (t34.t1.t20.t6 t34.t1.t20.t7))
+(step t34.t1.t20.t9 (cl (= @p_292 (! (is_res$ @p_490 @p_492) :named @p_512))) :rule cong :premises (t34.t1.t20.t5 t34.t1.t20.t8))
+(step t34.t1.t20.t10 (cl @p_503) :rule refl)
+(step t34.t1.t20.t11 (cl @p_499) :rule refl)
+(step t34.t1.t20.t12 (cl @p_504) :rule cong :premises (t34.t1.t20.t10 t34.t1.t20.t11))
+(step t34.t1.t20.t13 (cl @p_501) :rule refl)
+(step t34.t1.t20.t14 (cl @p_505) :rule cong :premises (t34.t1.t20.t12 t34.t1.t20.t13))
+(step t34.t1.t20.t15 (cl @p_513) :rule refl)
+(step t34.t1.t20.t16 (cl @p_514) :rule refl)
+(step t34.t1.t20.t17 (cl @p_515) :rule cong :premises (t34.t1.t20.t15 t34.t1.t20.t16))
+(step t34.t1.t20.t18 (cl (= @p_296 (! (is_res$ @p_491 @p_492) :named @p_516))) :rule cong :premises (t34.t1.t20.t14 t34.t1.t20.t17))
+(step t34.t1.t20.t19 (cl (= @p_297 (! (= @p_512 @p_516) :named @p_517))) :rule cong :premises (t34.t1.t20.t9 t34.t1.t20.t18))
+(step t34.t1.t20 (cl (= @p_288 (! (forall ((veriT_vr52 B$) (veriT_vr53 C$)) @p_517) :named @p_508))) :rule bind)
+(step t34.t1.t21 (cl (= @p_298 (! (and @p_507 @p_508) :named @p_518))) :rule cong :premises (t34.t1.t19 t34.t1.t20))
+(step t34.t1.t22 (cl (= @p_299 (! (or @p_489 @p_518) :named @p_519))) :rule cong :premises (t34.t1.t6 t34.t1.t21))
+(step t34.t1 (cl (= @p_277 (! (forall ((veriT_vr50 A$) (veriT_vr51 C$)) @p_519) :named @p_497))) :rule bind)
+(anchor :step t34.t2 :args ((:= (veriT_vr10 D$) veriT_vr54)))
+(step t34.t2.t1 (cl (! (= veriT_vr11 veriT_vr47) :named @p_522)) :rule refl)
+(step t34.t2.t2 (cl @p_503) :rule refl)
+(step t34.t2.t3 (cl (! (= @p_301 (! (c$ veriT_vr47 veriT_vr48) :named @p_521)) :named @p_526)) :rule cong :premises (t34.t2.t1 t34.t2.t2))
+(step t34.t2.t4 (cl (! (= veriT_vr10 veriT_vr54) :named @p_524)) :rule refl)
+(step t34.t2.t5 (cl (! (= @p_275 (! (run$b @p_521 veriT_vr54) :named @p_495)) :named @p_527)) :rule cong :premises (t34.t2.t3 t34.t2.t4))
+(step t34.t2.t6 (cl (! (= @p_273 (! (is_fail$b @p_495) :named @p_493)) :named @p_528)) :rule cong :premises (t34.t2.t5))
+(step t34.t2.t7 (cl @p_522) :rule refl)
+(step t34.t2.t8 (cl @p_509) :rule refl)
+(step t34.t2.t9 (cl (! (= @p_303 (! (c$ veriT_vr47 veriT_vr49) :named @p_523)) :named @p_531)) :rule cong :premises (t34.t2.t7 t34.t2.t8))
+(step t34.t2.t10 (cl @p_524) :rule refl)
+(step t34.t2.t11 (cl (! (= @p_274 (! (run$b @p_523 veriT_vr54) :named @p_494)) :named @p_532)) :rule cong :premises (t34.t2.t9 t34.t2.t10))
+(step t34.t2.t12 (cl (= @p_305 (! (is_fail$b @p_494) :named @p_525))) :rule cong :premises (t34.t2.t11))
+(step t34.t2.t13 (cl @p_522) :rule refl)
+(step t34.t2.t14 (cl @p_503) :rule refl)
+(step t34.t2.t15 (cl @p_526) :rule cong :premises (t34.t2.t13 t34.t2.t14))
+(step t34.t2.t16 (cl @p_524) :rule refl)
+(step t34.t2.t17 (cl @p_527) :rule cong :premises (t34.t2.t15 t34.t2.t16))
+(step t34.t2.t18 (cl @p_528) :rule cong :premises (t34.t2.t17))
+(step t34.t2.t19 (cl (= @p_309 (! (= @p_525 @p_493) :named @p_529))) :rule cong :premises (t34.t2.t12 t34.t2.t18))
+(anchor :step t34.t2.t20 :args ((:= (veriT_vr9 F$) veriT_vr55) (:= (veriT_vr18 D$) veriT_vr56)))
+(step t34.t2.t20.t1 (cl @p_522) :rule refl)
+(step t34.t2.t20.t2 (cl @p_509) :rule refl)
+(step t34.t2.t20.t3 (cl @p_531) :rule cong :premises (t34.t2.t20.t1 t34.t2.t20.t2))
+(step t34.t2.t20.t4 (cl @p_524) :rule refl)
+(step t34.t2.t20.t5 (cl @p_532) :rule cong :premises (t34.t2.t20.t3 t34.t2.t20.t4))
+(step t34.t2.t20.t6 (cl (! (= veriT_vr9 veriT_vr55) :named @p_534)) :rule refl)
+(step t34.t2.t20.t7 (cl (! (= veriT_vr18 veriT_vr56) :named @p_535)) :rule refl)
+(step t34.t2.t20.t8 (cl (! (= @p_276 (! (pair$b veriT_vr55 veriT_vr56) :named @p_496)) :named @p_536)) :rule cong :premises (t34.t2.t20.t6 t34.t2.t20.t7))
+(step t34.t2.t20.t9 (cl (= @p_313 (! (is_res$b @p_494 @p_496) :named @p_533))) :rule cong :premises (t34.t2.t20.t5 t34.t2.t20.t8))
+(step t34.t2.t20.t10 (cl @p_522) :rule refl)
+(step t34.t2.t20.t11 (cl @p_503) :rule refl)
+(step t34.t2.t20.t12 (cl @p_526) :rule cong :premises (t34.t2.t20.t10 t34.t2.t20.t11))
+(step t34.t2.t20.t13 (cl @p_524) :rule refl)
+(step t34.t2.t20.t14 (cl @p_527) :rule cong :premises (t34.t2.t20.t12 t34.t2.t20.t13))
+(step t34.t2.t20.t15 (cl @p_534) :rule refl)
+(step t34.t2.t20.t16 (cl @p_535) :rule refl)
+(step t34.t2.t20.t17 (cl @p_536) :rule cong :premises (t34.t2.t20.t15 t34.t2.t20.t16))
+(step t34.t2.t20.t18 (cl (= @p_316 (! (is_res$b @p_495 @p_496) :named @p_537))) :rule cong :premises (t34.t2.t20.t14 t34.t2.t20.t17))
+(step t34.t2.t20.t19 (cl (= @p_317 (! (= @p_533 @p_537) :named @p_538))) :rule cong :premises (t34.t2.t20.t9 t34.t2.t20.t18))
+(step t34.t2.t20 (cl (= @p_310 (! (forall ((veriT_vr55 F$) (veriT_vr56 D$)) @p_538) :named @p_530))) :rule bind)
+(step t34.t2.t21 (cl (= @p_318 (! (and @p_529 @p_530) :named @p_539))) :rule cong :premises (t34.t2.t19 t34.t2.t20))
+(step t34.t2.t22 (cl (= @p_319 (! (or @p_493 @p_539) :named @p_540))) :rule cong :premises (t34.t2.t6 t34.t2.t21))
+(step t34.t2 (cl (= @p_300 (! (forall ((veriT_vr54 D$)) @p_540) :named @p_520))) :rule bind)
+(step t34.t3 (cl (= @p_320 (! (=> @p_497 @p_520) :named @p_541))) :rule cong :premises (t34.t1 t34.t2))
+(step t34 (cl (= @p_422 (! (forall ((veriT_vr47 E$) (veriT_vr48 A_b_c_M_state_fun$) (veriT_vr49 A_b_c_M_state_fun$)) @p_541) :named @p_692))) :rule bind)
+(anchor :step t35 :args ((:= (veriT_vr19 A_b_c_M_state_fun$) veriT_vr57) (:= (veriT_vr20 A_b_c_M_state_fun$) veriT_vr58)))
+(anchor :step t35.t1 :args ((:= (veriT_vr21 A$) veriT_vr59) (:= (veriT_vr22 C$) veriT_vr60)))
+(step t35.t1.t1 (cl (! (= veriT_vr19 veriT_vr57) :named @p_557)) :rule refl)
+(step t35.t1.t2 (cl (! (= veriT_vr21 veriT_vr59) :named @p_553)) :rule refl)
+(step t35.t1.t3 (cl (! (= @p_331 @p_552) :named @p_558)) :rule cong :premises (t35.t1.t1 t35.t1.t2))
+(step t35.t1.t4 (cl (! (= veriT_vr22 veriT_vr60) :named @p_555)) :rule refl)
+(step t35.t1.t5 (cl (! (= @p_323 @p_544) :named @p_559)) :rule cong :premises (t35.t1.t3 t35.t1.t4))
+(step t35.t1.t6 (cl (! (= @p_321 @p_542) :named @p_560)) :rule cong :premises (t35.t1.t5))
+(step t35.t1.t7 (cl (! (= veriT_vr20 veriT_vr58) :named @p_563)) :rule refl)
+(step t35.t1.t8 (cl @p_553) :rule refl)
+(step t35.t1.t9 (cl (! (= @p_333 @p_554) :named @p_564)) :rule cong :premises (t35.t1.t7 t35.t1.t8))
+(step t35.t1.t10 (cl @p_555) :rule refl)
+(step t35.t1.t11 (cl (! (= @p_322 @p_543) :named @p_565)) :rule cong :premises (t35.t1.t9 t35.t1.t10))
+(step t35.t1.t12 (cl (= @p_335 @p_556)) :rule cong :premises (t35.t1.t11))
+(step t35.t1.t13 (cl @p_557) :rule refl)
+(step t35.t1.t14 (cl @p_553) :rule refl)
+(step t35.t1.t15 (cl @p_558) :rule cong :premises (t35.t1.t13 t35.t1.t14))
+(step t35.t1.t16 (cl @p_555) :rule refl)
+(step t35.t1.t17 (cl @p_559) :rule cong :premises (t35.t1.t15 t35.t1.t16))
+(step t35.t1.t18 (cl @p_560) :rule cong :premises (t35.t1.t17))
+(step t35.t1.t19 (cl (= @p_340 @p_561)) :rule cong :premises (t35.t1.t12 t35.t1.t18))
+(anchor :step t35.t1.t20 :args ((:= (veriT_vr23 B$) veriT_vr61) (:= (veriT_vr24 C$) veriT_vr62)))
+(step t35.t1.t20.t1 (cl @p_563) :rule refl)
+(step t35.t1.t20.t2 (cl @p_553) :rule refl)
+(step t35.t1.t20.t3 (cl @p_564) :rule cong :premises (t35.t1.t20.t1 t35.t1.t20.t2))
+(step t35.t1.t20.t4 (cl @p_555) :rule refl)
+(step t35.t1.t20.t5 (cl @p_565) :rule cong :premises (t35.t1.t20.t3 t35.t1.t20.t4))
+(step t35.t1.t20.t6 (cl (! (= veriT_vr23 veriT_vr61) :named @p_567)) :rule refl)
+(step t35.t1.t20.t7 (cl (! (= veriT_vr24 veriT_vr62) :named @p_568)) :rule refl)
+(step t35.t1.t20.t8 (cl (! (= @p_324 @p_545) :named @p_569)) :rule cong :premises (t35.t1.t20.t6 t35.t1.t20.t7))
+(step t35.t1.t20.t9 (cl (= @p_345 @p_566)) :rule cong :premises (t35.t1.t20.t5 t35.t1.t20.t8))
+(step t35.t1.t20.t10 (cl @p_557) :rule refl)
+(step t35.t1.t20.t11 (cl @p_553) :rule refl)
+(step t35.t1.t20.t12 (cl @p_558) :rule cong :premises (t35.t1.t20.t10 t35.t1.t20.t11))
+(step t35.t1.t20.t13 (cl @p_555) :rule refl)
+(step t35.t1.t20.t14 (cl @p_559) :rule cong :premises (t35.t1.t20.t12 t35.t1.t20.t13))
+(step t35.t1.t20.t15 (cl @p_567) :rule refl)
+(step t35.t1.t20.t16 (cl @p_568) :rule refl)
+(step t35.t1.t20.t17 (cl @p_569) :rule cong :premises (t35.t1.t20.t15 t35.t1.t20.t16))
+(step t35.t1.t20.t18 (cl (= @p_349 @p_570)) :rule cong :premises (t35.t1.t20.t14 t35.t1.t20.t17))
+(step t35.t1.t20.t19 (cl (= @p_350 @p_571)) :rule cong :premises (t35.t1.t20.t9 t35.t1.t20.t18))
+(step t35.t1.t20 (cl (= @p_341 @p_562)) :rule bind)
+(step t35.t1.t21 (cl (= @p_351 @p_572)) :rule cong :premises (t35.t1.t19 t35.t1.t20))
+(step t35.t1.t22 (cl (= @p_352 @p_573)) :rule cong :premises (t35.t1.t6 t35.t1.t21))
+(step t35.t1 (cl (= @p_330 @p_551)) :rule bind)
+(anchor :step t35.t2 :args ((:= (veriT_vr25 D$) veriT_vr63)))
+(step t35.t2.t1 (cl @p_557) :rule refl)
+(step t35.t2.t2 (cl (! (= @p_354 @p_575) :named @p_577)) :rule cong :premises (t35.t2.t1))
+(step t35.t2.t3 (cl (! (= veriT_vr25 veriT_vr63) :named @p_578)) :rule refl)
+(step t35.t2.t4 (cl (! (= @p_325 @p_546) :named @p_579)) :rule cong :premises (t35.t2.t2 t35.t2.t3))
+(step t35.t2.t5 (cl (! (= @p_327 @p_548) :named @p_601)) :rule cong :premises (t35.t2.t4))
+(anchor :step t35.t2.t6 :args ((:= (veriT_vr26 E$) veriT_vr64) (:= (veriT_vr27 D$) veriT_vr65)))
+(step t35.t2.t6.t1 (cl @p_557) :rule refl)
+(step t35.t2.t6.t2 (cl @p_577) :rule cong :premises (t35.t2.t6.t1))
+(step t35.t2.t6.t3 (cl @p_578) :rule refl)
+(step t35.t2.t6.t4 (cl @p_579) :rule cong :premises (t35.t2.t6.t2 t35.t2.t6.t3))
+(step t35.t2.t6.t5 (cl (! (= veriT_vr26 veriT_vr64) :named @p_582)) :rule refl)
+(step t35.t2.t6.t6 (cl (! (= veriT_vr27 veriT_vr65) :named @p_584)) :rule refl)
+(step t35.t2.t6.t7 (cl (= @p_359 @p_580)) :rule cong :premises (t35.t2.t6.t5 t35.t2.t6.t6))
+(step t35.t2.t6.t8 (cl (= @p_360 @p_581)) :rule cong :premises (t35.t2.t6.t4 t35.t2.t6.t7))
+(step t35.t2.t6.t9 (cl @p_582) :rule refl)
+(step t35.t2.t6.t10 (cl @p_557) :rule refl)
+(step t35.t2.t6.t11 (cl (= @p_362 @p_583)) :rule cong :premises (t35.t2.t6.t9 t35.t2.t6.t10))
+(step t35.t2.t6.t12 (cl @p_584) :rule refl)
+(step t35.t2.t6.t13 (cl (= @p_364 @p_585)) :rule cong :premises (t35.t2.t6.t11 t35.t2.t6.t12))
+(step t35.t2.t6.t14 (cl (= @p_365 @p_586)) :rule cong :premises (t35.t2.t6.t13))
+(step t35.t2.t6.t15 (cl (= @p_366 @p_587)) :rule cong :premises (t35.t2.t6.t8 t35.t2.t6.t14))
+(step t35.t2.t6 (cl (= @p_355 @p_576)) :rule bind)
+(step t35.t2.t7 (cl @p_563) :rule refl)
+(step t35.t2.t8 (cl (! (= @p_367 @p_588) :named @p_590)) :rule cong :premises (t35.t2.t7))
+(step t35.t2.t9 (cl @p_578) :rule refl)
+(step t35.t2.t10 (cl (! (= @p_326 @p_547) :named @p_591)) :rule cong :premises (t35.t2.t8 t35.t2.t9))
+(step t35.t2.t11 (cl (! (= @p_328 @p_549) :named @p_624)) :rule cong :premises (t35.t2.t10))
+(anchor :step t35.t2.t12 :args ((:= (veriT_vr28 E$) veriT_vr66) (:= (veriT_vr29 D$) veriT_vr67)))
+(step t35.t2.t12.t1 (cl @p_563) :rule refl)
+(step t35.t2.t12.t2 (cl @p_590) :rule cong :premises (t35.t2.t12.t1))
+(step t35.t2.t12.t3 (cl @p_578) :rule refl)
+(step t35.t2.t12.t4 (cl @p_591) :rule cong :premises (t35.t2.t12.t2 t35.t2.t12.t3))
+(step t35.t2.t12.t5 (cl (! (= veriT_vr28 veriT_vr66) :named @p_594)) :rule refl)
+(step t35.t2.t12.t6 (cl (! (= veriT_vr29 veriT_vr67) :named @p_596)) :rule refl)
+(step t35.t2.t12.t7 (cl (= @p_371 @p_592)) :rule cong :premises (t35.t2.t12.t5 t35.t2.t12.t6))
+(step t35.t2.t12.t8 (cl (= @p_372 @p_593)) :rule cong :premises (t35.t2.t12.t4 t35.t2.t12.t7))
+(step t35.t2.t12.t9 (cl @p_594) :rule refl)
+(step t35.t2.t12.t10 (cl @p_563) :rule refl)
+(step t35.t2.t12.t11 (cl (= @p_374 @p_595)) :rule cong :premises (t35.t2.t12.t9 t35.t2.t12.t10))
+(step t35.t2.t12.t12 (cl @p_596) :rule refl)
+(step t35.t2.t12.t13 (cl (= @p_376 @p_597)) :rule cong :premises (t35.t2.t12.t11 t35.t2.t12.t12))
+(step t35.t2.t12.t14 (cl (= @p_377 @p_598)) :rule cong :premises (t35.t2.t12.t13))
+(step t35.t2.t12.t15 (cl (= @p_378 @p_599)) :rule cong :premises (t35.t2.t12.t8 t35.t2.t12.t14))
+(step t35.t2.t12 (cl (= @p_368 @p_589)) :rule bind)
+(step t35.t2.t13 (cl (= @p_379 @p_600)) :rule cong :premises (t35.t2.t11 t35.t2.t12))
+(step t35.t2.t14 (cl @p_557) :rule refl)
+(step t35.t2.t15 (cl @p_577) :rule cong :premises (t35.t2.t14))
+(step t35.t2.t16 (cl @p_578) :rule refl)
+(step t35.t2.t17 (cl @p_579) :rule cong :premises (t35.t2.t15 t35.t2.t16))
+(step t35.t2.t18 (cl @p_601) :rule cong :premises (t35.t2.t17))
+(anchor :step t35.t2.t19 :args ((:= (veriT_vr30 E$) veriT_vr68) (:= (veriT_vr31 D$) veriT_vr69)))
+(step t35.t2.t19.t1 (cl @p_557) :rule refl)
+(step t35.t2.t19.t2 (cl @p_577) :rule cong :premises (t35.t2.t19.t1))
+(step t35.t2.t19.t3 (cl @p_578) :rule refl)
+(step t35.t2.t19.t4 (cl @p_579) :rule cong :premises (t35.t2.t19.t2 t35.t2.t19.t3))
+(step t35.t2.t19.t5 (cl (! (= veriT_vr30 veriT_vr68) :named @p_605)) :rule refl)
+(step t35.t2.t19.t6 (cl (! (= veriT_vr31 veriT_vr69) :named @p_607)) :rule refl)
+(step t35.t2.t19.t7 (cl (= @p_382 @p_603)) :rule cong :premises (t35.t2.t19.t5 t35.t2.t19.t6))
+(step t35.t2.t19.t8 (cl (= @p_383 @p_604)) :rule cong :premises (t35.t2.t19.t4 t35.t2.t19.t7))
+(step t35.t2.t19.t9 (cl @p_605) :rule refl)
+(step t35.t2.t19.t10 (cl @p_557) :rule refl)
+(step t35.t2.t19.t11 (cl (= @p_385 @p_606)) :rule cong :premises (t35.t2.t19.t9 t35.t2.t19.t10))
+(step t35.t2.t19.t12 (cl @p_607) :rule refl)
+(step t35.t2.t19.t13 (cl (= @p_387 @p_608)) :rule cong :premises (t35.t2.t19.t11 t35.t2.t19.t12))
+(step t35.t2.t19.t14 (cl (= @p_388 @p_609)) :rule cong :premises (t35.t2.t19.t13))
+(step t35.t2.t19.t15 (cl (= @p_389 @p_610)) :rule cong :premises (t35.t2.t19.t8 t35.t2.t19.t14))
+(step t35.t2.t19 (cl (= @p_381 @p_602)) :rule bind)
+(step t35.t2.t20 (cl (= @p_390 @p_611)) :rule cong :premises (t35.t2.t18 t35.t2.t19))
+(step t35.t2.t21 (cl (= @p_612 @p_613)) :rule cong :premises (t35.t2.t13 t35.t2.t20))
+(step t35.t2.t22 (cl @p_557) :rule refl)
+(step t35.t2.t23 (cl @p_577) :rule cong :premises (t35.t2.t22))
+(step t35.t2.t24 (cl @p_578) :rule refl)
+(step t35.t2.t25 (cl @p_579) :rule cong :premises (t35.t2.t23 t35.t2.t24))
+(step t35.t2.t26 (cl @p_601) :rule cong :premises (t35.t2.t25))
+(anchor :step t35.t2.t27 :args ((:= (veriT_vr30 E$) veriT_vr70) (:= (veriT_vr31 D$) veriT_vr71)))
+(step t35.t2.t27.t1 (cl @p_557) :rule refl)
+(step t35.t2.t27.t2 (cl @p_577) :rule cong :premises (t35.t2.t27.t1))
+(step t35.t2.t27.t3 (cl @p_578) :rule refl)
+(step t35.t2.t27.t4 (cl @p_579) :rule cong :premises (t35.t2.t27.t2 t35.t2.t27.t3))
+(step t35.t2.t27.t5 (cl (! (= veriT_vr30 veriT_vr70) :named @p_617)) :rule refl)
+(step t35.t2.t27.t6 (cl (! (= veriT_vr31 veriT_vr71) :named @p_619)) :rule refl)
+(step t35.t2.t27.t7 (cl (= @p_382 @p_615)) :rule cong :premises (t35.t2.t27.t5 t35.t2.t27.t6))
+(step t35.t2.t27.t8 (cl (= @p_383 @p_616)) :rule cong :premises (t35.t2.t27.t4 t35.t2.t27.t7))
+(step t35.t2.t27.t9 (cl @p_617) :rule refl)
+(step t35.t2.t27.t10 (cl @p_557) :rule refl)
+(step t35.t2.t27.t11 (cl (= @p_385 @p_618)) :rule cong :premises (t35.t2.t27.t9 t35.t2.t27.t10))
+(step t35.t2.t27.t12 (cl @p_619) :rule refl)
+(step t35.t2.t27.t13 (cl (= @p_387 @p_620)) :rule cong :premises (t35.t2.t27.t11 t35.t2.t27.t12))
+(step t35.t2.t27.t14 (cl (= @p_388 @p_621)) :rule cong :premises (t35.t2.t27.t13))
+(step t35.t2.t27.t15 (cl (= @p_389 @p_622)) :rule cong :premises (t35.t2.t27.t8 t35.t2.t27.t14))
+(step t35.t2.t27 (cl (= @p_381 @p_614)) :rule bind)
+(step t35.t2.t28 (cl (= @p_390 @p_623)) :rule cong :premises (t35.t2.t26 t35.t2.t27))
+(step t35.t2.t29 (cl @p_563) :rule refl)
+(step t35.t2.t30 (cl @p_590) :rule cong :premises (t35.t2.t29))
+(step t35.t2.t31 (cl @p_578) :rule refl)
+(step t35.t2.t32 (cl @p_591) :rule cong :premises (t35.t2.t30 t35.t2.t31))
+(step t35.t2.t33 (cl @p_624) :rule cong :premises (t35.t2.t32))
+(anchor :step t35.t2.t34 :args ((:= (veriT_vr28 E$) veriT_vr72) (:= (veriT_vr29 D$) veriT_vr73)))
+(step t35.t2.t34.t1 (cl @p_563) :rule refl)
+(step t35.t2.t34.t2 (cl @p_590) :rule cong :premises (t35.t2.t34.t1))
+(step t35.t2.t34.t3 (cl @p_578) :rule refl)
+(step t35.t2.t34.t4 (cl @p_591) :rule cong :premises (t35.t2.t34.t2 t35.t2.t34.t3))
+(step t35.t2.t34.t5 (cl (! (= veriT_vr28 veriT_vr72) :named @p_628)) :rule refl)
+(step t35.t2.t34.t6 (cl (! (= veriT_vr29 veriT_vr73) :named @p_630)) :rule refl)
+(step t35.t2.t34.t7 (cl (= @p_371 @p_626)) :rule cong :premises (t35.t2.t34.t5 t35.t2.t34.t6))
+(step t35.t2.t34.t8 (cl (= @p_372 @p_627)) :rule cong :premises (t35.t2.t34.t4 t35.t2.t34.t7))
+(step t35.t2.t34.t9 (cl @p_628) :rule refl)
+(step t35.t2.t34.t10 (cl @p_563) :rule refl)
+(step t35.t2.t34.t11 (cl (= @p_374 @p_629)) :rule cong :premises (t35.t2.t34.t9 t35.t2.t34.t10))
+(step t35.t2.t34.t12 (cl @p_630) :rule refl)
+(step t35.t2.t34.t13 (cl (= @p_376 @p_631)) :rule cong :premises (t35.t2.t34.t11 t35.t2.t34.t12))
+(step t35.t2.t34.t14 (cl (= @p_377 @p_632)) :rule cong :premises (t35.t2.t34.t13))
+(step t35.t2.t34.t15 (cl (= @p_378 @p_633)) :rule cong :premises (t35.t2.t34.t8 t35.t2.t34.t14))
+(step t35.t2.t34 (cl (= @p_368 @p_625)) :rule bind)
+(step t35.t2.t35 (cl (= @p_379 @p_634)) :rule cong :premises (t35.t2.t33 t35.t2.t34))
+(step t35.t2.t36 (cl (= @p_635 @p_636)) :rule cong :premises (t35.t2.t28 t35.t2.t35))
+(step t35.t2.t37 (cl (= @p_427 @p_637)) :rule cong :premises (t35.t2.t21 t35.t2.t36))
+(anchor :step t35.t2.t38 :args ((:= (veriT_vr32 F$) veriT_vr74) (:= (veriT_vr33 D$) veriT_vr75)))
+(step t35.t2.t38.t1 (cl @p_563) :rule refl)
+(step t35.t2.t38.t2 (cl @p_590) :rule cong :premises (t35.t2.t38.t1))
+(step t35.t2.t38.t3 (cl @p_578) :rule refl)
+(step t35.t2.t38.t4 (cl @p_591) :rule cong :premises (t35.t2.t38.t2 t35.t2.t38.t3))
+(step t35.t2.t38.t5 (cl @p_624) :rule cong :premises (t35.t2.t38.t4))
+(anchor :step t35.t2.t38.t6 :args ((:= (veriT_vr34 E$) veriT_vr76) (:= (veriT_vr35 D$) veriT_vr77)))
+(step t35.t2.t38.t6.t1 (cl @p_563) :rule refl)
+(step t35.t2.t38.t6.t2 (cl @p_590) :rule cong :premises (t35.t2.t38.t6.t1))
+(step t35.t2.t38.t6.t3 (cl @p_578) :rule refl)
+(step t35.t2.t38.t6.t4 (cl @p_591) :rule cong :premises (t35.t2.t38.t6.t2 t35.t2.t38.t6.t3))
+(step t35.t2.t38.t6.t5 (cl (! (= veriT_vr34 veriT_vr76) :named @p_642)) :rule refl)
+(step t35.t2.t38.t6.t6 (cl (! (= veriT_vr35 veriT_vr77) :named @p_644)) :rule refl)
+(step t35.t2.t38.t6.t7 (cl (= @p_395 @p_640)) :rule cong :premises (t35.t2.t38.t6.t5 t35.t2.t38.t6.t6))
+(step t35.t2.t38.t6.t8 (cl (= @p_396 @p_641)) :rule cong :premises (t35.t2.t38.t6.t4 t35.t2.t38.t6.t7))
+(step t35.t2.t38.t6.t9 (cl @p_642) :rule refl)
+(step t35.t2.t38.t6.t10 (cl @p_563) :rule refl)
+(step t35.t2.t38.t6.t11 (cl (= @p_398 @p_643)) :rule cong :premises (t35.t2.t38.t6.t9 t35.t2.t38.t6.t10))
+(step t35.t2.t38.t6.t12 (cl @p_644) :rule refl)
+(step t35.t2.t38.t6.t13 (cl (= @p_400 @p_645)) :rule cong :premises (t35.t2.t38.t6.t11 t35.t2.t38.t6.t12))
+(step t35.t2.t38.t6.t14 (cl (! (= veriT_vr32 veriT_vr74) :named @p_656)) :rule refl)
+(step t35.t2.t38.t6.t15 (cl (! (= veriT_vr33 veriT_vr75) :named @p_657)) :rule refl)
+(step t35.t2.t38.t6.t16 (cl (! (= @p_329 @p_550) :named @p_658)) :rule cong :premises (t35.t2.t38.t6.t14 t35.t2.t38.t6.t15))
+(step t35.t2.t38.t6.t17 (cl (= @p_401 @p_646)) :rule cong :premises (t35.t2.t38.t6.t13 t35.t2.t38.t6.t16))
+(step t35.t2.t38.t6.t18 (cl (= @p_402 @p_647)) :rule cong :premises (t35.t2.t38.t6.t8 t35.t2.t38.t6.t17))
+(step t35.t2.t38.t6 (cl (= @p_394 @p_639)) :rule bind)
+(step t35.t2.t38.t7 (cl (= @p_403 @p_648)) :rule cong :premises (t35.t2.t38.t5 t35.t2.t38.t6))
+(step t35.t2.t38.t8 (cl @p_557) :rule refl)
+(step t35.t2.t38.t9 (cl @p_577) :rule cong :premises (t35.t2.t38.t8))
+(step t35.t2.t38.t10 (cl @p_578) :rule refl)
+(step t35.t2.t38.t11 (cl @p_579) :rule cong :premises (t35.t2.t38.t9 t35.t2.t38.t10))
+(step t35.t2.t38.t12 (cl @p_601) :rule cong :premises (t35.t2.t38.t11))
+(anchor :step t35.t2.t38.t13 :args ((:= (veriT_vr36 E$) veriT_vr78) (:= (veriT_vr37 D$) veriT_vr79)))
+(step t35.t2.t38.t13.t1 (cl @p_557) :rule refl)
+(step t35.t2.t38.t13.t2 (cl @p_577) :rule cong :premises (t35.t2.t38.t13.t1))
+(step t35.t2.t38.t13.t3 (cl @p_578) :rule refl)
+(step t35.t2.t38.t13.t4 (cl @p_579) :rule cong :premises (t35.t2.t38.t13.t2 t35.t2.t38.t13.t3))
+(step t35.t2.t38.t13.t5 (cl (! (= veriT_vr36 veriT_vr78) :named @p_652)) :rule refl)
+(step t35.t2.t38.t13.t6 (cl (! (= veriT_vr37 veriT_vr79) :named @p_654)) :rule refl)
+(step t35.t2.t38.t13.t7 (cl (= @p_405 @p_650)) :rule cong :premises (t35.t2.t38.t13.t5 t35.t2.t38.t13.t6))
+(step t35.t2.t38.t13.t8 (cl (= @p_406 @p_651)) :rule cong :premises (t35.t2.t38.t13.t4 t35.t2.t38.t13.t7))
+(step t35.t2.t38.t13.t9 (cl @p_652) :rule refl)
+(step t35.t2.t38.t13.t10 (cl @p_557) :rule refl)
+(step t35.t2.t38.t13.t11 (cl (= @p_408 @p_653)) :rule cong :premises (t35.t2.t38.t13.t9 t35.t2.t38.t13.t10))
+(step t35.t2.t38.t13.t12 (cl @p_654) :rule refl)
+(step t35.t2.t38.t13.t13 (cl (= @p_410 @p_655)) :rule cong :premises (t35.t2.t38.t13.t11 t35.t2.t38.t13.t12))
+(step t35.t2.t38.t13.t14 (cl @p_656) :rule refl)
+(step t35.t2.t38.t13.t15 (cl @p_657) :rule refl)
+(step t35.t2.t38.t13.t16 (cl @p_658) :rule cong :premises (t35.t2.t38.t13.t14 t35.t2.t38.t13.t15))
+(step t35.t2.t38.t13.t17 (cl (= @p_414 @p_659)) :rule cong :premises (t35.t2.t38.t13.t13 t35.t2.t38.t13.t16))
+(step t35.t2.t38.t13.t18 (cl (= @p_415 @p_660)) :rule cong :premises (t35.t2.t38.t13.t8 t35.t2.t38.t13.t17))
+(step t35.t2.t38.t13 (cl (= @p_404 @p_649)) :rule bind)
+(step t35.t2.t38.t14 (cl (= @p_416 @p_661)) :rule cong :premises (t35.t2.t38.t12 t35.t2.t38.t13))
+(step t35.t2.t38.t15 (cl (= @p_662 @p_663)) :rule cong :premises (t35.t2.t38.t7 t35.t2.t38.t14))
+(step t35.t2.t38.t16 (cl @p_557) :rule refl)
+(step t35.t2.t38.t17 (cl @p_577) :rule cong :premises (t35.t2.t38.t16))
+(step t35.t2.t38.t18 (cl @p_578) :rule refl)
+(step t35.t2.t38.t19 (cl @p_579) :rule cong :premises (t35.t2.t38.t17 t35.t2.t38.t18))
+(step t35.t2.t38.t20 (cl @p_601) :rule cong :premises (t35.t2.t38.t19))
+(anchor :step t35.t2.t38.t21 :args ((:= (veriT_vr36 E$) veriT_vr80) (:= (veriT_vr37 D$) veriT_vr81)))
+(step t35.t2.t38.t21.t1 (cl @p_557) :rule refl)
+(step t35.t2.t38.t21.t2 (cl @p_577) :rule cong :premises (t35.t2.t38.t21.t1))
+(step t35.t2.t38.t21.t3 (cl @p_578) :rule refl)
+(step t35.t2.t38.t21.t4 (cl @p_579) :rule cong :premises (t35.t2.t38.t21.t2 t35.t2.t38.t21.t3))
+(step t35.t2.t38.t21.t5 (cl (! (= veriT_vr36 veriT_vr80) :named @p_667)) :rule refl)
+(step t35.t2.t38.t21.t6 (cl (! (= veriT_vr37 veriT_vr81) :named @p_669)) :rule refl)
+(step t35.t2.t38.t21.t7 (cl (= @p_405 @p_665)) :rule cong :premises (t35.t2.t38.t21.t5 t35.t2.t38.t21.t6))
+(step t35.t2.t38.t21.t8 (cl (= @p_406 @p_666)) :rule cong :premises (t35.t2.t38.t21.t4 t35.t2.t38.t21.t7))
+(step t35.t2.t38.t21.t9 (cl @p_667) :rule refl)
+(step t35.t2.t38.t21.t10 (cl @p_557) :rule refl)
+(step t35.t2.t38.t21.t11 (cl (= @p_408 @p_668)) :rule cong :premises (t35.t2.t38.t21.t9 t35.t2.t38.t21.t10))
+(step t35.t2.t38.t21.t12 (cl @p_669) :rule refl)
+(step t35.t2.t38.t21.t13 (cl (= @p_410 @p_670)) :rule cong :premises (t35.t2.t38.t21.t11 t35.t2.t38.t21.t12))
+(step t35.t2.t38.t21.t14 (cl @p_656) :rule refl)
+(step t35.t2.t38.t21.t15 (cl @p_657) :rule refl)
+(step t35.t2.t38.t21.t16 (cl @p_658) :rule cong :premises (t35.t2.t38.t21.t14 t35.t2.t38.t21.t15))
+(step t35.t2.t38.t21.t17 (cl (= @p_414 @p_671)) :rule cong :premises (t35.t2.t38.t21.t13 t35.t2.t38.t21.t16))
+(step t35.t2.t38.t21.t18 (cl (= @p_415 @p_672)) :rule cong :premises (t35.t2.t38.t21.t8 t35.t2.t38.t21.t17))
+(step t35.t2.t38.t21 (cl (= @p_404 @p_664)) :rule bind)
+(step t35.t2.t38.t22 (cl (= @p_416 @p_673)) :rule cong :premises (t35.t2.t38.t20 t35.t2.t38.t21))
+(step t35.t2.t38.t23 (cl @p_563) :rule refl)
+(step t35.t2.t38.t24 (cl @p_590) :rule cong :premises (t35.t2.t38.t23))
+(step t35.t2.t38.t25 (cl @p_578) :rule refl)
+(step t35.t2.t38.t26 (cl @p_591) :rule cong :premises (t35.t2.t38.t24 t35.t2.t38.t25))
+(step t35.t2.t38.t27 (cl @p_624) :rule cong :premises (t35.t2.t38.t26))
+(anchor :step t35.t2.t38.t28 :args ((:= (veriT_vr34 E$) veriT_vr82) (:= (veriT_vr35 D$) veriT_vr83)))
+(step t35.t2.t38.t28.t1 (cl @p_563) :rule refl)
+(step t35.t2.t38.t28.t2 (cl @p_590) :rule cong :premises (t35.t2.t38.t28.t1))
+(step t35.t2.t38.t28.t3 (cl @p_578) :rule refl)
+(step t35.t2.t38.t28.t4 (cl @p_591) :rule cong :premises (t35.t2.t38.t28.t2 t35.t2.t38.t28.t3))
+(step t35.t2.t38.t28.t5 (cl (! (= veriT_vr34 veriT_vr82) :named @p_677)) :rule refl)
+(step t35.t2.t38.t28.t6 (cl (! (= veriT_vr35 veriT_vr83) :named @p_679)) :rule refl)
+(step t35.t2.t38.t28.t7 (cl (= @p_395 @p_675)) :rule cong :premises (t35.t2.t38.t28.t5 t35.t2.t38.t28.t6))
+(step t35.t2.t38.t28.t8 (cl (= @p_396 @p_676)) :rule cong :premises (t35.t2.t38.t28.t4 t35.t2.t38.t28.t7))
+(step t35.t2.t38.t28.t9 (cl @p_677) :rule refl)
+(step t35.t2.t38.t28.t10 (cl @p_563) :rule refl)
+(step t35.t2.t38.t28.t11 (cl (= @p_398 @p_678)) :rule cong :premises (t35.t2.t38.t28.t9 t35.t2.t38.t28.t10))
+(step t35.t2.t38.t28.t12 (cl @p_679) :rule refl)
+(step t35.t2.t38.t28.t13 (cl (= @p_400 @p_680)) :rule cong :premises (t35.t2.t38.t28.t11 t35.t2.t38.t28.t12))
+(step t35.t2.t38.t28.t14 (cl @p_656) :rule refl)
+(step t35.t2.t38.t28.t15 (cl @p_657) :rule refl)
+(step t35.t2.t38.t28.t16 (cl @p_658) :rule cong :premises (t35.t2.t38.t28.t14 t35.t2.t38.t28.t15))
+(step t35.t2.t38.t28.t17 (cl (= @p_401 @p_681)) :rule cong :premises (t35.t2.t38.t28.t13 t35.t2.t38.t28.t16))
+(step t35.t2.t38.t28.t18 (cl (= @p_402 @p_682)) :rule cong :premises (t35.t2.t38.t28.t8 t35.t2.t38.t28.t17))
+(step t35.t2.t38.t28 (cl (= @p_394 @p_674)) :rule bind)
+(step t35.t2.t38.t29 (cl (= @p_403 @p_683)) :rule cong :premises (t35.t2.t38.t27 t35.t2.t38.t28))
+(step t35.t2.t38.t30 (cl (= @p_684 @p_685)) :rule cong :premises (t35.t2.t38.t22 t35.t2.t38.t29))
+(step t35.t2.t38.t31 (cl (= @p_429 @p_686)) :rule cong :premises (t35.t2.t38.t15 t35.t2.t38.t30))
+(step t35.t2.t38 (cl (= @p_428 @p_638)) :rule bind)
+(step t35.t2.t39 (cl (= @p_430 @p_687)) :rule cong :premises (t35.t2.t37 t35.t2.t38))
+(step t35.t2.t40 (cl (= @p_431 @p_688)) :rule cong :premises (t35.t2.t5 t35.t2.t6 t35.t2.t39))
+(step t35.t2 (cl (= @p_426 @p_574)) :rule bind)
+(step t35.t3 (cl (= @p_432 @p_689)) :rule cong :premises (t35.t1 t35.t2))
+(step t35 (cl (= @p_433 (! (forall ((veriT_vr57 A_b_c_M_state_fun$) (veriT_vr58 A_b_c_M_state_fun$)) @p_689) :named @p_690))) :rule bind)
+(step t36 (cl (= @p_434 (! (not @p_690) :named @p_693))) :rule cong :premises (t35))
+(step t37 (cl (! (= @p_436 (! (and @p_691 @p_692 @p_693) :named @p_695)) :named @p_694)) :rule cong :premises (t33 t34 t36))
+(step t38 (cl (not @p_694) (not @p_436) @p_695) :rule equiv_pos2)
+(step t39 (cl @p_695) :rule th_resolution :premises (t32 t37 t38))
+(anchor :step t40 :args ((:= (veriT_vr57 A_b_c_M_state_fun$) veriT_sk0) (:= (veriT_vr58 A_b_c_M_state_fun$) veriT_sk1)))
+(anchor :step t40.t1 :args ((veriT_vr59 A$) (veriT_vr60 C$)))
+(step t40.t1.t1 (cl (! (= veriT_vr57 veriT_sk0) :named @p_754)) :rule refl)
+(step t40.t1.t2 (cl (! (= @p_552 (! (fun_app$ veriT_sk0 veriT_vr59) :named @p_751)) :named @p_755)) :rule cong :premises (t40.t1.t1))
+(step t40.t1.t3 (cl (! (= @p_544 (! (run$ @p_751 veriT_vr60) :named @p_703)) :named @p_756)) :rule cong :premises (t40.t1.t2))
+(step t40.t1.t4 (cl (! (= @p_542 (! (is_fail$ @p_703) :named @p_701)) :named @p_757)) :rule cong :premises (t40.t1.t3))
+(step t40.t1.t5 (cl (! (= veriT_vr58 veriT_sk1) :named @p_760)) :rule refl)
+(step t40.t1.t6 (cl (! (= @p_554 (! (fun_app$ veriT_sk1 veriT_vr59) :named @p_752)) :named @p_761)) :rule cong :premises (t40.t1.t5))
+(step t40.t1.t7 (cl (! (= @p_543 (! (run$ @p_752 veriT_vr60) :named @p_702)) :named @p_762)) :rule cong :premises (t40.t1.t6))
+(step t40.t1.t8 (cl (= @p_556 (! (is_fail$ @p_702) :named @p_753))) :rule cong :premises (t40.t1.t7))
+(step t40.t1.t9 (cl @p_754) :rule refl)
+(step t40.t1.t10 (cl @p_755) :rule cong :premises (t40.t1.t9))
+(step t40.t1.t11 (cl @p_756) :rule cong :premises (t40.t1.t10))
+(step t40.t1.t12 (cl @p_757) :rule cong :premises (t40.t1.t11))
+(step t40.t1.t13 (cl (= @p_561 (! (= @p_753 @p_701) :named @p_758))) :rule cong :premises (t40.t1.t8 t40.t1.t12))
+(anchor :step t40.t1.t14 :args ((veriT_vr61 B$) (veriT_vr62 C$)))
+(step t40.t1.t14.t1 (cl @p_760) :rule refl)
+(step t40.t1.t14.t2 (cl @p_761) :rule cong :premises (t40.t1.t14.t1))
+(step t40.t1.t14.t3 (cl @p_762) :rule cong :premises (t40.t1.t14.t2))
+(step t40.t1.t14.t4 (cl (= @p_566 (! (is_res$ @p_702 @p_545) :named @p_763))) :rule cong :premises (t40.t1.t14.t3))
+(step t40.t1.t14.t5 (cl @p_754) :rule refl)
+(step t40.t1.t14.t6 (cl @p_755) :rule cong :premises (t40.t1.t14.t5))
+(step t40.t1.t14.t7 (cl @p_756) :rule cong :premises (t40.t1.t14.t6))
+(step t40.t1.t14.t8 (cl (= @p_570 (! (is_res$ @p_703 @p_545) :named @p_764))) :rule cong :premises (t40.t1.t14.t7))
+(step t40.t1.t14.t9 (cl (= @p_571 (! (= @p_763 @p_764) :named @p_765))) :rule cong :premises (t40.t1.t14.t4 t40.t1.t14.t8))
+(step t40.t1.t14 (cl (= @p_562 (! (forall ((veriT_vr61 B$) (veriT_vr62 C$)) @p_765) :named @p_759))) :rule bind)
+(step t40.t1.t15 (cl (= @p_572 (! (and @p_758 @p_759) :named @p_766))) :rule cong :premises (t40.t1.t13 t40.t1.t14))
+(step t40.t1.t16 (cl (= @p_573 (! (or @p_701 @p_766) :named @p_767))) :rule cong :premises (t40.t1.t4 t40.t1.t15))
+(step t40.t1 (cl (= @p_551 (! (forall ((veriT_vr59 A$) (veriT_vr60 C$)) @p_767) :named @p_750))) :rule bind)
+(anchor :step t40.t2 :args ((:= (veriT_vr63 D$) veriT_sk2)))
+(step t40.t2.t1 (cl @p_754) :rule refl)
+(step t40.t2.t2 (cl (! (= @p_575 (! (b$ veriT_sk0) :named @p_769)) :named @p_771)) :rule cong :premises (t40.t2.t1))
+(step t40.t2.t3 (cl (! (= veriT_vr63 veriT_sk2) :named @p_772)) :rule refl)
+(step t40.t2.t4 (cl (! (= @p_546 (! (run$a @p_769 veriT_sk2) :named @p_712)) :named @p_773)) :rule cong :premises (t40.t2.t2 t40.t2.t3))
+(step t40.t2.t5 (cl (! (= @p_548 (! (is_fail$a @p_712) :named @p_720)) :named @p_791)) :rule cong :premises (t40.t2.t4))
+(anchor :step t40.t2.t6 :args ((veriT_vr64 E$) (veriT_vr65 D$)))
+(step t40.t2.t6.t1 (cl @p_754) :rule refl)
+(step t40.t2.t6.t2 (cl @p_771) :rule cong :premises (t40.t2.t6.t1))
+(step t40.t2.t6.t3 (cl @p_772) :rule refl)
+(step t40.t2.t6.t4 (cl @p_773) :rule cong :premises (t40.t2.t6.t2 t40.t2.t6.t3))
+(step t40.t2.t6.t5 (cl (= @p_581 (! (is_res$a @p_712 @p_580) :named @p_774))) :rule cong :premises (t40.t2.t6.t4))
+(step t40.t2.t6.t6 (cl @p_754) :rule refl)
+(step t40.t2.t6.t7 (cl (= @p_583 (! (c$ veriT_vr64 veriT_sk0) :named @p_775))) :rule cong :premises (t40.t2.t6.t6))
+(step t40.t2.t6.t8 (cl (= @p_585 (! (run$b @p_775 veriT_vr65) :named @p_776))) :rule cong :premises (t40.t2.t6.t7))
+(step t40.t2.t6.t9 (cl (= @p_586 (! (is_fail$b @p_776) :named @p_777))) :rule cong :premises (t40.t2.t6.t8))
+(step t40.t2.t6.t10 (cl (= @p_587 (! (and @p_774 @p_777) :named @p_778))) :rule cong :premises (t40.t2.t6.t5 t40.t2.t6.t9))
+(step t40.t2.t6 (cl (= @p_576 (! (exists ((veriT_vr64 E$) (veriT_vr65 D$)) @p_778) :named @p_770))) :rule bind)
+(step t40.t2.t7 (cl @p_760) :rule refl)
+(step t40.t2.t8 (cl (! (= @p_588 (! (b$ veriT_sk1) :named @p_779)) :named @p_781)) :rule cong :premises (t40.t2.t7))
+(step t40.t2.t9 (cl @p_772) :rule refl)
+(step t40.t2.t10 (cl (! (= @p_547 (! (run$a @p_779 veriT_sk2) :named @p_714)) :named @p_782)) :rule cong :premises (t40.t2.t8 t40.t2.t9))
+(step t40.t2.t11 (cl (! (= @p_549 (! (is_fail$a @p_714) :named @p_726)) :named @p_809)) :rule cong :premises (t40.t2.t10))
+(anchor :step t40.t2.t12 :args ((:= (veriT_vr66 E$) veriT_sk3) (:= (veriT_vr67 D$) veriT_sk4)))
+(step t40.t2.t12.t1 (cl @p_760) :rule refl)
+(step t40.t2.t12.t2 (cl @p_781) :rule cong :premises (t40.t2.t12.t1))
+(step t40.t2.t12.t3 (cl @p_772) :rule refl)
+(step t40.t2.t12.t4 (cl @p_782) :rule cong :premises (t40.t2.t12.t2 t40.t2.t12.t3))
+(step t40.t2.t12.t5 (cl (! (= veriT_vr66 veriT_sk3) :named @p_785)) :rule refl)
+(step t40.t2.t12.t6 (cl (! (= veriT_vr67 veriT_sk4) :named @p_787)) :rule refl)
+(step t40.t2.t12.t7 (cl (= @p_592 (! (pair$a veriT_sk3 veriT_sk4) :named @p_783))) :rule cong :premises (t40.t2.t12.t5 t40.t2.t12.t6))
+(step t40.t2.t12.t8 (cl (= @p_593 (! (is_res$a @p_714 @p_783) :named @p_784))) :rule cong :premises (t40.t2.t12.t4 t40.t2.t12.t7))
+(step t40.t2.t12.t9 (cl @p_785) :rule refl)
+(step t40.t2.t12.t10 (cl @p_760) :rule refl)
+(step t40.t2.t12.t11 (cl (= @p_595 (! (c$ veriT_sk3 veriT_sk1) :named @p_786))) :rule cong :premises (t40.t2.t12.t9 t40.t2.t12.t10))
+(step t40.t2.t12.t12 (cl @p_787) :rule refl)
+(step t40.t2.t12.t13 (cl (= @p_597 (! (run$b @p_786 veriT_sk4) :named @p_788))) :rule cong :premises (t40.t2.t12.t11 t40.t2.t12.t12))
+(step t40.t2.t12.t14 (cl (= @p_598 (! (is_fail$b @p_788) :named @p_789))) :rule cong :premises (t40.t2.t12.t13))
+(step t40.t2.t12.t15 (cl (= @p_599 (! (and @p_784 @p_789) :named @p_780))) :rule cong :premises (t40.t2.t12.t8 t40.t2.t12.t14))
+(step t40.t2.t12 (cl (= @p_589 @p_780)) :rule sko_ex)
+(step t40.t2.t13 (cl (= @p_600 (! (or @p_726 @p_780) :named @p_790))) :rule cong :premises (t40.t2.t11 t40.t2.t12))
+(step t40.t2.t14 (cl @p_754) :rule refl)
+(step t40.t2.t15 (cl @p_771) :rule cong :premises (t40.t2.t14))
+(step t40.t2.t16 (cl @p_772) :rule refl)
+(step t40.t2.t17 (cl @p_773) :rule cong :premises (t40.t2.t15 t40.t2.t16))
+(step t40.t2.t18 (cl @p_791) :rule cong :premises (t40.t2.t17))
+(anchor :step t40.t2.t19 :args ((veriT_vr68 E$) (veriT_vr69 D$)))
+(step t40.t2.t19.t1 (cl @p_754) :rule refl)
+(step t40.t2.t19.t2 (cl @p_771) :rule cong :premises (t40.t2.t19.t1))
+(step t40.t2.t19.t3 (cl @p_772) :rule refl)
+(step t40.t2.t19.t4 (cl @p_773) :rule cong :premises (t40.t2.t19.t2 t40.t2.t19.t3))
+(step t40.t2.t19.t5 (cl (= @p_604 (! (is_res$a @p_712 @p_603) :named @p_793))) :rule cong :premises (t40.t2.t19.t4))
+(step t40.t2.t19.t6 (cl @p_754) :rule refl)
+(step t40.t2.t19.t7 (cl (= @p_606 (! (c$ veriT_vr68 veriT_sk0) :named @p_794))) :rule cong :premises (t40.t2.t19.t6))
+(step t40.t2.t19.t8 (cl (= @p_608 (! (run$b @p_794 veriT_vr69) :named @p_795))) :rule cong :premises (t40.t2.t19.t7))
+(step t40.t2.t19.t9 (cl (= @p_609 (! (is_fail$b @p_795) :named @p_796))) :rule cong :premises (t40.t2.t19.t8))
+(step t40.t2.t19.t10 (cl (= @p_610 (! (and @p_793 @p_796) :named @p_797))) :rule cong :premises (t40.t2.t19.t5 t40.t2.t19.t9))
+(step t40.t2.t19 (cl (= @p_602 (! (exists ((veriT_vr68 E$) (veriT_vr69 D$)) @p_797) :named @p_792))) :rule bind)
+(step t40.t2.t20 (cl (= @p_611 (! (or @p_720 @p_792) :named @p_798))) :rule cong :premises (t40.t2.t18 t40.t2.t19))
+(step t40.t2.t21 (cl (= @p_613 (! (=> @p_790 @p_798) :named @p_799))) :rule cong :premises (t40.t2.t13 t40.t2.t20))
+(step t40.t2.t22 (cl @p_754) :rule refl)
+(step t40.t2.t23 (cl @p_771) :rule cong :premises (t40.t2.t22))
+(step t40.t2.t24 (cl @p_772) :rule refl)
+(step t40.t2.t25 (cl @p_773) :rule cong :premises (t40.t2.t23 t40.t2.t24))
+(step t40.t2.t26 (cl @p_791) :rule cong :premises (t40.t2.t25))
+(anchor :step t40.t2.t27 :args ((:= (veriT_vr70 E$) veriT_sk5) (:= (veriT_vr71 D$) veriT_sk6)))
+(step t40.t2.t27.t1 (cl @p_754) :rule refl)
+(step t40.t2.t27.t2 (cl @p_771) :rule cong :premises (t40.t2.t27.t1))
+(step t40.t2.t27.t3 (cl @p_772) :rule refl)
+(step t40.t2.t27.t4 (cl @p_773) :rule cong :premises (t40.t2.t27.t2 t40.t2.t27.t3))
+(step t40.t2.t27.t5 (cl (! (= veriT_vr70 veriT_sk5) :named @p_803)) :rule refl)
+(step t40.t2.t27.t6 (cl (! (= veriT_vr71 veriT_sk6) :named @p_805)) :rule refl)
+(step t40.t2.t27.t7 (cl (= @p_615 (! (pair$a veriT_sk5 veriT_sk6) :named @p_801))) :rule cong :premises (t40.t2.t27.t5 t40.t2.t27.t6))
+(step t40.t2.t27.t8 (cl (= @p_616 (! (is_res$a @p_712 @p_801) :named @p_802))) :rule cong :premises (t40.t2.t27.t4 t40.t2.t27.t7))
+(step t40.t2.t27.t9 (cl @p_803) :rule refl)
+(step t40.t2.t27.t10 (cl @p_754) :rule refl)
+(step t40.t2.t27.t11 (cl (= @p_618 (! (c$ veriT_sk5 veriT_sk0) :named @p_804))) :rule cong :premises (t40.t2.t27.t9 t40.t2.t27.t10))
+(step t40.t2.t27.t12 (cl @p_805) :rule refl)
+(step t40.t2.t27.t13 (cl (= @p_620 (! (run$b @p_804 veriT_sk6) :named @p_806))) :rule cong :premises (t40.t2.t27.t11 t40.t2.t27.t12))
+(step t40.t2.t27.t14 (cl (= @p_621 (! (is_fail$b @p_806) :named @p_807))) :rule cong :premises (t40.t2.t27.t13))
+(step t40.t2.t27.t15 (cl (= @p_622 (! (and @p_802 @p_807) :named @p_800))) :rule cong :premises (t40.t2.t27.t8 t40.t2.t27.t14))
+(step t40.t2.t27 (cl (= @p_614 @p_800)) :rule sko_ex)
+(step t40.t2.t28 (cl (= @p_623 (! (or @p_720 @p_800) :named @p_808))) :rule cong :premises (t40.t2.t26 t40.t2.t27))
+(step t40.t2.t29 (cl @p_760) :rule refl)
+(step t40.t2.t30 (cl @p_781) :rule cong :premises (t40.t2.t29))
+(step t40.t2.t31 (cl @p_772) :rule refl)
+(step t40.t2.t32 (cl @p_782) :rule cong :premises (t40.t2.t30 t40.t2.t31))
+(step t40.t2.t33 (cl @p_809) :rule cong :premises (t40.t2.t32))
+(anchor :step t40.t2.t34 :args ((veriT_vr72 E$) (veriT_vr73 D$)))
+(step t40.t2.t34.t1 (cl @p_760) :rule refl)
+(step t40.t2.t34.t2 (cl @p_781) :rule cong :premises (t40.t2.t34.t1))
+(step t40.t2.t34.t3 (cl @p_772) :rule refl)
+(step t40.t2.t34.t4 (cl @p_782) :rule cong :premises (t40.t2.t34.t2 t40.t2.t34.t3))
+(step t40.t2.t34.t5 (cl (= @p_627 (! (is_res$a @p_714 @p_626) :named @p_811))) :rule cong :premises (t40.t2.t34.t4))
+(step t40.t2.t34.t6 (cl @p_760) :rule refl)
+(step t40.t2.t34.t7 (cl (= @p_629 (! (c$ veriT_vr72 veriT_sk1) :named @p_812))) :rule cong :premises (t40.t2.t34.t6))
+(step t40.t2.t34.t8 (cl (= @p_631 (! (run$b @p_812 veriT_vr73) :named @p_813))) :rule cong :premises (t40.t2.t34.t7))
+(step t40.t2.t34.t9 (cl (= @p_632 (! (is_fail$b @p_813) :named @p_814))) :rule cong :premises (t40.t2.t34.t8))
+(step t40.t2.t34.t10 (cl (= @p_633 (! (and @p_811 @p_814) :named @p_815))) :rule cong :premises (t40.t2.t34.t5 t40.t2.t34.t9))
+(step t40.t2.t34 (cl (= @p_625 (! (exists ((veriT_vr72 E$) (veriT_vr73 D$)) @p_815) :named @p_810))) :rule bind)
+(step t40.t2.t35 (cl (= @p_634 (! (or @p_726 @p_810) :named @p_816))) :rule cong :premises (t40.t2.t33 t40.t2.t34))
+(step t40.t2.t36 (cl (= @p_636 (! (=> @p_808 @p_816) :named @p_817))) :rule cong :premises (t40.t2.t28 t40.t2.t35))
+(step t40.t2.t37 (cl (= @p_637 (! (and @p_799 @p_817) :named @p_818))) :rule cong :premises (t40.t2.t21 t40.t2.t36))
+(anchor :step t40.t2.t38 :args ((:= (veriT_vr74 F$) veriT_sk7) (:= (veriT_vr75 D$) veriT_sk8)))
+(step t40.t2.t38.t1 (cl @p_760) :rule refl)
+(step t40.t2.t38.t2 (cl @p_781) :rule cong :premises (t40.t2.t38.t1))
+(step t40.t2.t38.t3 (cl @p_772) :rule refl)
+(step t40.t2.t38.t4 (cl @p_782) :rule cong :premises (t40.t2.t38.t2 t40.t2.t38.t3))
+(step t40.t2.t38.t5 (cl @p_809) :rule cong :premises (t40.t2.t38.t4))
+(anchor :step t40.t2.t38.t6 :args ((:= (veriT_vr76 E$) veriT_sk9) (:= (veriT_vr77 D$) veriT_sk10)))
+(step t40.t2.t38.t6.t1 (cl @p_760) :rule refl)
+(step t40.t2.t38.t6.t2 (cl @p_781) :rule cong :premises (t40.t2.t38.t6.t1))
+(step t40.t2.t38.t6.t3 (cl @p_772) :rule refl)
+(step t40.t2.t38.t6.t4 (cl @p_782) :rule cong :premises (t40.t2.t38.t6.t2 t40.t2.t38.t6.t3))
+(step t40.t2.t38.t6.t5 (cl (! (= veriT_vr76 veriT_sk9) :named @p_823)) :rule refl)
+(step t40.t2.t38.t6.t6 (cl (! (= veriT_vr77 veriT_sk10) :named @p_825)) :rule refl)
+(step t40.t2.t38.t6.t7 (cl (= @p_640 (! (pair$a veriT_sk9 veriT_sk10) :named @p_821))) :rule cong :premises (t40.t2.t38.t6.t5 t40.t2.t38.t6.t6))
+(step t40.t2.t38.t6.t8 (cl (= @p_641 (! (is_res$a @p_714 @p_821) :named @p_822))) :rule cong :premises (t40.t2.t38.t6.t4 t40.t2.t38.t6.t7))
+(step t40.t2.t38.t6.t9 (cl @p_823) :rule refl)
+(step t40.t2.t38.t6.t10 (cl @p_760) :rule refl)
+(step t40.t2.t38.t6.t11 (cl (= @p_643 (! (c$ veriT_sk9 veriT_sk1) :named @p_824))) :rule cong :premises (t40.t2.t38.t6.t9 t40.t2.t38.t6.t10))
+(step t40.t2.t38.t6.t12 (cl @p_825) :rule refl)
+(step t40.t2.t38.t6.t13 (cl (= @p_645 (! (run$b @p_824 veriT_sk10) :named @p_826))) :rule cong :premises (t40.t2.t38.t6.t11 t40.t2.t38.t6.t12))
+(step t40.t2.t38.t6.t14 (cl (! (= veriT_vr74 veriT_sk7) :named @p_833)) :rule refl)
+(step t40.t2.t38.t6.t15 (cl (! (= veriT_vr75 veriT_sk8) :named @p_834)) :rule refl)
+(step t40.t2.t38.t6.t16 (cl (! (= @p_550 (! (pair$b veriT_sk7 veriT_sk8) :named @p_747)) :named @p_835)) :rule cong :premises (t40.t2.t38.t6.t14 t40.t2.t38.t6.t15))
+(step t40.t2.t38.t6.t17 (cl (= @p_646 (! (is_res$b @p_826 @p_747) :named @p_827))) :rule cong :premises (t40.t2.t38.t6.t13 t40.t2.t38.t6.t16))
+(step t40.t2.t38.t6.t18 (cl (= @p_647 (! (and @p_822 @p_827) :named @p_820))) :rule cong :premises (t40.t2.t38.t6.t8 t40.t2.t38.t6.t17))
+(step t40.t2.t38.t6 (cl (= @p_639 @p_820)) :rule sko_ex)
+(step t40.t2.t38.t7 (cl (= @p_648 (! (or @p_726 @p_820) :named @p_828))) :rule cong :premises (t40.t2.t38.t5 t40.t2.t38.t6))
+(step t40.t2.t38.t8 (cl @p_754) :rule refl)
+(step t40.t2.t38.t9 (cl @p_771) :rule cong :premises (t40.t2.t38.t8))
+(step t40.t2.t38.t10 (cl @p_772) :rule refl)
+(step t40.t2.t38.t11 (cl @p_773) :rule cong :premises (t40.t2.t38.t9 t40.t2.t38.t10))
+(step t40.t2.t38.t12 (cl @p_791) :rule cong :premises (t40.t2.t38.t11))
+(anchor :step t40.t2.t38.t13 :args ((veriT_vr78 E$) (veriT_vr79 D$)))
+(step t40.t2.t38.t13.t1 (cl @p_754) :rule refl)
+(step t40.t2.t38.t13.t2 (cl @p_771) :rule cong :premises (t40.t2.t38.t13.t1))
+(step t40.t2.t38.t13.t3 (cl @p_772) :rule refl)
+(step t40.t2.t38.t13.t4 (cl @p_773) :rule cong :premises (t40.t2.t38.t13.t2 t40.t2.t38.t13.t3))
+(step t40.t2.t38.t13.t5 (cl (= @p_651 (! (is_res$a @p_712 @p_650) :named @p_830))) :rule cong :premises (t40.t2.t38.t13.t4))
+(step t40.t2.t38.t13.t6 (cl @p_754) :rule refl)
+(step t40.t2.t38.t13.t7 (cl (= @p_653 (! (c$ veriT_vr78 veriT_sk0) :named @p_831))) :rule cong :premises (t40.t2.t38.t13.t6))
+(step t40.t2.t38.t13.t8 (cl (= @p_655 (! (run$b @p_831 veriT_vr79) :named @p_832))) :rule cong :premises (t40.t2.t38.t13.t7))
+(step t40.t2.t38.t13.t9 (cl @p_833) :rule refl)
+(step t40.t2.t38.t13.t10 (cl @p_834) :rule refl)
+(step t40.t2.t38.t13.t11 (cl @p_835) :rule cong :premises (t40.t2.t38.t13.t9 t40.t2.t38.t13.t10))
+(step t40.t2.t38.t13.t12 (cl (= @p_659 (! (is_res$b @p_832 @p_747) :named @p_836))) :rule cong :premises (t40.t2.t38.t13.t8 t40.t2.t38.t13.t11))
+(step t40.t2.t38.t13.t13 (cl (= @p_660 (! (and @p_830 @p_836) :named @p_837))) :rule cong :premises (t40.t2.t38.t13.t5 t40.t2.t38.t13.t12))
+(step t40.t2.t38.t13 (cl (= @p_649 (! (exists ((veriT_vr78 E$) (veriT_vr79 D$)) @p_837) :named @p_829))) :rule bind)
+(step t40.t2.t38.t14 (cl (= @p_661 (! (or @p_720 @p_829) :named @p_838))) :rule cong :premises (t40.t2.t38.t12 t40.t2.t38.t13))
+(step t40.t2.t38.t15 (cl (= @p_663 (! (=> @p_828 @p_838) :named @p_839))) :rule cong :premises (t40.t2.t38.t7 t40.t2.t38.t14))
+(step t40.t2.t38.t16 (cl @p_754) :rule refl)
+(step t40.t2.t38.t17 (cl @p_771) :rule cong :premises (t40.t2.t38.t16))
+(step t40.t2.t38.t18 (cl @p_772) :rule refl)
+(step t40.t2.t38.t19 (cl @p_773) :rule cong :premises (t40.t2.t38.t17 t40.t2.t38.t18))
+(step t40.t2.t38.t20 (cl @p_791) :rule cong :premises (t40.t2.t38.t19))
+(anchor :step t40.t2.t38.t21 :args ((:= (veriT_vr80 E$) veriT_sk11) (:= (veriT_vr81 D$) veriT_sk12)))
+(step t40.t2.t38.t21.t1 (cl @p_754) :rule refl)
+(step t40.t2.t38.t21.t2 (cl @p_771) :rule cong :premises (t40.t2.t38.t21.t1))
+(step t40.t2.t38.t21.t3 (cl @p_772) :rule refl)
+(step t40.t2.t38.t21.t4 (cl @p_773) :rule cong :premises (t40.t2.t38.t21.t2 t40.t2.t38.t21.t3))
+(step t40.t2.t38.t21.t5 (cl (! (= veriT_vr80 veriT_sk11) :named @p_843)) :rule refl)
+(step t40.t2.t38.t21.t6 (cl (! (= veriT_vr81 veriT_sk12) :named @p_845)) :rule refl)
+(step t40.t2.t38.t21.t7 (cl (= @p_665 (! (pair$a veriT_sk11 veriT_sk12) :named @p_841))) :rule cong :premises (t40.t2.t38.t21.t5 t40.t2.t38.t21.t6))
+(step t40.t2.t38.t21.t8 (cl (= @p_666 (! (is_res$a @p_712 @p_841) :named @p_842))) :rule cong :premises (t40.t2.t38.t21.t4 t40.t2.t38.t21.t7))
+(step t40.t2.t38.t21.t9 (cl @p_843) :rule refl)
+(step t40.t2.t38.t21.t10 (cl @p_754) :rule refl)
+(step t40.t2.t38.t21.t11 (cl (= @p_668 (! (c$ veriT_sk11 veriT_sk0) :named @p_844))) :rule cong :premises (t40.t2.t38.t21.t9 t40.t2.t38.t21.t10))
+(step t40.t2.t38.t21.t12 (cl @p_845) :rule refl)
+(step t40.t2.t38.t21.t13 (cl (= @p_670 (! (run$b @p_844 veriT_sk12) :named @p_846))) :rule cong :premises (t40.t2.t38.t21.t11 t40.t2.t38.t21.t12))
+(step t40.t2.t38.t21.t14 (cl @p_833) :rule refl)
+(step t40.t2.t38.t21.t15 (cl @p_834) :rule refl)
+(step t40.t2.t38.t21.t16 (cl @p_835) :rule cong :premises (t40.t2.t38.t21.t14 t40.t2.t38.t21.t15))
+(step t40.t2.t38.t21.t17 (cl (= @p_671 (! (is_res$b @p_846 @p_747) :named @p_847))) :rule cong :premises (t40.t2.t38.t21.t13 t40.t2.t38.t21.t16))
+(step t40.t2.t38.t21.t18 (cl (= @p_672 (! (and @p_842 @p_847) :named @p_840))) :rule cong :premises (t40.t2.t38.t21.t8 t40.t2.t38.t21.t17))
+(step t40.t2.t38.t21 (cl (= @p_664 @p_840)) :rule sko_ex)
+(step t40.t2.t38.t22 (cl (= @p_673 (! (or @p_720 @p_840) :named @p_848))) :rule cong :premises (t40.t2.t38.t20 t40.t2.t38.t21))
+(step t40.t2.t38.t23 (cl @p_760) :rule refl)
+(step t40.t2.t38.t24 (cl @p_781) :rule cong :premises (t40.t2.t38.t23))
+(step t40.t2.t38.t25 (cl @p_772) :rule refl)
+(step t40.t2.t38.t26 (cl @p_782) :rule cong :premises (t40.t2.t38.t24 t40.t2.t38.t25))
+(step t40.t2.t38.t27 (cl @p_809) :rule cong :premises (t40.t2.t38.t26))
+(anchor :step t40.t2.t38.t28 :args ((veriT_vr82 E$) (veriT_vr83 D$)))
+(step t40.t2.t38.t28.t1 (cl @p_760) :rule refl)
+(step t40.t2.t38.t28.t2 (cl @p_781) :rule cong :premises (t40.t2.t38.t28.t1))
+(step t40.t2.t38.t28.t3 (cl @p_772) :rule refl)
+(step t40.t2.t38.t28.t4 (cl @p_782) :rule cong :premises (t40.t2.t38.t28.t2 t40.t2.t38.t28.t3))
+(step t40.t2.t38.t28.t5 (cl (= @p_676 (! (is_res$a @p_714 @p_675) :named @p_850))) :rule cong :premises (t40.t2.t38.t28.t4))
+(step t40.t2.t38.t28.t6 (cl @p_760) :rule refl)
+(step t40.t2.t38.t28.t7 (cl (= @p_678 (! (c$ veriT_vr82 veriT_sk1) :named @p_851))) :rule cong :premises (t40.t2.t38.t28.t6))
+(step t40.t2.t38.t28.t8 (cl (= @p_680 (! (run$b @p_851 veriT_vr83) :named @p_852))) :rule cong :premises (t40.t2.t38.t28.t7))
+(step t40.t2.t38.t28.t9 (cl @p_833) :rule refl)
+(step t40.t2.t38.t28.t10 (cl @p_834) :rule refl)
+(step t40.t2.t38.t28.t11 (cl @p_835) :rule cong :premises (t40.t2.t38.t28.t9 t40.t2.t38.t28.t10))
+(step t40.t2.t38.t28.t12 (cl (= @p_681 (! (is_res$b @p_852 @p_747) :named @p_853))) :rule cong :premises (t40.t2.t38.t28.t8 t40.t2.t38.t28.t11))
+(step t40.t2.t38.t28.t13 (cl (= @p_682 (! (and @p_850 @p_853) :named @p_854))) :rule cong :premises (t40.t2.t38.t28.t5 t40.t2.t38.t28.t12))
+(step t40.t2.t38.t28 (cl (= @p_674 (! (exists ((veriT_vr82 E$) (veriT_vr83 D$)) @p_854) :named @p_849))) :rule bind)
+(step t40.t2.t38.t29 (cl (= @p_683 (! (or @p_726 @p_849) :named @p_855))) :rule cong :premises (t40.t2.t38.t27 t40.t2.t38.t28))
+(step t40.t2.t38.t30 (cl (= @p_685 (! (=> @p_848 @p_855) :named @p_856))) :rule cong :premises (t40.t2.t38.t22 t40.t2.t38.t29))
+(step t40.t2.t38.t31 (cl (= @p_686 (! (and @p_839 @p_856) :named @p_819))) :rule cong :premises (t40.t2.t38.t15 t40.t2.t38.t30))
+(step t40.t2.t38 (cl (= @p_638 @p_819)) :rule sko_forall)
+(step t40.t2.t39 (cl (= @p_687 (! (and @p_818 @p_819) :named @p_857))) :rule cong :premises (t40.t2.t37 t40.t2.t38))
+(step t40.t2.t40 (cl (= @p_688 (! (or @p_720 @p_770 @p_857) :named @p_768))) :rule cong :premises (t40.t2.t5 t40.t2.t6 t40.t2.t39))
+(step t40.t2 (cl (= @p_574 @p_768)) :rule sko_forall)
+(step t40.t3 (cl (= @p_689 (! (=> @p_750 @p_768) :named @p_858))) :rule cong :premises (t40.t1 t40.t2))
+(step t40 (cl (= @p_690 @p_858)) :rule sko_forall)
+(step t41 (cl (= @p_693 (! (not @p_858) :named @p_859))) :rule cong :premises (t40))
+(step t42 (cl (! (= @p_695 (! (and @p_691 @p_692 @p_859) :named @p_861)) :named @p_860)) :rule cong :premises (t41))
+(step t43 (cl (not @p_860) (not @p_695) @p_861) :rule equiv_pos2)
+(step t44 (cl @p_861) :rule th_resolution :premises (t39 t42 t43))
+(anchor :step t45 :args ((:= (veriT_vr38 A_b_c_M_state_fun$) veriT_vr84) (:= (veriT_vr39 A_b_c_M_state_fun$) veriT_vr85)))
+(anchor :step t45.t1 :args ((:= (veriT_vr40 A$) veriT_vr86) (:= (veriT_vr41 C$) veriT_vr87)))
+(step t45.t1.t1 (cl (! (= veriT_vr38 veriT_vr84) :named @p_876)) :rule refl)
+(step t45.t1.t2 (cl (! (= veriT_vr40 veriT_vr86) :named @p_872)) :rule refl)
+(step t45.t1.t3 (cl (! (= @p_446 (! (fun_app$ veriT_vr84 veriT_vr86) :named @p_871)) :named @p_877)) :rule cong :premises (t45.t1.t1 t45.t1.t2))
+(step t45.t1.t4 (cl (! (= veriT_vr41 veriT_vr87) :named @p_874)) :rule refl)
+(step t45.t1.t5 (cl (! (= @p_439 (! (run$ @p_871 veriT_vr87) :named @p_864)) :named @p_878)) :rule cong :premises (t45.t1.t3 t45.t1.t4))
+(step t45.t1.t6 (cl (! (= @p_437 (! (is_fail$ @p_864) :named @p_862)) :named @p_879)) :rule cong :premises (t45.t1.t5))
+(step t45.t1.t7 (cl (! (= veriT_vr39 veriT_vr85) :named @p_882)) :rule refl)
+(step t45.t1.t8 (cl @p_872) :rule refl)
+(step t45.t1.t9 (cl (! (= @p_448 (! (fun_app$ veriT_vr85 veriT_vr86) :named @p_873)) :named @p_883)) :rule cong :premises (t45.t1.t7 t45.t1.t8))
+(step t45.t1.t10 (cl @p_874) :rule refl)
+(step t45.t1.t11 (cl (! (= @p_438 (! (run$ @p_873 veriT_vr87) :named @p_863)) :named @p_884)) :rule cong :premises (t45.t1.t9 t45.t1.t10))
+(step t45.t1.t12 (cl (= @p_450 (! (is_fail$ @p_863) :named @p_875))) :rule cong :premises (t45.t1.t11))
+(step t45.t1.t13 (cl @p_876) :rule refl)
+(step t45.t1.t14 (cl @p_872) :rule refl)
+(step t45.t1.t15 (cl @p_877) :rule cong :premises (t45.t1.t13 t45.t1.t14))
+(step t45.t1.t16 (cl @p_874) :rule refl)
+(step t45.t1.t17 (cl @p_878) :rule cong :premises (t45.t1.t15 t45.t1.t16))
+(step t45.t1.t18 (cl @p_879) :rule cong :premises (t45.t1.t17))
+(step t45.t1.t19 (cl (= @p_455 (! (= @p_875 @p_862) :named @p_880))) :rule cong :premises (t45.t1.t12 t45.t1.t18))
+(anchor :step t45.t1.t20 :args ((:= (veriT_vr42 B$) veriT_vr88) (:= (veriT_vr43 C$) veriT_vr89)))
+(step t45.t1.t20.t1 (cl @p_882) :rule refl)
+(step t45.t1.t20.t2 (cl @p_872) :rule refl)
+(step t45.t1.t20.t3 (cl @p_883) :rule cong :premises (t45.t1.t20.t1 t45.t1.t20.t2))
+(step t45.t1.t20.t4 (cl @p_874) :rule refl)
+(step t45.t1.t20.t5 (cl @p_884) :rule cong :premises (t45.t1.t20.t3 t45.t1.t20.t4))
+(step t45.t1.t20.t6 (cl (! (= veriT_vr42 veriT_vr88) :named @p_886)) :rule refl)
+(step t45.t1.t20.t7 (cl (! (= veriT_vr43 veriT_vr89) :named @p_887)) :rule refl)
+(step t45.t1.t20.t8 (cl (! (= @p_440 (! (pair$ veriT_vr88 veriT_vr89) :named @p_865)) :named @p_888)) :rule cong :premises (t45.t1.t20.t6 t45.t1.t20.t7))
+(step t45.t1.t20.t9 (cl (= @p_460 (! (is_res$ @p_863 @p_865) :named @p_885))) :rule cong :premises (t45.t1.t20.t5 t45.t1.t20.t8))
+(step t45.t1.t20.t10 (cl @p_876) :rule refl)
+(step t45.t1.t20.t11 (cl @p_872) :rule refl)
+(step t45.t1.t20.t12 (cl @p_877) :rule cong :premises (t45.t1.t20.t10 t45.t1.t20.t11))
+(step t45.t1.t20.t13 (cl @p_874) :rule refl)
+(step t45.t1.t20.t14 (cl @p_878) :rule cong :premises (t45.t1.t20.t12 t45.t1.t20.t13))
+(step t45.t1.t20.t15 (cl @p_886) :rule refl)
+(step t45.t1.t20.t16 (cl @p_887) :rule refl)
+(step t45.t1.t20.t17 (cl @p_888) :rule cong :premises (t45.t1.t20.t15 t45.t1.t20.t16))
+(step t45.t1.t20.t18 (cl (= @p_464 (! (is_res$ @p_864 @p_865) :named @p_889))) :rule cong :premises (t45.t1.t20.t14 t45.t1.t20.t17))
+(step t45.t1.t20.t19 (cl (= @p_465 (! (= @p_885 @p_889) :named @p_890))) :rule cong :premises (t45.t1.t20.t9 t45.t1.t20.t18))
+(step t45.t1.t20 (cl (= @p_456 (! (forall ((veriT_vr88 B$) (veriT_vr89 C$)) @p_890) :named @p_881))) :rule bind)
+(step t45.t1.t21 (cl (= @p_466 (! (and @p_880 @p_881) :named @p_891))) :rule cong :premises (t45.t1.t19 t45.t1.t20))
+(step t45.t1.t22 (cl (= @p_467 (! (or @p_862 @p_891) :named @p_892))) :rule cong :premises (t45.t1.t6 t45.t1.t21))
+(step t45.t1 (cl (= @p_445 (! (forall ((veriT_vr86 A$) (veriT_vr87 C$)) @p_892) :named @p_870))) :rule bind)
+(anchor :step t45.t2 :args ((:= (veriT_vr44 D$) veriT_vr90)))
+(step t45.t2.t1 (cl @p_876) :rule refl)
+(step t45.t2.t2 (cl (! (= @p_469 (! (b$ veriT_vr84) :named @p_894)) :named @p_898)) :rule cong :premises (t45.t2.t1))
+(step t45.t2.t3 (cl (! (= veriT_vr44 veriT_vr90) :named @p_896)) :rule refl)
+(step t45.t2.t4 (cl (! (= @p_443 (! (run$a @p_894 veriT_vr90) :named @p_868)) :named @p_899)) :rule cong :premises (t45.t2.t2 t45.t2.t3))
+(step t45.t2.t5 (cl (! (= @p_441 (! (is_fail$a @p_868) :named @p_866)) :named @p_900)) :rule cong :premises (t45.t2.t4))
+(step t45.t2.t6 (cl @p_882) :rule refl)
+(step t45.t2.t7 (cl (! (= @p_470 (! (b$ veriT_vr85) :named @p_895)) :named @p_903)) :rule cong :premises (t45.t2.t6))
+(step t45.t2.t8 (cl @p_896) :rule refl)
+(step t45.t2.t9 (cl (! (= @p_442 (! (run$a @p_895 veriT_vr90) :named @p_867)) :named @p_904)) :rule cong :premises (t45.t2.t7 t45.t2.t8))
+(step t45.t2.t10 (cl (= @p_472 (! (is_fail$a @p_867) :named @p_897))) :rule cong :premises (t45.t2.t9))
+(step t45.t2.t11 (cl @p_876) :rule refl)
+(step t45.t2.t12 (cl @p_898) :rule cong :premises (t45.t2.t11))
+(step t45.t2.t13 (cl @p_896) :rule refl)
+(step t45.t2.t14 (cl @p_899) :rule cong :premises (t45.t2.t12 t45.t2.t13))
+(step t45.t2.t15 (cl @p_900) :rule cong :premises (t45.t2.t14))
+(step t45.t2.t16 (cl (= @p_476 (! (= @p_897 @p_866) :named @p_901))) :rule cong :premises (t45.t2.t10 t45.t2.t15))
+(anchor :step t45.t2.t17 :args ((:= (veriT_vr45 E$) veriT_vr91) (:= (veriT_vr46 D$) veriT_vr92)))
+(step t45.t2.t17.t1 (cl @p_882) :rule refl)
+(step t45.t2.t17.t2 (cl @p_903) :rule cong :premises (t45.t2.t17.t1))
+(step t45.t2.t17.t3 (cl @p_896) :rule refl)
+(step t45.t2.t17.t4 (cl @p_904) :rule cong :premises (t45.t2.t17.t2 t45.t2.t17.t3))
+(step t45.t2.t17.t5 (cl (! (= veriT_vr45 veriT_vr91) :named @p_906)) :rule refl)
+(step t45.t2.t17.t6 (cl (! (= veriT_vr46 veriT_vr92) :named @p_907)) :rule refl)
+(step t45.t2.t17.t7 (cl (! (= @p_444 (! (pair$a veriT_vr91 veriT_vr92) :named @p_869)) :named @p_908)) :rule cong :premises (t45.t2.t17.t5 t45.t2.t17.t6))
+(step t45.t2.t17.t8 (cl (= @p_480 (! (is_res$a @p_867 @p_869) :named @p_905))) :rule cong :premises (t45.t2.t17.t4 t45.t2.t17.t7))
+(step t45.t2.t17.t9 (cl @p_876) :rule refl)
+(step t45.t2.t17.t10 (cl @p_898) :rule cong :premises (t45.t2.t17.t9))
+(step t45.t2.t17.t11 (cl @p_896) :rule refl)
+(step t45.t2.t17.t12 (cl @p_899) :rule cong :premises (t45.t2.t17.t10 t45.t2.t17.t11))
+(step t45.t2.t17.t13 (cl @p_906) :rule refl)
+(step t45.t2.t17.t14 (cl @p_907) :rule refl)
+(step t45.t2.t17.t15 (cl @p_908) :rule cong :premises (t45.t2.t17.t13 t45.t2.t17.t14))
+(step t45.t2.t17.t16 (cl (= @p_484 (! (is_res$a @p_868 @p_869) :named @p_909))) :rule cong :premises (t45.t2.t17.t12 t45.t2.t17.t15))
+(step t45.t2.t17.t17 (cl (= @p_485 (! (= @p_905 @p_909) :named @p_910))) :rule cong :premises (t45.t2.t17.t8 t45.t2.t17.t16))
+(step t45.t2.t17 (cl (= @p_477 (! (forall ((veriT_vr91 E$) (veriT_vr92 D$)) @p_910) :named @p_902))) :rule bind)
+(step t45.t2.t18 (cl (= @p_486 (! (and @p_901 @p_902) :named @p_911))) :rule cong :premises (t45.t2.t16 t45.t2.t17))
+(step t45.t2.t19 (cl (= @p_487 (! (or @p_866 @p_911) :named @p_912))) :rule cong :premises (t45.t2.t5 t45.t2.t18))
+(step t45.t2 (cl (= @p_468 (! (forall ((veriT_vr90 D$)) @p_912) :named @p_893))) :rule bind)
+(step t45.t3 (cl (= @p_488 (! (=> @p_870 @p_893) :named @p_913))) :rule cong :premises (t45.t1 t45.t2))
+(step t45 (cl (= @p_691 (! (forall ((veriT_vr84 A_b_c_M_state_fun$) (veriT_vr85 A_b_c_M_state_fun$)) @p_913) :named @p_1018))) :rule bind)
+(anchor :step t46 :args ((:= (veriT_vr47 E$) veriT_vr91) (:= (veriT_vr48 A_b_c_M_state_fun$) veriT_vr84) (:= (veriT_vr49 A_b_c_M_state_fun$) veriT_vr85)))
+(anchor :step t46.t1 :args ((:= (veriT_vr50 A$) veriT_vr86) (:= (veriT_vr51 C$) veriT_vr87)))
+(step t46.t1.t1 (cl (! (= veriT_vr48 veriT_vr84) :named @p_920)) :rule refl)
+(step t46.t1.t2 (cl (! (= veriT_vr50 veriT_vr86) :named @p_918)) :rule refl)
+(step t46.t1.t3 (cl (! (= @p_498 @p_871) :named @p_921)) :rule cong :premises (t46.t1.t1 t46.t1.t2))
+(step t46.t1.t4 (cl (! (= veriT_vr51 veriT_vr87) :named @p_919)) :rule refl)
+(step t46.t1.t5 (cl (! (= @p_491 @p_864) :named @p_922)) :rule cong :premises (t46.t1.t3 t46.t1.t4))
+(step t46.t1.t6 (cl (! (= @p_489 @p_862) :named @p_923)) :rule cong :premises (t46.t1.t5))
+(step t46.t1.t7 (cl (! (= veriT_vr49 veriT_vr85) :named @p_924)) :rule refl)
+(step t46.t1.t8 (cl @p_918) :rule refl)
+(step t46.t1.t9 (cl (! (= @p_500 @p_873) :named @p_925)) :rule cong :premises (t46.t1.t7 t46.t1.t8))
+(step t46.t1.t10 (cl @p_919) :rule refl)
+(step t46.t1.t11 (cl (! (= @p_490 @p_863) :named @p_926)) :rule cong :premises (t46.t1.t9 t46.t1.t10))
+(step t46.t1.t12 (cl (= @p_502 @p_875)) :rule cong :premises (t46.t1.t11))
+(step t46.t1.t13 (cl @p_920) :rule refl)
+(step t46.t1.t14 (cl @p_918) :rule refl)
+(step t46.t1.t15 (cl @p_921) :rule cong :premises (t46.t1.t13 t46.t1.t14))
+(step t46.t1.t16 (cl @p_919) :rule refl)
+(step t46.t1.t17 (cl @p_922) :rule cong :premises (t46.t1.t15 t46.t1.t16))
+(step t46.t1.t18 (cl @p_923) :rule cong :premises (t46.t1.t17))
+(step t46.t1.t19 (cl (= @p_507 @p_880)) :rule cong :premises (t46.t1.t12 t46.t1.t18))
+(anchor :step t46.t1.t20 :args ((:= (veriT_vr52 B$) veriT_vr88) (:= (veriT_vr53 C$) veriT_vr89)))
+(step t46.t1.t20.t1 (cl @p_924) :rule refl)
+(step t46.t1.t20.t2 (cl @p_918) :rule refl)
+(step t46.t1.t20.t3 (cl @p_925) :rule cong :premises (t46.t1.t20.t1 t46.t1.t20.t2))
+(step t46.t1.t20.t4 (cl @p_919) :rule refl)
+(step t46.t1.t20.t5 (cl @p_926) :rule cong :premises (t46.t1.t20.t3 t46.t1.t20.t4))
+(step t46.t1.t20.t6 (cl (! (= veriT_vr52 veriT_vr88) :named @p_927)) :rule refl)
+(step t46.t1.t20.t7 (cl (! (= veriT_vr53 veriT_vr89) :named @p_928)) :rule refl)
+(step t46.t1.t20.t8 (cl (! (= @p_492 @p_865) :named @p_929)) :rule cong :premises (t46.t1.t20.t6 t46.t1.t20.t7))
+(step t46.t1.t20.t9 (cl (= @p_512 @p_885)) :rule cong :premises (t46.t1.t20.t5 t46.t1.t20.t8))
+(step t46.t1.t20.t10 (cl @p_920) :rule refl)
+(step t46.t1.t20.t11 (cl @p_918) :rule refl)
+(step t46.t1.t20.t12 (cl @p_921) :rule cong :premises (t46.t1.t20.t10 t46.t1.t20.t11))
+(step t46.t1.t20.t13 (cl @p_919) :rule refl)
+(step t46.t1.t20.t14 (cl @p_922) :rule cong :premises (t46.t1.t20.t12 t46.t1.t20.t13))
+(step t46.t1.t20.t15 (cl @p_927) :rule refl)
+(step t46.t1.t20.t16 (cl @p_928) :rule refl)
+(step t46.t1.t20.t17 (cl @p_929) :rule cong :premises (t46.t1.t20.t15 t46.t1.t20.t16))
+(step t46.t1.t20.t18 (cl (= @p_516 @p_889)) :rule cong :premises (t46.t1.t20.t14 t46.t1.t20.t17))
+(step t46.t1.t20.t19 (cl (= @p_517 @p_890)) :rule cong :premises (t46.t1.t20.t9 t46.t1.t20.t18))
+(step t46.t1.t20 (cl (= @p_508 @p_881)) :rule bind)
+(step t46.t1.t21 (cl (= @p_518 @p_891)) :rule cong :premises (t46.t1.t19 t46.t1.t20))
+(step t46.t1.t22 (cl (= @p_519 @p_892)) :rule cong :premises (t46.t1.t6 t46.t1.t21))
+(step t46.t1 (cl (= @p_497 @p_870)) :rule bind)
+(anchor :step t46.t2 :args ((:= (veriT_vr54 D$) veriT_vr90)))
+(step t46.t2.t1 (cl (! (= veriT_vr47 veriT_vr91) :named @p_932)) :rule refl)
+(step t46.t2.t2 (cl @p_920) :rule refl)
+(step t46.t2.t3 (cl (! (= @p_521 (! (c$ veriT_vr91 veriT_vr84) :named @p_931)) :named @p_936)) :rule cong :premises (t46.t2.t1 t46.t2.t2))
+(step t46.t2.t4 (cl (! (= veriT_vr54 veriT_vr90) :named @p_934)) :rule refl)
+(step t46.t2.t5 (cl (! (= @p_495 (! (run$b @p_931 veriT_vr90) :named @p_916)) :named @p_937)) :rule cong :premises (t46.t2.t3 t46.t2.t4))
+(step t46.t2.t6 (cl (! (= @p_493 (! (is_fail$b @p_916) :named @p_914)) :named @p_938)) :rule cong :premises (t46.t2.t5))
+(step t46.t2.t7 (cl @p_932) :rule refl)
+(step t46.t2.t8 (cl @p_924) :rule refl)
+(step t46.t2.t9 (cl (! (= @p_523 (! (c$ veriT_vr91 veriT_vr85) :named @p_933)) :named @p_941)) :rule cong :premises (t46.t2.t7 t46.t2.t8))
+(step t46.t2.t10 (cl @p_934) :rule refl)
+(step t46.t2.t11 (cl (! (= @p_494 (! (run$b @p_933 veriT_vr90) :named @p_915)) :named @p_942)) :rule cong :premises (t46.t2.t9 t46.t2.t10))
+(step t46.t2.t12 (cl (= @p_525 (! (is_fail$b @p_915) :named @p_935))) :rule cong :premises (t46.t2.t11))
+(step t46.t2.t13 (cl @p_932) :rule refl)
+(step t46.t2.t14 (cl @p_920) :rule refl)
+(step t46.t2.t15 (cl @p_936) :rule cong :premises (t46.t2.t13 t46.t2.t14))
+(step t46.t2.t16 (cl @p_934) :rule refl)
+(step t46.t2.t17 (cl @p_937) :rule cong :premises (t46.t2.t15 t46.t2.t16))
+(step t46.t2.t18 (cl @p_938) :rule cong :premises (t46.t2.t17))
+(step t46.t2.t19 (cl (= @p_529 (! (= @p_935 @p_914) :named @p_939))) :rule cong :premises (t46.t2.t12 t46.t2.t18))
+(anchor :step t46.t2.t20 :args ((:= (veriT_vr55 F$) veriT_vr93) (:= (veriT_vr56 D$) veriT_vr92)))
+(step t46.t2.t20.t1 (cl @p_932) :rule refl)
+(step t46.t2.t20.t2 (cl @p_924) :rule refl)
+(step t46.t2.t20.t3 (cl @p_941) :rule cong :premises (t46.t2.t20.t1 t46.t2.t20.t2))
+(step t46.t2.t20.t4 (cl @p_934) :rule refl)
+(step t46.t2.t20.t5 (cl @p_942) :rule cong :premises (t46.t2.t20.t3 t46.t2.t20.t4))
+(step t46.t2.t20.t6 (cl (! (= veriT_vr55 veriT_vr93) :named @p_944)) :rule refl)
+(step t46.t2.t20.t7 (cl (! (= veriT_vr56 veriT_vr92) :named @p_945)) :rule refl)
+(step t46.t2.t20.t8 (cl (! (= @p_496 (! (pair$b veriT_vr93 veriT_vr92) :named @p_917)) :named @p_946)) :rule cong :premises (t46.t2.t20.t6 t46.t2.t20.t7))
+(step t46.t2.t20.t9 (cl (= @p_533 (! (is_res$b @p_915 @p_917) :named @p_943))) :rule cong :premises (t46.t2.t20.t5 t46.t2.t20.t8))
+(step t46.t2.t20.t10 (cl @p_932) :rule refl)
+(step t46.t2.t20.t11 (cl @p_920) :rule refl)
+(step t46.t2.t20.t12 (cl @p_936) :rule cong :premises (t46.t2.t20.t10 t46.t2.t20.t11))
+(step t46.t2.t20.t13 (cl @p_934) :rule refl)
+(step t46.t2.t20.t14 (cl @p_937) :rule cong :premises (t46.t2.t20.t12 t46.t2.t20.t13))
+(step t46.t2.t20.t15 (cl @p_944) :rule refl)
+(step t46.t2.t20.t16 (cl @p_945) :rule refl)
+(step t46.t2.t20.t17 (cl @p_946) :rule cong :premises (t46.t2.t20.t15 t46.t2.t20.t16))
+(step t46.t2.t20.t18 (cl (= @p_537 (! (is_res$b @p_916 @p_917) :named @p_947))) :rule cong :premises (t46.t2.t20.t14 t46.t2.t20.t17))
+(step t46.t2.t20.t19 (cl (= @p_538 (! (= @p_943 @p_947) :named @p_948))) :rule cong :premises (t46.t2.t20.t9 t46.t2.t20.t18))
+(step t46.t2.t20 (cl (= @p_530 (! (forall ((veriT_vr93 F$) (veriT_vr92 D$)) @p_948) :named @p_940))) :rule bind)
+(step t46.t2.t21 (cl (= @p_539 (! (and @p_939 @p_940) :named @p_949))) :rule cong :premises (t46.t2.t19 t46.t2.t20))
+(step t46.t2.t22 (cl (= @p_540 (! (or @p_914 @p_949) :named @p_950))) :rule cong :premises (t46.t2.t6 t46.t2.t21))
+(step t46.t2 (cl (= @p_520 (! (forall ((veriT_vr90 D$)) @p_950) :named @p_930))) :rule bind)
+(step t46.t3 (cl (= @p_541 (! (=> @p_870 @p_930) :named @p_951))) :rule cong :premises (t46.t1 t46.t2))
+(step t46 (cl (= @p_692 (! (forall ((veriT_vr91 E$) (veriT_vr84 A_b_c_M_state_fun$) (veriT_vr85 A_b_c_M_state_fun$)) @p_951) :named @p_1019))) :rule bind)
+(anchor :step t47 :args ((:= (veriT_vr59 A$) veriT_vr86) (:= (veriT_vr60 C$) veriT_vr87)))
+(step t47.t1 (cl (! (= veriT_vr59 veriT_vr86) :named @p_956)) :rule refl)
+(step t47.t2 (cl (! (= @p_751 (! (fun_app$ veriT_sk0 veriT_vr86) :named @p_955)) :named @p_960)) :rule cong :premises (t47.t1))
+(step t47.t3 (cl (! (= veriT_vr60 veriT_vr87) :named @p_958)) :rule refl)
+(step t47.t4 (cl (! (= @p_703 (! (run$ @p_955 veriT_vr87) :named @p_954)) :named @p_961)) :rule cong :premises (t47.t2 t47.t3))
+(step t47.t5 (cl (! (= @p_701 (! (is_fail$ @p_954) :named @p_952)) :named @p_962)) :rule cong :premises (t47.t4))
+(step t47.t6 (cl @p_956) :rule refl)
+(step t47.t7 (cl (! (= @p_752 (! (fun_app$ veriT_sk1 veriT_vr86) :named @p_957)) :named @p_965)) :rule cong :premises (t47.t6))
+(step t47.t8 (cl @p_958) :rule refl)
+(step t47.t9 (cl (! (= @p_702 (! (run$ @p_957 veriT_vr87) :named @p_953)) :named @p_966)) :rule cong :premises (t47.t7 t47.t8))
+(step t47.t10 (cl (= @p_753 (! (is_fail$ @p_953) :named @p_959))) :rule cong :premises (t47.t9))
+(step t47.t11 (cl @p_956) :rule refl)
+(step t47.t12 (cl @p_960) :rule cong :premises (t47.t11))
+(step t47.t13 (cl @p_958) :rule refl)
+(step t47.t14 (cl @p_961) :rule cong :premises (t47.t12 t47.t13))
+(step t47.t15 (cl @p_962) :rule cong :premises (t47.t14))
+(step t47.t16 (cl (= @p_758 (! (= @p_959 @p_952) :named @p_963))) :rule cong :premises (t47.t10 t47.t15))
+(anchor :step t47.t17 :args ((:= (veriT_vr61 B$) veriT_vr88) (:= (veriT_vr62 C$) veriT_vr89)))
+(step t47.t17.t1 (cl @p_956) :rule refl)
+(step t47.t17.t2 (cl @p_965) :rule cong :premises (t47.t17.t1))
+(step t47.t17.t3 (cl @p_958) :rule refl)
+(step t47.t17.t4 (cl @p_966) :rule cong :premises (t47.t17.t2 t47.t17.t3))
+(step t47.t17.t5 (cl (! (= veriT_vr61 veriT_vr88) :named @p_968)) :rule refl)
+(step t47.t17.t6 (cl (! (= veriT_vr62 veriT_vr89) :named @p_969)) :rule refl)
+(step t47.t17.t7 (cl (! (= @p_545 @p_865) :named @p_970)) :rule cong :premises (t47.t17.t5 t47.t17.t6))
+(step t47.t17.t8 (cl (= @p_763 (! (is_res$ @p_953 @p_865) :named @p_967))) :rule cong :premises (t47.t17.t4 t47.t17.t7))
+(step t47.t17.t9 (cl @p_956) :rule refl)
+(step t47.t17.t10 (cl @p_960) :rule cong :premises (t47.t17.t9))
+(step t47.t17.t11 (cl @p_958) :rule refl)
+(step t47.t17.t12 (cl @p_961) :rule cong :premises (t47.t17.t10 t47.t17.t11))
+(step t47.t17.t13 (cl @p_968) :rule refl)
+(step t47.t17.t14 (cl @p_969) :rule refl)
+(step t47.t17.t15 (cl @p_970) :rule cong :premises (t47.t17.t13 t47.t17.t14))
+(step t47.t17.t16 (cl (= @p_764 (! (is_res$ @p_954 @p_865) :named @p_971))) :rule cong :premises (t47.t17.t12 t47.t17.t15))
+(step t47.t17.t17 (cl (= @p_765 (! (= @p_967 @p_971) :named @p_972))) :rule cong :premises (t47.t17.t8 t47.t17.t16))
+(step t47.t17 (cl (= @p_759 (! (forall ((veriT_vr88 B$) (veriT_vr89 C$)) @p_972) :named @p_964))) :rule bind)
+(step t47.t18 (cl (= @p_766 (! (and @p_963 @p_964) :named @p_973))) :rule cong :premises (t47.t16 t47.t17))
+(step t47.t19 (cl (= @p_767 (! (or @p_952 @p_973) :named @p_974))) :rule cong :premises (t47.t5 t47.t18))
+(step t47 (cl (= @p_750 (! (forall ((veriT_vr86 A$) (veriT_vr87 C$)) @p_974) :named @p_1015))) :rule bind)
+(anchor :step t48 :args ((:= (veriT_vr64 E$) veriT_vr91) (:= (veriT_vr65 D$) veriT_vr90)))
+(step t48.t1 (cl (! (= veriT_vr64 veriT_vr91) :named @p_977)) :rule refl)
+(step t48.t2 (cl (! (= veriT_vr65 veriT_vr90) :named @p_979)) :rule refl)
+(step t48.t3 (cl (= @p_580 (! (pair$a veriT_vr91 veriT_vr90) :named @p_975))) :rule cong :premises (t48.t1 t48.t2))
+(step t48.t4 (cl (= @p_774 (! (is_res$a @p_712 @p_975) :named @p_976))) :rule cong :premises (t48.t3))
+(step t48.t5 (cl @p_977) :rule refl)
+(step t48.t6 (cl (= @p_775 (! (c$ veriT_vr91 veriT_sk0) :named @p_978))) :rule cong :premises (t48.t5))
+(step t48.t7 (cl @p_979) :rule refl)
+(step t48.t8 (cl (= @p_776 (! (run$b @p_978 veriT_vr90) :named @p_980))) :rule cong :premises (t48.t6 t48.t7))
+(step t48.t9 (cl (= @p_777 (! (is_fail$b @p_980) :named @p_981))) :rule cong :premises (t48.t8))
+(step t48.t10 (cl (= @p_778 (! (and @p_976 @p_981) :named @p_982))) :rule cong :premises (t48.t4 t48.t9))
+(step t48 (cl (= @p_770 (! (exists ((veriT_vr91 E$) (veriT_vr90 D$)) @p_982) :named @p_983))) :rule bind)
+(anchor :step t49 :args ((:= (veriT_vr68 E$) veriT_vr91) (:= (veriT_vr69 D$) veriT_vr90)))
+(step t49.t1 (cl (! (= veriT_vr68 veriT_vr91) :named @p_984)) :rule refl)
+(step t49.t2 (cl (! (= veriT_vr69 veriT_vr90) :named @p_985)) :rule refl)
+(step t49.t3 (cl (= @p_603 @p_975)) :rule cong :premises (t49.t1 t49.t2))
+(step t49.t4 (cl (= @p_793 @p_976)) :rule cong :premises (t49.t3))
+(step t49.t5 (cl @p_984) :rule refl)
+(step t49.t6 (cl (= @p_794 @p_978)) :rule cong :premises (t49.t5))
+(step t49.t7 (cl @p_985) :rule refl)
+(step t49.t8 (cl (= @p_795 @p_980)) :rule cong :premises (t49.t6 t49.t7))
+(step t49.t9 (cl (= @p_796 @p_981)) :rule cong :premises (t49.t8))
+(step t49.t10 (cl (= @p_797 @p_982)) :rule cong :premises (t49.t4 t49.t9))
+(step t49 (cl (= @p_792 @p_983)) :rule bind)
+(step t50 (cl (= @p_798 (! (or @p_720 @p_983) :named @p_986))) :rule cong :premises (t49))
+(step t51 (cl (= @p_799 (! (=> @p_790 @p_986) :named @p_996))) :rule cong :premises (t50))
+(anchor :step t52 :args ((:= (veriT_vr72 E$) veriT_vr91) (:= (veriT_vr73 D$) veriT_vr90)))
+(step t52.t1 (cl (! (= veriT_vr72 veriT_vr91) :named @p_988)) :rule refl)
+(step t52.t2 (cl (! (= veriT_vr73 veriT_vr90) :named @p_990)) :rule refl)
+(step t52.t3 (cl (= @p_626 @p_975)) :rule cong :premises (t52.t1 t52.t2))
+(step t52.t4 (cl (= @p_811 (! (is_res$a @p_714 @p_975) :named @p_987))) :rule cong :premises (t52.t3))
+(step t52.t5 (cl @p_988) :rule refl)
+(step t52.t6 (cl (= @p_812 (! (c$ veriT_vr91 veriT_sk1) :named @p_989))) :rule cong :premises (t52.t5))
+(step t52.t7 (cl @p_990) :rule refl)
+(step t52.t8 (cl (= @p_813 (! (run$b @p_989 veriT_vr90) :named @p_991))) :rule cong :premises (t52.t6 t52.t7))
+(step t52.t9 (cl (= @p_814 (! (is_fail$b @p_991) :named @p_992))) :rule cong :premises (t52.t8))
+(step t52.t10 (cl (= @p_815 (! (and @p_987 @p_992) :named @p_993))) :rule cong :premises (t52.t4 t52.t9))
+(step t52 (cl (= @p_810 (! (exists ((veriT_vr91 E$) (veriT_vr90 D$)) @p_993) :named @p_994))) :rule bind)
+(step t53 (cl (= @p_816 (! (or @p_726 @p_994) :named @p_995))) :rule cong :premises (t52))
+(step t54 (cl (= @p_817 (! (=> @p_808 @p_995) :named @p_997))) :rule cong :premises (t53))
+(step t55 (cl (= @p_818 (! (and @p_996 @p_997) :named @p_1012))) :rule cong :premises (t51 t54))
+(anchor :step t56 :args ((:= (veriT_vr78 E$) veriT_vr91) (:= (veriT_vr79 D$) veriT_vr90)))
+(step t56.t1 (cl (! (= veriT_vr78 veriT_vr91) :named @p_998)) :rule refl)
+(step t56.t2 (cl (! (= veriT_vr79 veriT_vr90) :named @p_999)) :rule refl)
+(step t56.t3 (cl (= @p_650 @p_975)) :rule cong :premises (t56.t1 t56.t2))
+(step t56.t4 (cl (= @p_830 @p_976)) :rule cong :premises (t56.t3))
+(step t56.t5 (cl @p_998) :rule refl)
+(step t56.t6 (cl (= @p_831 @p_978)) :rule cong :premises (t56.t5))
+(step t56.t7 (cl @p_999) :rule refl)
+(step t56.t8 (cl (= @p_832 @p_980)) :rule cong :premises (t56.t6 t56.t7))
+(step t56.t9 (cl (= @p_836 (! (is_res$b @p_980 @p_747) :named @p_1000))) :rule cong :premises (t56.t8))
+(step t56.t10 (cl (= @p_837 (! (and @p_976 @p_1000) :named @p_1001))) :rule cong :premises (t56.t4 t56.t9))
+(step t56 (cl (= @p_829 (! (exists ((veriT_vr91 E$) (veriT_vr90 D$)) @p_1001) :named @p_1002))) :rule bind)
+(step t57 (cl (= @p_838 (! (or @p_720 @p_1002) :named @p_1003))) :rule cong :premises (t56))
+(step t58 (cl (= @p_839 (! (=> @p_828 @p_1003) :named @p_1010))) :rule cong :premises (t57))
+(anchor :step t59 :args ((:= (veriT_vr82 E$) veriT_vr91) (:= (veriT_vr83 D$) veriT_vr90)))
+(step t59.t1 (cl (! (= veriT_vr82 veriT_vr91) :named @p_1004)) :rule refl)
+(step t59.t2 (cl (! (= veriT_vr83 veriT_vr90) :named @p_1005)) :rule refl)
+(step t59.t3 (cl (= @p_675 @p_975)) :rule cong :premises (t59.t1 t59.t2))
+(step t59.t4 (cl (= @p_850 @p_987)) :rule cong :premises (t59.t3))
+(step t59.t5 (cl @p_1004) :rule refl)
+(step t59.t6 (cl (= @p_851 @p_989)) :rule cong :premises (t59.t5))
+(step t59.t7 (cl @p_1005) :rule refl)
+(step t59.t8 (cl (= @p_852 @p_991)) :rule cong :premises (t59.t6 t59.t7))
+(step t59.t9 (cl (= @p_853 (! (is_res$b @p_991 @p_747) :named @p_1006))) :rule cong :premises (t59.t8))
+(step t59.t10 (cl (= @p_854 (! (and @p_987 @p_1006) :named @p_1007))) :rule cong :premises (t59.t4 t59.t9))
+(step t59 (cl (= @p_849 (! (exists ((veriT_vr91 E$) (veriT_vr90 D$)) @p_1007) :named @p_1008))) :rule bind)
+(step t60 (cl (= @p_855 (! (or @p_726 @p_1008) :named @p_1009))) :rule cong :premises (t59))
+(step t61 (cl (= @p_856 (! (=> @p_848 @p_1009) :named @p_1011))) :rule cong :premises (t60))
+(step t62 (cl (= @p_819 (! (and @p_1010 @p_1011) :named @p_1013))) :rule cong :premises (t58 t61))
+(step t63 (cl (= @p_857 (! (and @p_1012 @p_1013) :named @p_1014))) :rule cong :premises (t55 t62))
+(step t64 (cl (= @p_768 (! (or @p_720 @p_983 @p_1014) :named @p_1016))) :rule cong :premises (t48 t63))
+(step t65 (cl (= @p_858 (! (=> @p_1015 @p_1016) :named @p_1017))) :rule cong :premises (t47 t64))
+(step t66 (cl (= @p_859 (! (not @p_1017) :named @p_1020))) :rule cong :premises (t65))
+(step t67 (cl (! (= @p_861 (! (and @p_1018 @p_1019 @p_1020) :named @p_1022)) :named @p_1021)) :rule cong :premises (t45 t46 t66))
+(step t68 (cl (not @p_1021) (not @p_861) @p_1022) :rule equiv_pos2)
+(step t69 (cl @p_1022) :rule th_resolution :premises (t44 t67 t68))
+(step t70 (cl (= @p_1020 (! (and @p_1015 (! (not @p_1016) :named @p_1027)) :named @p_1023))) :rule bool_simplify)
+(step t71 (cl (! (= @p_1022 (! (and @p_1018 @p_1019 @p_1023) :named @p_1025)) :named @p_1024)) :rule cong :premises (t70))
+(step t72 (cl (not @p_1024) (not @p_1022) @p_1025) :rule equiv_pos2)
+(step t73 (cl @p_1025) :rule th_resolution :premises (t69 t71 t72))
+(step t74 (cl (= @p_1014 (! (and @p_996 @p_997 @p_1010 @p_1011) :named @p_1026))) :rule ac_simp)
+(step t75 (cl (= @p_1016 (! (or @p_720 @p_983 @p_1026) :named @p_1028))) :rule ac_simp :premises (t74))
+(step t76 (cl (= @p_1027 (! (not @p_1028) :named @p_1029))) :rule cong :premises (t75))
+(step t77 (cl (! (= @p_1025 (! (and @p_1018 @p_1019 @p_1015 @p_1029) :named @p_1031)) :named @p_1030)) :rule ac_simp :premises (t76))
+(step t78 (cl (not @p_1030) (not @p_1025) @p_1031) :rule equiv_pos2)
+(step t79 (cl @p_1031) :rule th_resolution :premises (t73 t77 t78))
+(anchor :step t80 :args ((:= (veriT_vr91 E$) veriT_vr94) (:= (veriT_vr84 A_b_c_M_state_fun$) veriT_vr95) (:= (veriT_vr85 A_b_c_M_state_fun$) veriT_vr96)))
+(anchor :step t80.t1 :args ((:= (veriT_vr86 A$) veriT_vr97) (:= (veriT_vr87 C$) veriT_vr98)))
+(step t80.t1.t1 (cl (! (= veriT_vr84 veriT_vr95) :named @p_1046)) :rule refl)
+(step t80.t1.t2 (cl (! (= veriT_vr86 veriT_vr97) :named @p_1042)) :rule refl)
+(step t80.t1.t3 (cl (! (= @p_871 (! (fun_app$ veriT_vr95 veriT_vr97) :named @p_1041)) :named @p_1047)) :rule cong :premises (t80.t1.t1 t80.t1.t2))
+(step t80.t1.t4 (cl (! (= veriT_vr87 veriT_vr98) :named @p_1044)) :rule refl)
+(step t80.t1.t5 (cl (! (= @p_864 (! (run$ @p_1041 veriT_vr98) :named @p_1034)) :named @p_1048)) :rule cong :premises (t80.t1.t3 t80.t1.t4))
+(step t80.t1.t6 (cl (! (= @p_862 (! (is_fail$ @p_1034) :named @p_1032)) :named @p_1049)) :rule cong :premises (t80.t1.t5))
+(step t80.t1.t7 (cl (! (= veriT_vr85 veriT_vr96) :named @p_1052)) :rule refl)
+(step t80.t1.t8 (cl @p_1042) :rule refl)
+(step t80.t1.t9 (cl (! (= @p_873 (! (fun_app$ veriT_vr96 veriT_vr97) :named @p_1043)) :named @p_1053)) :rule cong :premises (t80.t1.t7 t80.t1.t8))
+(step t80.t1.t10 (cl @p_1044) :rule refl)
+(step t80.t1.t11 (cl (! (= @p_863 (! (run$ @p_1043 veriT_vr98) :named @p_1033)) :named @p_1054)) :rule cong :premises (t80.t1.t9 t80.t1.t10))
+(step t80.t1.t12 (cl (= @p_875 (! (is_fail$ @p_1033) :named @p_1045))) :rule cong :premises (t80.t1.t11))
+(step t80.t1.t13 (cl @p_1046) :rule refl)
+(step t80.t1.t14 (cl @p_1042) :rule refl)
+(step t80.t1.t15 (cl @p_1047) :rule cong :premises (t80.t1.t13 t80.t1.t14))
+(step t80.t1.t16 (cl @p_1044) :rule refl)
+(step t80.t1.t17 (cl @p_1048) :rule cong :premises (t80.t1.t15 t80.t1.t16))
+(step t80.t1.t18 (cl @p_1049) :rule cong :premises (t80.t1.t17))
+(step t80.t1.t19 (cl (= @p_880 (! (= @p_1045 @p_1032) :named @p_1050))) :rule cong :premises (t80.t1.t12 t80.t1.t18))
+(anchor :step t80.t1.t20 :args ((:= (veriT_vr88 B$) veriT_vr99) (:= (veriT_vr89 C$) veriT_vr100)))
+(step t80.t1.t20.t1 (cl @p_1052) :rule refl)
+(step t80.t1.t20.t2 (cl @p_1042) :rule refl)
+(step t80.t1.t20.t3 (cl @p_1053) :rule cong :premises (t80.t1.t20.t1 t80.t1.t20.t2))
+(step t80.t1.t20.t4 (cl @p_1044) :rule refl)
+(step t80.t1.t20.t5 (cl @p_1054) :rule cong :premises (t80.t1.t20.t3 t80.t1.t20.t4))
+(step t80.t1.t20.t6 (cl (! (= veriT_vr88 veriT_vr99) :named @p_1056)) :rule refl)
+(step t80.t1.t20.t7 (cl (! (= veriT_vr89 veriT_vr100) :named @p_1057)) :rule refl)
+(step t80.t1.t20.t8 (cl (! (= @p_865 (! (pair$ veriT_vr99 veriT_vr100) :named @p_1035)) :named @p_1058)) :rule cong :premises (t80.t1.t20.t6 t80.t1.t20.t7))
+(step t80.t1.t20.t9 (cl (= @p_885 (! (is_res$ @p_1033 @p_1035) :named @p_1055))) :rule cong :premises (t80.t1.t20.t5 t80.t1.t20.t8))
+(step t80.t1.t20.t10 (cl @p_1046) :rule refl)
+(step t80.t1.t20.t11 (cl @p_1042) :rule refl)
+(step t80.t1.t20.t12 (cl @p_1047) :rule cong :premises (t80.t1.t20.t10 t80.t1.t20.t11))
+(step t80.t1.t20.t13 (cl @p_1044) :rule refl)
+(step t80.t1.t20.t14 (cl @p_1048) :rule cong :premises (t80.t1.t20.t12 t80.t1.t20.t13))
+(step t80.t1.t20.t15 (cl @p_1056) :rule refl)
+(step t80.t1.t20.t16 (cl @p_1057) :rule refl)
+(step t80.t1.t20.t17 (cl @p_1058) :rule cong :premises (t80.t1.t20.t15 t80.t1.t20.t16))
+(step t80.t1.t20.t18 (cl (= @p_889 (! (is_res$ @p_1034 @p_1035) :named @p_1059))) :rule cong :premises (t80.t1.t20.t14 t80.t1.t20.t17))
+(step t80.t1.t20.t19 (cl (= @p_890 (! (= @p_1055 @p_1059) :named @p_1060))) :rule cong :premises (t80.t1.t20.t9 t80.t1.t20.t18))
+(step t80.t1.t20 (cl (= @p_881 (! (forall ((veriT_vr99 B$) (veriT_vr100 C$)) @p_1060) :named @p_1051))) :rule bind)
+(step t80.t1.t21 (cl (= @p_891 (! (and @p_1050 @p_1051) :named @p_1061))) :rule cong :premises (t80.t1.t19 t80.t1.t20))
+(step t80.t1.t22 (cl (= @p_892 (! (or @p_1032 @p_1061) :named @p_1062))) :rule cong :premises (t80.t1.t6 t80.t1.t21))
+(step t80.t1 (cl (= @p_870 (! (forall ((veriT_vr97 A$) (veriT_vr98 C$)) @p_1062) :named @p_1040))) :rule bind)
+(anchor :step t80.t2 :args ((:= (veriT_vr90 D$) veriT_vr101)))
+(step t80.t2.t1 (cl (! (= veriT_vr91 veriT_vr94) :named @p_1065)) :rule refl)
+(step t80.t2.t2 (cl @p_1046) :rule refl)
+(step t80.t2.t3 (cl (! (= @p_931 (! (c$ veriT_vr94 veriT_vr95) :named @p_1064)) :named @p_1069)) :rule cong :premises (t80.t2.t1 t80.t2.t2))
+(step t80.t2.t4 (cl (! (= veriT_vr90 veriT_vr101) :named @p_1067)) :rule refl)
+(step t80.t2.t5 (cl (! (= @p_916 (! (run$b @p_1064 veriT_vr101) :named @p_1038)) :named @p_1070)) :rule cong :premises (t80.t2.t3 t80.t2.t4))
+(step t80.t2.t6 (cl (! (= @p_914 (! (is_fail$b @p_1038) :named @p_1036)) :named @p_1071)) :rule cong :premises (t80.t2.t5))
+(step t80.t2.t7 (cl @p_1065) :rule refl)
+(step t80.t2.t8 (cl @p_1052) :rule refl)
+(step t80.t2.t9 (cl (! (= @p_933 (! (c$ veriT_vr94 veriT_vr96) :named @p_1066)) :named @p_1074)) :rule cong :premises (t80.t2.t7 t80.t2.t8))
+(step t80.t2.t10 (cl @p_1067) :rule refl)
+(step t80.t2.t11 (cl (! (= @p_915 (! (run$b @p_1066 veriT_vr101) :named @p_1037)) :named @p_1075)) :rule cong :premises (t80.t2.t9 t80.t2.t10))
+(step t80.t2.t12 (cl (= @p_935 (! (is_fail$b @p_1037) :named @p_1068))) :rule cong :premises (t80.t2.t11))
+(step t80.t2.t13 (cl @p_1065) :rule refl)
+(step t80.t2.t14 (cl @p_1046) :rule refl)
+(step t80.t2.t15 (cl @p_1069) :rule cong :premises (t80.t2.t13 t80.t2.t14))
+(step t80.t2.t16 (cl @p_1067) :rule refl)
+(step t80.t2.t17 (cl @p_1070) :rule cong :premises (t80.t2.t15 t80.t2.t16))
+(step t80.t2.t18 (cl @p_1071) :rule cong :premises (t80.t2.t17))
+(step t80.t2.t19 (cl (= @p_939 (! (= @p_1068 @p_1036) :named @p_1072))) :rule cong :premises (t80.t2.t12 t80.t2.t18))
+(anchor :step t80.t2.t20 :args ((:= (veriT_vr93 F$) veriT_vr93) (:= (veriT_vr92 D$) veriT_vr102)))
+(step t80.t2.t20.t1 (cl @p_1065) :rule refl)
+(step t80.t2.t20.t2 (cl @p_1052) :rule refl)
+(step t80.t2.t20.t3 (cl @p_1074) :rule cong :premises (t80.t2.t20.t1 t80.t2.t20.t2))
+(step t80.t2.t20.t4 (cl @p_1067) :rule refl)
+(step t80.t2.t20.t5 (cl @p_1075) :rule cong :premises (t80.t2.t20.t3 t80.t2.t20.t4))
+(step t80.t2.t20.t6 (cl (! (= veriT_vr92 veriT_vr102) :named @p_1077)) :rule refl)
+(step t80.t2.t20.t7 (cl (! (= @p_917 (! (pair$b veriT_vr93 veriT_vr102) :named @p_1039)) :named @p_1078)) :rule cong :premises (t80.t2.t20.t6))
+(step t80.t2.t20.t8 (cl (= @p_943 (! (is_res$b @p_1037 @p_1039) :named @p_1076))) :rule cong :premises (t80.t2.t20.t5 t80.t2.t20.t7))
+(step t80.t2.t20.t9 (cl @p_1065) :rule refl)
+(step t80.t2.t20.t10 (cl @p_1046) :rule refl)
+(step t80.t2.t20.t11 (cl @p_1069) :rule cong :premises (t80.t2.t20.t9 t80.t2.t20.t10))
+(step t80.t2.t20.t12 (cl @p_1067) :rule refl)
+(step t80.t2.t20.t13 (cl @p_1070) :rule cong :premises (t80.t2.t20.t11 t80.t2.t20.t12))
+(step t80.t2.t20.t14 (cl @p_1077) :rule refl)
+(step t80.t2.t20.t15 (cl @p_1078) :rule cong :premises (t80.t2.t20.t14))
+(step t80.t2.t20.t16 (cl (= @p_947 (! (is_res$b @p_1038 @p_1039) :named @p_1079))) :rule cong :premises (t80.t2.t20.t13 t80.t2.t20.t15))
+(step t80.t2.t20.t17 (cl (= @p_948 (! (= @p_1076 @p_1079) :named @p_1080))) :rule cong :premises (t80.t2.t20.t8 t80.t2.t20.t16))
+(step t80.t2.t20 (cl (= @p_940 (! (forall ((veriT_vr93 F$) (veriT_vr102 D$)) @p_1080) :named @p_1073))) :rule bind)
+(step t80.t2.t21 (cl (= @p_949 (! (and @p_1072 @p_1073) :named @p_1081))) :rule cong :premises (t80.t2.t19 t80.t2.t20))
+(step t80.t2.t22 (cl (= @p_950 (! (or @p_1036 @p_1081) :named @p_1082))) :rule cong :premises (t80.t2.t6 t80.t2.t21))
+(step t80.t2 (cl (= @p_930 (! (forall ((veriT_vr101 D$)) @p_1082) :named @p_1063))) :rule bind)
+(step t80.t3 (cl (= @p_951 (! (=> @p_1040 @p_1063) :named @p_1083))) :rule cong :premises (t80.t1 t80.t2))
+(step t80 (cl (= @p_1019 (! (forall ((veriT_vr94 E$) (veriT_vr95 A_b_c_M_state_fun$) (veriT_vr96 A_b_c_M_state_fun$)) @p_1083) :named @p_1154))) :rule bind)
+(anchor :step t81 :args ((:= (veriT_vr86 A$) veriT_vr103) (:= (veriT_vr87 C$) veriT_vr104)))
+(step t81.t1 (cl (! (= veriT_vr86 veriT_vr103) :named @p_1089)) :rule refl)
+(step t81.t2 (cl (! (= @p_955 (! (fun_app$ veriT_sk0 veriT_vr103) :named @p_1088)) :named @p_1093)) :rule cong :premises (t81.t1))
+(step t81.t3 (cl (! (= veriT_vr87 veriT_vr104) :named @p_1091)) :rule refl)
+(step t81.t4 (cl (! (= @p_954 (! (run$ @p_1088 veriT_vr104) :named @p_1086)) :named @p_1094)) :rule cong :premises (t81.t2 t81.t3))
+(step t81.t5 (cl (! (= @p_952 (! (is_fail$ @p_1086) :named @p_1084)) :named @p_1095)) :rule cong :premises (t81.t4))
+(step t81.t6 (cl @p_1089) :rule refl)
+(step t81.t7 (cl (! (= @p_957 (! (fun_app$ veriT_sk1 veriT_vr103) :named @p_1090)) :named @p_1098)) :rule cong :premises (t81.t6))
+(step t81.t8 (cl @p_1091) :rule refl)
+(step t81.t9 (cl (! (= @p_953 (! (run$ @p_1090 veriT_vr104) :named @p_1085)) :named @p_1099)) :rule cong :premises (t81.t7 t81.t8))
+(step t81.t10 (cl (= @p_959 (! (is_fail$ @p_1085) :named @p_1092))) :rule cong :premises (t81.t9))
+(step t81.t11 (cl @p_1089) :rule refl)
+(step t81.t12 (cl @p_1093) :rule cong :premises (t81.t11))
+(step t81.t13 (cl @p_1091) :rule refl)
+(step t81.t14 (cl @p_1094) :rule cong :premises (t81.t12 t81.t13))
+(step t81.t15 (cl @p_1095) :rule cong :premises (t81.t14))
+(step t81.t16 (cl (= @p_963 (! (= @p_1092 @p_1084) :named @p_1096))) :rule cong :premises (t81.t10 t81.t15))
+(anchor :step t81.t17 :args ((:= (veriT_vr88 B$) veriT_vr105) (:= (veriT_vr89 C$) veriT_vr106)))
+(step t81.t17.t1 (cl @p_1089) :rule refl)
+(step t81.t17.t2 (cl @p_1098) :rule cong :premises (t81.t17.t1))
+(step t81.t17.t3 (cl @p_1091) :rule refl)
+(step t81.t17.t4 (cl @p_1099) :rule cong :premises (t81.t17.t2 t81.t17.t3))
+(step t81.t17.t5 (cl (! (= veriT_vr88 veriT_vr105) :named @p_1101)) :rule refl)
+(step t81.t17.t6 (cl (! (= veriT_vr89 veriT_vr106) :named @p_1102)) :rule refl)
+(step t81.t17.t7 (cl (! (= @p_865 (! (pair$ veriT_vr105 veriT_vr106) :named @p_1087)) :named @p_1103)) :rule cong :premises (t81.t17.t5 t81.t17.t6))
+(step t81.t17.t8 (cl (= @p_967 (! (is_res$ @p_1085 @p_1087) :named @p_1100))) :rule cong :premises (t81.t17.t4 t81.t17.t7))
+(step t81.t17.t9 (cl @p_1089) :rule refl)
+(step t81.t17.t10 (cl @p_1093) :rule cong :premises (t81.t17.t9))
+(step t81.t17.t11 (cl @p_1091) :rule refl)
+(step t81.t17.t12 (cl @p_1094) :rule cong :premises (t81.t17.t10 t81.t17.t11))
+(step t81.t17.t13 (cl @p_1101) :rule refl)
+(step t81.t17.t14 (cl @p_1102) :rule refl)
+(step t81.t17.t15 (cl @p_1103) :rule cong :premises (t81.t17.t13 t81.t17.t14))
+(step t81.t17.t16 (cl (= @p_971 (! (is_res$ @p_1086 @p_1087) :named @p_1104))) :rule cong :premises (t81.t17.t12 t81.t17.t15))
+(step t81.t17.t17 (cl (= @p_972 (! (= @p_1100 @p_1104) :named @p_1105))) :rule cong :premises (t81.t17.t8 t81.t17.t16))
+(step t81.t17 (cl (= @p_964 (! (forall ((veriT_vr105 B$) (veriT_vr106 C$)) @p_1105) :named @p_1097))) :rule bind)
+(step t81.t18 (cl (= @p_973 (! (and @p_1096 @p_1097) :named @p_1106))) :rule cong :premises (t81.t16 t81.t17))
+(step t81.t19 (cl (= @p_974 (! (or @p_1084 @p_1106) :named @p_1107))) :rule cong :premises (t81.t5 t81.t18))
+(step t81 (cl (= @p_1015 (! (forall ((veriT_vr103 A$) (veriT_vr104 C$)) @p_1107) :named @p_1155))) :rule bind)
+(anchor :step t82 :args ((:= (veriT_vr91 E$) veriT_vr107) (:= (veriT_vr90 D$) veriT_vr108)))
+(step t82.t1 (cl (! (= veriT_vr91 veriT_vr107) :named @p_1110)) :rule refl)
+(step t82.t2 (cl (! (= veriT_vr90 veriT_vr108) :named @p_1112)) :rule refl)
+(step t82.t3 (cl (= @p_975 (! (pair$a veriT_vr107 veriT_vr108) :named @p_1108))) :rule cong :premises (t82.t1 t82.t2))
+(step t82.t4 (cl (= @p_976 (! (is_res$a @p_712 @p_1108) :named @p_1109))) :rule cong :premises (t82.t3))
+(step t82.t5 (cl @p_1110) :rule refl)
+(step t82.t6 (cl (= @p_978 (! (c$ veriT_vr107 veriT_sk0) :named @p_1111))) :rule cong :premises (t82.t5))
+(step t82.t7 (cl @p_1112) :rule refl)
+(step t82.t8 (cl (= @p_980 (! (run$b @p_1111 veriT_vr108) :named @p_1113))) :rule cong :premises (t82.t6 t82.t7))
+(step t82.t9 (cl (= @p_981 (! (is_fail$b @p_1113) :named @p_1114))) :rule cong :premises (t82.t8))
+(step t82.t10 (cl (= @p_982 (! (and @p_1109 @p_1114) :named @p_1115))) :rule cong :premises (t82.t4 t82.t9))
+(step t82 (cl (= @p_983 (! (exists ((veriT_vr107 E$) (veriT_vr108 D$)) @p_1115) :named @p_1116))) :rule bind)
+(step t83 (cl (= @p_986 (! (or @p_720 @p_1116) :named @p_1117))) :rule cong :premises (t82))
+(step t84 (cl (= @p_996 (! (=> @p_790 @p_1117) :named @p_1148))) :rule cong :premises (t83))
+(anchor :step t85 :args ((:= (veriT_vr91 E$) veriT_vr109) (:= (veriT_vr90 D$) veriT_vr110)))
+(step t85.t1 (cl (! (= veriT_vr91 veriT_vr109) :named @p_1120)) :rule refl)
+(step t85.t2 (cl (! (= veriT_vr90 veriT_vr110) :named @p_1122)) :rule refl)
+(step t85.t3 (cl (= @p_975 (! (pair$a veriT_vr109 veriT_vr110) :named @p_1118))) :rule cong :premises (t85.t1 t85.t2))
+(step t85.t4 (cl (= @p_987 (! (is_res$a @p_714 @p_1118) :named @p_1119))) :rule cong :premises (t85.t3))
+(step t85.t5 (cl @p_1120) :rule refl)
+(step t85.t6 (cl (= @p_989 (! (c$ veriT_vr109 veriT_sk1) :named @p_1121))) :rule cong :premises (t85.t5))
+(step t85.t7 (cl @p_1122) :rule refl)
+(step t85.t8 (cl (= @p_991 (! (run$b @p_1121 veriT_vr110) :named @p_1123))) :rule cong :premises (t85.t6 t85.t7))
+(step t85.t9 (cl (= @p_992 (! (is_fail$b @p_1123) :named @p_1124))) :rule cong :premises (t85.t8))
+(step t85.t10 (cl (= @p_993 (! (and @p_1119 @p_1124) :named @p_1125))) :rule cong :premises (t85.t4 t85.t9))
+(step t85 (cl (= @p_994 (! (exists ((veriT_vr109 E$) (veriT_vr110 D$)) @p_1125) :named @p_1126))) :rule bind)
+(step t86 (cl (= @p_995 (! (or @p_726 @p_1126) :named @p_1127))) :rule cong :premises (t85))
+(step t87 (cl (= @p_997 (! (=> @p_808 @p_1127) :named @p_1149))) :rule cong :premises (t86))
+(anchor :step t88 :args ((:= (veriT_vr91 E$) veriT_vr111) (:= (veriT_vr90 D$) veriT_vr112)))
+(step t88.t1 (cl (! (= veriT_vr91 veriT_vr111) :named @p_1130)) :rule refl)
+(step t88.t2 (cl (! (= veriT_vr90 veriT_vr112) :named @p_1132)) :rule refl)
+(step t88.t3 (cl (= @p_975 (! (pair$a veriT_vr111 veriT_vr112) :named @p_1128))) :rule cong :premises (t88.t1 t88.t2))
+(step t88.t4 (cl (= @p_976 (! (is_res$a @p_712 @p_1128) :named @p_1129))) :rule cong :premises (t88.t3))
+(step t88.t5 (cl @p_1130) :rule refl)
+(step t88.t6 (cl (= @p_978 (! (c$ veriT_vr111 veriT_sk0) :named @p_1131))) :rule cong :premises (t88.t5))
+(step t88.t7 (cl @p_1132) :rule refl)
+(step t88.t8 (cl (= @p_980 (! (run$b @p_1131 veriT_vr112) :named @p_1133))) :rule cong :premises (t88.t6 t88.t7))
+(step t88.t9 (cl (= @p_1000 (! (is_res$b @p_1133 @p_747) :named @p_1134))) :rule cong :premises (t88.t8))
+(step t88.t10 (cl (= @p_1001 (! (and @p_1129 @p_1134) :named @p_1135))) :rule cong :premises (t88.t4 t88.t9))
+(step t88 (cl (= @p_1002 (! (exists ((veriT_vr111 E$) (veriT_vr112 D$)) @p_1135) :named @p_1136))) :rule bind)
+(step t89 (cl (= @p_1003 (! (or @p_720 @p_1136) :named @p_1137))) :rule cong :premises (t88))
+(step t90 (cl (= @p_1010 (! (=> @p_828 @p_1137) :named @p_1150))) :rule cong :premises (t89))
+(anchor :step t91 :args ((:= (veriT_vr91 E$) veriT_vr113) (:= (veriT_vr90 D$) veriT_vr114)))
+(step t91.t1 (cl (! (= veriT_vr91 veriT_vr113) :named @p_1140)) :rule refl)
+(step t91.t2 (cl (! (= veriT_vr90 veriT_vr114) :named @p_1142)) :rule refl)
+(step t91.t3 (cl (= @p_975 (! (pair$a veriT_vr113 veriT_vr114) :named @p_1138))) :rule cong :premises (t91.t1 t91.t2))
+(step t91.t4 (cl (= @p_987 (! (is_res$a @p_714 @p_1138) :named @p_1139))) :rule cong :premises (t91.t3))
+(step t91.t5 (cl @p_1140) :rule refl)
+(step t91.t6 (cl (= @p_989 (! (c$ veriT_vr113 veriT_sk1) :named @p_1141))) :rule cong :premises (t91.t5))
+(step t91.t7 (cl @p_1142) :rule refl)
+(step t91.t8 (cl (= @p_991 (! (run$b @p_1141 veriT_vr114) :named @p_1143))) :rule cong :premises (t91.t6 t91.t7))
+(step t91.t9 (cl (= @p_1006 (! (is_res$b @p_1143 @p_747) :named @p_1144))) :rule cong :premises (t91.t8))
+(step t91.t10 (cl (= @p_1007 (! (and @p_1139 @p_1144) :named @p_1145))) :rule cong :premises (t91.t4 t91.t9))
+(step t91 (cl (= @p_1008 (! (exists ((veriT_vr113 E$) (veriT_vr114 D$)) @p_1145) :named @p_1146))) :rule bind)
+(step t92 (cl (= @p_1009 (! (or @p_726 @p_1146) :named @p_1147))) :rule cong :premises (t91))
+(step t93 (cl (= @p_1011 (! (=> @p_848 @p_1147) :named @p_1151))) :rule cong :premises (t92))
+(step t94 (cl (= @p_1026 (! (and @p_1148 @p_1149 @p_1150 @p_1151) :named @p_1152))) :rule cong :premises (t84 t87 t90 t93))
+(step t95 (cl (= @p_1028 (! (or @p_720 @p_1116 @p_1152) :named @p_1153))) :rule cong :premises (t82 t94))
+(step t96 (cl (= @p_1029 (! (not @p_1153) :named @p_1156))) :rule cong :premises (t95))
+(step t97 (cl (! (= @p_1031 (! (and @p_1018 @p_1154 @p_1155 @p_1156) :named @p_1158)) :named @p_1157)) :rule cong :premises (t80 t81 t96))
+(step t98 (cl (not @p_1157) (not @p_1031) @p_1158) :rule equiv_pos2)
+(step t99 (cl @p_1158) :rule th_resolution :premises (t79 t97 t98))
+(step t100 (cl (= @p_1116 (! (not (! (forall ((veriT_vr107 E$) (veriT_vr108 D$)) (not @p_1115)) :named @p_1177)) :named @p_1159))) :rule connective_def)
+(step t101 (cl (= @p_1117 (! (or @p_720 @p_1159) :named @p_1160))) :rule cong :premises (t100))
+(step t102 (cl (= @p_1148 (! (=> @p_790 @p_1160) :named @p_1167))) :rule cong :premises (t101))
+(step t103 (cl (= @p_1126 (! (not (forall ((veriT_vr109 E$) (veriT_vr110 D$)) (not @p_1125))) :named @p_1161))) :rule connective_def)
+(step t104 (cl (= @p_1127 (! (or @p_726 @p_1161) :named @p_1162))) :rule cong :premises (t103))
+(step t105 (cl (= @p_1149 (! (=> @p_808 @p_1162) :named @p_1168))) :rule cong :premises (t104))
+(step t106 (cl (= @p_1136 (! (not (! (forall ((veriT_vr111 E$) (veriT_vr112 D$)) (not @p_1135)) :named @p_1181)) :named @p_1163))) :rule connective_def)
+(step t107 (cl (= @p_1137 (! (or @p_720 @p_1163) :named @p_1164))) :rule cong :premises (t106))
+(step t108 (cl (= @p_1150 (! (=> @p_828 @p_1164) :named @p_1169))) :rule cong :premises (t107))
+(step t109 (cl (= @p_1146 (! (not (! (forall ((veriT_vr113 E$) (veriT_vr114 D$)) (not @p_1145)) :named @p_1184)) :named @p_1165))) :rule connective_def)
+(step t110 (cl (= @p_1147 (! (or @p_726 @p_1165) :named @p_1166))) :rule cong :premises (t109))
+(step t111 (cl (= @p_1151 (! (=> @p_848 @p_1166) :named @p_1170))) :rule cong :premises (t110))
+(step t112 (cl (= @p_1152 (! (and @p_1167 @p_1168 @p_1169 @p_1170) :named @p_1171))) :rule cong :premises (t102 t105 t108 t111))
+(step t113 (cl (= @p_1153 (! (or @p_720 @p_1159 @p_1171) :named @p_1172))) :rule cong :premises (t100 t112))
+(step t114 (cl (= @p_1156 (! (not @p_1172) :named @p_1173))) :rule cong :premises (t113))
+(step t115 (cl (! (= @p_1158 (! (and @p_1018 @p_1154 @p_1155 @p_1173) :named @p_1175)) :named @p_1174)) :rule cong :premises (t114))
+(step t116 (cl (not @p_1174) (not @p_1158) @p_1175) :rule equiv_pos2)
+(step t117 (cl @p_1175) :rule th_resolution :premises (t99 t115 t116))
+(step t118 (cl @p_1018) :rule and :premises (t117))
+(step t119 (cl @p_1154) :rule and :premises (t117))
+(step t120 (cl @p_1155) :rule and :premises (t117))
+(step t121 (cl @p_1173) :rule and :premises (t117))
+(step t122 (cl (not @p_720)) :rule not_or :premises (t121))
+(step t123 (cl (! (not @p_1159) :named @p_1176)) :rule not_or :premises (t121))
+(step t124 (cl (not @p_1176) @p_1177) :rule not_not)
+(step t125 (cl @p_1177) :rule th_resolution :premises (t124 t123))
+(step t126 (cl (not @p_1171)) :rule not_or :premises (t121))
+(step t127 (cl (! (not @p_780) :named @p_1178) @p_784) :rule and_pos)
+(step t128 (cl @p_1178 @p_789) :rule and_pos)
+(step t129 (cl (! (not @p_790) :named @p_1925) @p_726 @p_780) :rule or_pos)
+(step t130 (cl @p_1167 @p_790) :rule implies_neg1)
+(step t131 (cl (! (not @p_808) :named @p_1185) @p_720 @p_800) :rule or_pos)
+(step t132 (cl @p_1168 @p_808) :rule implies_neg1)
+(step t133 (cl (! (not @p_820) :named @p_1179) @p_822) :rule and_pos)
+(step t134 (cl @p_1179 @p_827) :rule and_pos)
+(step t135 (cl (not @p_828) @p_726 @p_820) :rule or_pos)
+(step t136 (cl @p_1169 @p_828) :rule implies_neg1)
+(step t137 (cl @p_1164 (! (not @p_1163) :named @p_1180)) :rule or_neg)
+(step t138 (cl (not @p_1180) @p_1181) :rule not_not)
+(step t139 (cl @p_1164 @p_1181) :rule th_resolution :premises (t138 t137))
+(step t140 (cl @p_1169 (! (not @p_1164) :named @p_1927)) :rule implies_neg2)
+(step t141 (cl (! (not @p_840) :named @p_1182) @p_842) :rule and_pos)
+(step t142 (cl @p_1182 @p_847) :rule and_pos)
+(step t143 (cl (! (not @p_848) :named @p_1186) @p_720 @p_840) :rule or_pos)
+(step t144 (cl @p_1170 @p_848) :rule implies_neg1)
+(step t145 (cl @p_1166 (! (not @p_1165) :named @p_1183)) :rule or_neg)
+(step t146 (cl (not @p_1183) @p_1184) :rule not_not)
+(step t147 (cl @p_1166 @p_1184) :rule th_resolution :premises (t146 t145))
+(step t148 (cl @p_1170 (not @p_1166)) :rule implies_neg2)
+(step t149 (cl (not @p_1167) (not @p_1168) (! (not @p_1169) :named @p_1926) (not @p_1170)) :rule not_and :premises (t126))
+(step t150 (cl @p_1185 @p_800) :rule resolution :premises (t131 t122))
+(step t151 (cl @p_1186 @p_840) :rule resolution :premises (t143 t122))
+(step t152 (cl (or (! (not @p_1155) :named @p_1187) (! (forall ((veriT_vr103 A$) (veriT_vr104 C$)) (or @p_1084 (not @p_1092) @p_1084)) :named @p_1340))) :rule qnt_cnf)
+(step t153 (cl (or @p_1187 (! (forall ((veriT_vr103 A$) (veriT_vr104 C$) (veriT_vr105 B$) (veriT_vr106 C$)) (or @p_1084 (not @p_1100) @p_1104)) :named @p_1351))) :rule qnt_cnf)
+(step t154 (cl (or @p_1187 (! (forall ((veriT_vr103 A$) (veriT_vr104 C$) (veriT_vr105 B$) (veriT_vr106 C$)) (or @p_1084 (not @p_1104) @p_1100)) :named @p_1352))) :rule qnt_cnf)
+(step t155 (cl (or @p_1159 (! (not @p_800) :named @p_1323))) :rule forall_inst :args ((:= veriT_vr107 veriT_sk5) (:= veriT_vr108 veriT_sk6)))
+(step t156 (cl (or @p_1159 (! (not (! (and @p_842 (! (is_fail$b @p_846) :named @p_1325)) :named @p_1324)) :named @p_1326))) :rule forall_inst :args ((:= veriT_vr107 veriT_sk11) (:= veriT_vr108 veriT_sk12)))
+(step t157 (cl (or @p_1159 (! (not (! (and (! (is_res$a @p_712 @p_821) :named @p_1328) (! (is_fail$b (! (run$b (c$ veriT_sk9 veriT_sk0) veriT_sk10) :named @p_1353)) :named @p_1329)) :named @p_1327)) :named @p_1330))) :rule forall_inst :args ((:= veriT_vr107 veriT_sk9) (:= veriT_vr108 veriT_sk10)))
+(step t158 (cl (or @p_1159 (! (not (! (and (! (is_res$a @p_712 @p_783) :named @p_1332) (! (is_fail$b (! (run$b (c$ veriT_sk3 veriT_sk0) veriT_sk4) :named @p_1389)) :named @p_1333)) :named @p_1331)) :named @p_1334))) :rule forall_inst :args ((:= veriT_vr107 veriT_sk3) (:= veriT_vr108 veriT_sk4)))
+(step t159 (cl (not (! (not (! (not @p_1154) :named @p_1385)) :named @p_1533)) @p_1154) :rule not_not)
+(step t160 (cl (or (! (not @p_1018) :named @p_1320) (! (=> @p_1015 (! (or @p_720 (! (and (! (= @p_726 @p_720) :named @p_1208) (! (forall ((veriT_vr91 E$) (veriT_vr92 D$)) (! (= (! (is_res$a @p_714 @p_869) :named @p_1236) (! (is_res$a @p_712 @p_869) :named @p_1241)) :named @p_1243)) :named @p_1234)) :named @p_1245)) :named @p_1247)) :named @p_1188))) :rule forall_inst :args ((:= veriT_vr84 veriT_sk0) (:= veriT_vr85 veriT_sk1) (:= veriT_vr90 veriT_sk2)))
+(anchor :step t161)
+(assume t161.h1 @p_1188)
+(anchor :step t161.t2 :args ((:= (veriT_vr86 A$) veriT_vr115) (:= (veriT_vr87 C$) veriT_vr116)))
+(step t161.t2.t1 (cl (! (= veriT_vr86 veriT_vr115) :named @p_1215)) :rule refl)
+(step t161.t2.t2 (cl (! (= @p_955 (! (fun_app$ veriT_sk0 veriT_vr115) :named @p_1214)) :named @p_1219)) :rule cong :premises (t161.t2.t1))
+(step t161.t2.t3 (cl (! (= veriT_vr87 veriT_vr116) :named @p_1217)) :rule refl)
+(step t161.t2.t4 (cl (! (= @p_954 (! (run$ @p_1214 veriT_vr116) :named @p_1212)) :named @p_1220)) :rule cong :premises (t161.t2.t2 t161.t2.t3))
+(step t161.t2.t5 (cl (! (= @p_952 (! (is_fail$ @p_1212) :named @p_1210)) :named @p_1221)) :rule cong :premises (t161.t2.t4))
+(step t161.t2.t6 (cl @p_1215) :rule refl)
+(step t161.t2.t7 (cl (! (= @p_957 (! (fun_app$ veriT_sk1 veriT_vr115) :named @p_1216)) :named @p_1224)) :rule cong :premises (t161.t2.t6))
+(step t161.t2.t8 (cl @p_1217) :rule refl)
+(step t161.t2.t9 (cl (! (= @p_953 (! (run$ @p_1216 veriT_vr116) :named @p_1211)) :named @p_1225)) :rule cong :premises (t161.t2.t7 t161.t2.t8))
+(step t161.t2.t10 (cl (= @p_959 (! (is_fail$ @p_1211) :named @p_1218))) :rule cong :premises (t161.t2.t9))
+(step t161.t2.t11 (cl @p_1215) :rule refl)
+(step t161.t2.t12 (cl @p_1219) :rule cong :premises (t161.t2.t11))
+(step t161.t2.t13 (cl @p_1217) :rule refl)
+(step t161.t2.t14 (cl @p_1220) :rule cong :premises (t161.t2.t12 t161.t2.t13))
+(step t161.t2.t15 (cl @p_1221) :rule cong :premises (t161.t2.t14))
+(step t161.t2.t16 (cl (= @p_963 (! (= @p_1218 @p_1210) :named @p_1222))) :rule cong :premises (t161.t2.t10 t161.t2.t15))
+(anchor :step t161.t2.t17 :args ((:= (veriT_vr88 B$) veriT_vr117) (:= (veriT_vr89 C$) veriT_vr118)))
+(step t161.t2.t17.t1 (cl @p_1215) :rule refl)
+(step t161.t2.t17.t2 (cl @p_1224) :rule cong :premises (t161.t2.t17.t1))
+(step t161.t2.t17.t3 (cl @p_1217) :rule refl)
+(step t161.t2.t17.t4 (cl @p_1225) :rule cong :premises (t161.t2.t17.t2 t161.t2.t17.t3))
+(step t161.t2.t17.t5 (cl (! (= veriT_vr88 veriT_vr117) :named @p_1227)) :rule refl)
+(step t161.t2.t17.t6 (cl (! (= veriT_vr89 veriT_vr118) :named @p_1228)) :rule refl)
+(step t161.t2.t17.t7 (cl (! (= @p_865 (! (pair$ veriT_vr117 veriT_vr118) :named @p_1213)) :named @p_1229)) :rule cong :premises (t161.t2.t17.t5 t161.t2.t17.t6))
+(step t161.t2.t17.t8 (cl (= @p_967 (! (is_res$ @p_1211 @p_1213) :named @p_1226))) :rule cong :premises (t161.t2.t17.t4 t161.t2.t17.t7))
+(step t161.t2.t17.t9 (cl @p_1215) :rule refl)
+(step t161.t2.t17.t10 (cl @p_1219) :rule cong :premises (t161.t2.t17.t9))
+(step t161.t2.t17.t11 (cl @p_1217) :rule refl)
+(step t161.t2.t17.t12 (cl @p_1220) :rule cong :premises (t161.t2.t17.t10 t161.t2.t17.t11))
+(step t161.t2.t17.t13 (cl @p_1227) :rule refl)
+(step t161.t2.t17.t14 (cl @p_1228) :rule refl)
+(step t161.t2.t17.t15 (cl @p_1229) :rule cong :premises (t161.t2.t17.t13 t161.t2.t17.t14))
+(step t161.t2.t17.t16 (cl (= @p_971 (! (is_res$ @p_1212 @p_1213) :named @p_1230))) :rule cong :premises (t161.t2.t17.t12 t161.t2.t17.t15))
+(step t161.t2.t17.t17 (cl (= @p_972 (! (= @p_1226 @p_1230) :named @p_1231))) :rule cong :premises (t161.t2.t17.t8 t161.t2.t17.t16))
+(step t161.t2.t17 (cl (= @p_964 (! (forall ((veriT_vr117 B$) (veriT_vr118 C$)) @p_1231) :named @p_1223))) :rule bind)
+(step t161.t2.t18 (cl (= @p_973 (! (and @p_1222 @p_1223) :named @p_1232))) :rule cong :premises (t161.t2.t16 t161.t2.t17))
+(step t161.t2.t19 (cl (= @p_974 (! (or @p_1210 @p_1232) :named @p_1233))) :rule cong :premises (t161.t2.t5 t161.t2.t18))
+(step t161.t2 (cl (= @p_1015 (! (forall ((veriT_vr115 A$) (veriT_vr116 C$)) @p_1233) :named @p_1249))) :rule bind)
+(anchor :step t161.t3 :args ((:= (veriT_vr91 E$) veriT_vr121) (:= (veriT_vr92 D$) veriT_vr120)))
+(step t161.t3.t1 (cl (! (= veriT_vr91 veriT_vr121) :named @p_1238)) :rule refl)
+(step t161.t3.t2 (cl (! (= veriT_vr92 veriT_vr120) :named @p_1239)) :rule refl)
+(step t161.t3.t3 (cl (! (= @p_869 (! (pair$a veriT_vr121 veriT_vr120) :named @p_1235)) :named @p_1240)) :rule cong :premises (t161.t3.t1 t161.t3.t2))
+(step t161.t3.t4 (cl (= @p_1236 (! (is_res$a @p_714 @p_1235) :named @p_1237))) :rule cong :premises (t161.t3.t3))
+(step t161.t3.t5 (cl @p_1238) :rule refl)
+(step t161.t3.t6 (cl @p_1239) :rule refl)
+(step t161.t3.t7 (cl @p_1240) :rule cong :premises (t161.t3.t5 t161.t3.t6))
+(step t161.t3.t8 (cl (= @p_1241 (! (is_res$a @p_712 @p_1235) :named @p_1242))) :rule cong :premises (t161.t3.t7))
+(step t161.t3.t9 (cl (= @p_1243 (! (= @p_1237 @p_1242) :named @p_1244))) :rule cong :premises (t161.t3.t4 t161.t3.t8))
+(step t161.t3 (cl (= @p_1234 (! (forall ((veriT_vr121 E$) (veriT_vr120 D$)) @p_1244) :named @p_1246))) :rule bind)
+(step t161.t4 (cl (= @p_1245 (! (and @p_1208 @p_1246) :named @p_1248))) :rule cong :premises (t161.t3))
+(step t161.t5 (cl (= @p_1247 (! (or @p_720 @p_1248) :named @p_1250))) :rule cong :premises (t161.t4))
+(step t161.t6 (cl (! (= @p_1188 (! (=> @p_1249 @p_1250) :named @p_1253)) :named @p_1251)) :rule cong :premises (t161.t2 t161.t5))
+(step t161.t7 (cl (not @p_1251) (! (not @p_1188) :named @p_1252) @p_1253) :rule equiv_pos2)
+(step t161.t8 (cl @p_1253) :rule th_resolution :premises (t161.h1 t161.t6 t161.t7))
+(anchor :step t161.t9 :args ((:= (veriT_vr115 A$) veriT_vr122) (:= (veriT_vr116 C$) veriT_vr123)))
+(step t161.t9.t1 (cl (! (= veriT_vr115 veriT_vr122) :named @p_1256)) :rule refl)
+(step t161.t9.t2 (cl (! (= @p_1214 @p_1255) :named @p_1260)) :rule cong :premises (t161.t9.t1))
+(step t161.t9.t3 (cl (! (= veriT_vr116 veriT_vr123) :named @p_1258)) :rule refl)
+(step t161.t9.t4 (cl (! (= @p_1212 @p_1191) :named @p_1261)) :rule cong :premises (t161.t9.t2 t161.t9.t3))
+(step t161.t9.t5 (cl (! (= @p_1210 @p_1189) :named @p_1262)) :rule cong :premises (t161.t9.t4))
+(step t161.t9.t6 (cl @p_1256) :rule refl)
+(step t161.t9.t7 (cl (! (= @p_1216 @p_1257) :named @p_1265)) :rule cong :premises (t161.t9.t6))
+(step t161.t9.t8 (cl @p_1258) :rule refl)
+(step t161.t9.t9 (cl (! (= @p_1211 @p_1190) :named @p_1266)) :rule cong :premises (t161.t9.t7 t161.t9.t8))
+(step t161.t9.t10 (cl (= @p_1218 @p_1259)) :rule cong :premises (t161.t9.t9))
+(step t161.t9.t11 (cl @p_1256) :rule refl)
+(step t161.t9.t12 (cl @p_1260) :rule cong :premises (t161.t9.t11))
+(step t161.t9.t13 (cl @p_1258) :rule refl)
+(step t161.t9.t14 (cl @p_1261) :rule cong :premises (t161.t9.t12 t161.t9.t13))
+(step t161.t9.t15 (cl @p_1262) :rule cong :premises (t161.t9.t14))
+(step t161.t9.t16 (cl (= @p_1222 @p_1263)) :rule cong :premises (t161.t9.t10 t161.t9.t15))
+(anchor :step t161.t9.t17 :args ((:= (veriT_vr117 B$) veriT_vr124) (:= (veriT_vr118 C$) veriT_vr125)))
+(step t161.t9.t17.t1 (cl @p_1256) :rule refl)
+(step t161.t9.t17.t2 (cl @p_1265) :rule cong :premises (t161.t9.t17.t1))
+(step t161.t9.t17.t3 (cl @p_1258) :rule refl)
+(step t161.t9.t17.t4 (cl @p_1266) :rule cong :premises (t161.t9.t17.t2 t161.t9.t17.t3))
+(step t161.t9.t17.t5 (cl (! (= veriT_vr117 veriT_vr124) :named @p_1268)) :rule refl)
+(step t161.t9.t17.t6 (cl (! (= veriT_vr118 veriT_vr125) :named @p_1269)) :rule refl)
+(step t161.t9.t17.t7 (cl (! (= @p_1213 @p_1192) :named @p_1270)) :rule cong :premises (t161.t9.t17.t5 t161.t9.t17.t6))
+(step t161.t9.t17.t8 (cl (= @p_1226 @p_1267)) :rule cong :premises (t161.t9.t17.t4 t161.t9.t17.t7))
+(step t161.t9.t17.t9 (cl @p_1256) :rule refl)
+(step t161.t9.t17.t10 (cl @p_1260) :rule cong :premises (t161.t9.t17.t9))
+(step t161.t9.t17.t11 (cl @p_1258) :rule refl)
+(step t161.t9.t17.t12 (cl @p_1261) :rule cong :premises (t161.t9.t17.t10 t161.t9.t17.t11))
+(step t161.t9.t17.t13 (cl @p_1268) :rule refl)
+(step t161.t9.t17.t14 (cl @p_1269) :rule refl)
+(step t161.t9.t17.t15 (cl @p_1270) :rule cong :premises (t161.t9.t17.t13 t161.t9.t17.t14))
+(step t161.t9.t17.t16 (cl (= @p_1230 @p_1271)) :rule cong :premises (t161.t9.t17.t12 t161.t9.t17.t15))
+(step t161.t9.t17.t17 (cl (= @p_1231 @p_1272)) :rule cong :premises (t161.t9.t17.t8 t161.t9.t17.t16))
+(step t161.t9.t17 (cl (= @p_1223 @p_1264)) :rule bind)
+(step t161.t9.t18 (cl (= @p_1232 @p_1273)) :rule cong :premises (t161.t9.t16 t161.t9.t17))
+(step t161.t9.t19 (cl (= @p_1233 @p_1254)) :rule cong :premises (t161.t9.t5 t161.t9.t18))
+(step t161.t9 (cl (= @p_1249 (! (forall ((veriT_vr122 A$) (veriT_vr123 C$)) @p_1254) :named @p_1283))) :rule bind)
+(anchor :step t161.t10 :args ((:= (veriT_vr121 E$) veriT_vr126) (:= (veriT_vr120 D$) veriT_vr127)))
+(step t161.t10.t1 (cl (! (= veriT_vr121 veriT_vr126) :named @p_1276)) :rule refl)
+(step t161.t10.t2 (cl (! (= veriT_vr120 veriT_vr127) :named @p_1277)) :rule refl)
+(step t161.t10.t3 (cl (! (= @p_1235 (! (pair$a veriT_vr126 veriT_vr127) :named @p_1274)) :named @p_1278)) :rule cong :premises (t161.t10.t1 t161.t10.t2))
+(step t161.t10.t4 (cl (= @p_1237 (! (is_res$a @p_714 @p_1274) :named @p_1275))) :rule cong :premises (t161.t10.t3))
+(step t161.t10.t5 (cl @p_1276) :rule refl)
+(step t161.t10.t6 (cl @p_1277) :rule refl)
+(step t161.t10.t7 (cl @p_1278) :rule cong :premises (t161.t10.t5 t161.t10.t6))
+(step t161.t10.t8 (cl (= @p_1242 (! (is_res$a @p_712 @p_1274) :named @p_1279))) :rule cong :premises (t161.t10.t7))
+(step t161.t10.t9 (cl (= @p_1244 (! (= @p_1275 @p_1279) :named @p_1280))) :rule cong :premises (t161.t10.t4 t161.t10.t8))
+(step t161.t10 (cl (= @p_1246 (! (forall ((veriT_vr126 E$) (veriT_vr127 D$)) @p_1280) :named @p_1281))) :rule bind)
+(step t161.t11 (cl (= @p_1248 (! (and @p_1208 @p_1281) :named @p_1282))) :rule cong :premises (t161.t10))
+(step t161.t12 (cl (= @p_1250 (! (or @p_720 @p_1282) :named @p_1284))) :rule cong :premises (t161.t11))
+(step t161.t13 (cl (! (= @p_1253 (! (=> @p_1283 @p_1284) :named @p_1286)) :named @p_1285)) :rule cong :premises (t161.t9 t161.t12))
+(step t161.t14 (cl (not @p_1285) (not @p_1253) @p_1286) :rule equiv_pos2)
+(step t161.t15 (cl @p_1286) :rule th_resolution :premises (t161.t8 t161.t13 t161.t14))
+(anchor :step t161.t16 :args ((:= (veriT_vr122 A$) veriT_sk13) (:= (veriT_vr123 C$) veriT_sk14)))
+(step t161.t16.t1 (cl (! (= veriT_vr122 veriT_sk13) :named @p_1289)) :rule refl)
+(step t161.t16.t2 (cl (! (= @p_1255 (! (fun_app$ veriT_sk0 veriT_sk13) :named @p_1288)) :named @p_1293)) :rule cong :premises (t161.t16.t1))
+(step t161.t16.t3 (cl (! (= veriT_vr123 veriT_sk14) :named @p_1291)) :rule refl)
+(step t161.t16.t4 (cl (! (= @p_1191 (! (run$ @p_1288 veriT_sk14) :named @p_1206)) :named @p_1294)) :rule cong :premises (t161.t16.t2 t161.t16.t3))
+(step t161.t16.t5 (cl (! (= @p_1189 (! (is_fail$ @p_1206) :named @p_1198)) :named @p_1295)) :rule cong :premises (t161.t16.t4))
+(step t161.t16.t6 (cl @p_1289) :rule refl)
+(step t161.t16.t7 (cl (! (= @p_1257 (! (fun_app$ veriT_sk1 veriT_sk13) :named @p_1290)) :named @p_1298)) :rule cong :premises (t161.t16.t6))
+(step t161.t16.t8 (cl @p_1291) :rule refl)
+(step t161.t16.t9 (cl (! (= @p_1190 (! (run$ @p_1290 veriT_sk14) :named @p_1199)) :named @p_1299)) :rule cong :premises (t161.t16.t7 t161.t16.t8))
+(step t161.t16.t10 (cl (= @p_1259 (! (is_fail$ @p_1199) :named @p_1292))) :rule cong :premises (t161.t16.t9))
+(step t161.t16.t11 (cl @p_1289) :rule refl)
+(step t161.t16.t12 (cl @p_1293) :rule cong :premises (t161.t16.t11))
+(step t161.t16.t13 (cl @p_1291) :rule refl)
+(step t161.t16.t14 (cl @p_1294) :rule cong :premises (t161.t16.t12 t161.t16.t13))
+(step t161.t16.t15 (cl @p_1295) :rule cong :premises (t161.t16.t14))
+(step t161.t16.t16 (cl (= @p_1263 (! (= @p_1292 @p_1198) :named @p_1296))) :rule cong :premises (t161.t16.t10 t161.t16.t15))
+(anchor :step t161.t16.t17 :args ((:= (veriT_vr124 B$) veriT_sk15) (:= (veriT_vr125 C$) veriT_sk16)))
+(step t161.t16.t17.t1 (cl @p_1289) :rule refl)
+(step t161.t16.t17.t2 (cl @p_1298) :rule cong :premises (t161.t16.t17.t1))
+(step t161.t16.t17.t3 (cl @p_1291) :rule refl)
+(step t161.t16.t17.t4 (cl @p_1299) :rule cong :premises (t161.t16.t17.t2 t161.t16.t17.t3))
+(step t161.t16.t17.t5 (cl (! (= veriT_vr124 veriT_sk15) :named @p_1302)) :rule refl)
+(step t161.t16.t17.t6 (cl (! (= veriT_vr125 veriT_sk16) :named @p_1303)) :rule refl)
+(step t161.t16.t17.t7 (cl (! (= @p_1192 (! (pair$ veriT_sk15 veriT_sk16) :named @p_1207)) :named @p_1304)) :rule cong :premises (t161.t16.t17.t5 t161.t16.t17.t6))
+(step t161.t16.t17.t8 (cl (= @p_1267 (! (is_res$ @p_1199 @p_1207) :named @p_1301))) :rule cong :premises (t161.t16.t17.t4 t161.t16.t17.t7))
+(step t161.t16.t17.t9 (cl @p_1289) :rule refl)
+(step t161.t16.t17.t10 (cl @p_1293) :rule cong :premises (t161.t16.t17.t9))
+(step t161.t16.t17.t11 (cl @p_1291) :rule refl)
+(step t161.t16.t17.t12 (cl @p_1294) :rule cong :premises (t161.t16.t17.t10 t161.t16.t17.t11))
+(step t161.t16.t17.t13 (cl @p_1302) :rule refl)
+(step t161.t16.t17.t14 (cl @p_1303) :rule refl)
+(step t161.t16.t17.t15 (cl @p_1304) :rule cong :premises (t161.t16.t17.t13 t161.t16.t17.t14))
+(step t161.t16.t17.t16 (cl (= @p_1271 (! (is_res$ @p_1206 @p_1207) :named @p_1305))) :rule cong :premises (t161.t16.t17.t12 t161.t16.t17.t15))
+(step t161.t16.t17.t17 (cl (= @p_1272 (! (= @p_1301 @p_1305) :named @p_1297))) :rule cong :premises (t161.t16.t17.t8 t161.t16.t17.t16))
+(step t161.t16.t17 (cl (= @p_1264 @p_1297)) :rule sko_forall)
+(step t161.t16.t18 (cl (= @p_1273 (! (and @p_1296 @p_1297) :named @p_1306))) :rule cong :premises (t161.t16.t16 t161.t16.t17))
+(step t161.t16.t19 (cl (= @p_1254 (! (or @p_1198 @p_1306) :named @p_1287))) :rule cong :premises (t161.t16.t5 t161.t16.t18))
+(step t161.t16 (cl (= @p_1283 @p_1287)) :rule sko_forall)
+(step t161.t17 (cl (! (= @p_1286 (! (=> @p_1287 @p_1284) :named @p_1308)) :named @p_1307)) :rule cong :premises (t161.t16))
+(step t161.t18 (cl (not @p_1307) (not @p_1286) @p_1308) :rule equiv_pos2)
+(step t161.t19 (cl @p_1308) :rule th_resolution :premises (t161.t15 t161.t17 t161.t18))
+(anchor :step t161.t20 :args ((:= (veriT_vr126 E$) veriT_vr128) (:= (veriT_vr127 D$) veriT_vr129)))
+(step t161.t20.t1 (cl (! (= veriT_vr126 veriT_vr128) :named @p_1311)) :rule refl)
+(step t161.t20.t2 (cl (! (= veriT_vr127 veriT_vr129) :named @p_1312)) :rule refl)
+(step t161.t20.t3 (cl (! (= @p_1274 (! (pair$a veriT_vr128 veriT_vr129) :named @p_1209)) :named @p_1313)) :rule cong :premises (t161.t20.t1 t161.t20.t2))
+(step t161.t20.t4 (cl (= @p_1275 (! (is_res$a @p_714 @p_1209) :named @p_1310))) :rule cong :premises (t161.t20.t3))
+(step t161.t20.t5 (cl @p_1311) :rule refl)
+(step t161.t20.t6 (cl @p_1312) :rule refl)
+(step t161.t20.t7 (cl @p_1313) :rule cong :premises (t161.t20.t5 t161.t20.t6))
+(step t161.t20.t8 (cl (= @p_1279 (! (is_res$a @p_712 @p_1209) :named @p_1314))) :rule cong :premises (t161.t20.t7))
+(step t161.t20.t9 (cl (= @p_1280 (! (= @p_1310 @p_1314) :named @p_1315))) :rule cong :premises (t161.t20.t4 t161.t20.t8))
+(step t161.t20 (cl (= @p_1281 (! (forall ((veriT_vr128 E$) (veriT_vr129 D$)) @p_1315) :named @p_1309))) :rule bind)
+(step t161.t21 (cl (= @p_1282 (! (and @p_1208 @p_1309) :named @p_1316))) :rule cong :premises (t161.t20))
+(step t161.t22 (cl (= @p_1284 (! (or @p_720 @p_1316) :named @p_1317))) :rule cong :premises (t161.t21))
+(step t161.t23 (cl (! (= @p_1308 (! (=> @p_1287 @p_1317) :named @p_1318)) :named @p_1319)) :rule cong :premises (t161.t22))
+(step t161.t24 (cl (not @p_1319) (not @p_1308) @p_1318) :rule equiv_pos2)
+(step t161.t25 (cl @p_1318) :rule th_resolution :premises (t161.t19 t161.t23 t161.t24))
+(step t161 (cl @p_1252 @p_1318) :rule subproof :discharge (h1))
+(step t162 (cl @p_1320 @p_1188) :rule or :premises (t160))
+(step t163 (cl (! (or @p_1320 @p_1318) :named @p_1322) (! (not @p_1320) :named @p_1321)) :rule or_neg)
+(step t164 (cl (not @p_1321) @p_1018) :rule not_not)
+(step t165 (cl @p_1322 @p_1018) :rule th_resolution :premises (t164 t163))
+(step t166 (cl @p_1322 (! (not @p_1318) :named @p_1336)) :rule or_neg)
+(step t167 (cl @p_1322) :rule th_resolution :premises (t162 t161 t165 t166))
+(step t168 (cl @p_1159 @p_1323) :rule or :premises (t155))
+(step t169 (cl @p_1323) :rule resolution :premises (t168 t125))
+(step t170 (cl @p_1185) :rule resolution :premises (t150 t169))
+(step t171 (cl @p_1168) :rule resolution :premises (t132 t170))
+(step t172 (cl @p_1324 (! (not @p_842) :named @p_1676) (not @p_1325)) :rule and_neg)
+(step t173 (cl @p_1159 @p_1326) :rule or :premises (t156))
+(step t174 (cl @p_1326) :rule resolution :premises (t173 t125))
+(step t175 (cl @p_1327 (! (not @p_1328) :named @p_1669) (not @p_1329)) :rule and_neg)
+(step t176 (cl @p_1159 @p_1330) :rule or :premises (t157))
+(step t177 (cl @p_1330) :rule resolution :premises (t176 t125))
+(step t178 (cl @p_1331 (not @p_1332) (not @p_1333)) :rule and_neg)
+(step t179 (cl @p_1159 @p_1334) :rule or :premises (t158))
+(step t180 (cl @p_1334) :rule resolution :premises (t179 t125))
+(step t181 (cl @p_1287 (not @p_1198)) :rule or_neg)
+(step t182 (cl @p_1296 @p_1292 @p_1198) :rule equiv_neg2)
+(step t183 (cl @p_1306 (not @p_1296) (not @p_1297)) :rule and_neg)
+(step t184 (cl @p_1287 (not @p_1306)) :rule or_neg)
+(step t185 (cl (! (not @p_1208) :named @p_1337) (! (not @p_726) :named @p_1338) @p_720) :rule equiv_pos2)
+(step t186 (cl (! (not @p_1316) :named @p_1335) @p_1208) :rule and_pos)
+(step t187 (cl @p_1335 @p_1309) :rule and_pos)
+(step t188 (cl (! (not @p_1317) :named @p_1339) @p_720 @p_1316) :rule or_pos)
+(step t189 (cl @p_1336 (not @p_1287) @p_1317) :rule implies_pos)
+(step t190 (cl @p_1320 @p_1318) :rule or :premises (t167))
+(step t191 (cl @p_1337 @p_1338) :rule resolution :premises (t185 t122))
+(step t192 (cl @p_1339 @p_1316) :rule resolution :premises (t188 t122))
+(step t193 (cl @p_1318) :rule resolution :premises (t190 t118))
+(step t194 (cl @p_1187 @p_1340) :rule or :premises (t152))
+(step t195 (cl (or (! (not @p_1340) :named @p_1341) (! (or @p_1198 (! (not @p_1292) :named @p_1346) @p_1198) :named @p_1342))) :rule forall_inst :args ((:= veriT_vr103 veriT_sk13) (:= veriT_vr104 veriT_sk14)))
+(step t196 (cl @p_1341 @p_1342) :rule or :premises (t195))
+(step t197 (cl (! (or @p_1187 @p_1342) :named @p_1344) (! (not @p_1187) :named @p_1343)) :rule or_neg)
+(step t198 (cl (not @p_1343) @p_1155) :rule not_not)
+(step t199 (cl @p_1344 @p_1155) :rule th_resolution :premises (t198 t197))
+(step t200 (cl @p_1344 (! (not @p_1342) :named @p_1345)) :rule or_neg)
+(step t201 (cl @p_1344) :rule th_resolution :premises (t194 t196 t199 t200))
+(anchor :step t202)
+(assume t202.h1 @p_1342)
+(step t202.t2 (cl (! (= @p_1342 (! (or @p_1198 @p_1346) :named @p_1347)) :named @p_1348)) :rule ac_simp)
+(step t202.t3 (cl (not @p_1348) @p_1345 @p_1347) :rule equiv_pos2)
+(step t202.t4 (cl @p_1347) :rule th_resolution :premises (t202.h1 t202.t2 t202.t3))
+(step t202 (cl @p_1345 @p_1347) :rule subproof :discharge (h1))
+(step t203 (cl @p_1187 @p_1342) :rule or :premises (t201))
+(step t204 (cl (! (or @p_1187 @p_1347) :named @p_1349) @p_1343) :rule or_neg)
+(step t205 (cl @p_1349 @p_1155) :rule th_resolution :premises (t198 t204))
+(step t206 (cl @p_1349 (! (not @p_1347) :named @p_1350)) :rule or_neg)
+(step t207 (cl @p_1349) :rule th_resolution :premises (t203 t202 t205 t206))
+(step t208 (cl @p_1350 @p_1198 @p_1346) :rule or_pos)
+(step t209 (cl @p_1187 @p_1347) :rule or :premises (t207))
+(step t210 (cl @p_1347) :rule resolution :premises (t209 t120))
+(step t211 (cl @p_1187 @p_1351) :rule or :premises (t153))
+(step t212 (cl @p_1187 @p_1352) :rule or :premises (t154))
+(step t213 (cl (or @p_1163 (! (not (! (and @p_1328 (! (is_res$b @p_1353 @p_747) :named @p_1670)) :named @p_1668)) :named @p_1671))) :rule forall_inst :args ((:= veriT_vr111 veriT_sk9) (:= veriT_vr112 veriT_sk10)))
+(step t214 (cl (or (! (not @p_1309) :named @p_1354) (! (= @p_822 @p_1328) :named @p_1672))) :rule forall_inst :args ((:= veriT_vr128 veriT_sk9) (:= veriT_vr129 veriT_sk10)))
+(step t215 (cl (or @p_1354 (! (= @p_784 @p_1332) :named @p_1673))) :rule forall_inst :args ((:= veriT_vr128 veriT_sk3) (:= veriT_vr129 veriT_sk4)))
+(step t216 (cl (or @p_1354 (! (= (! (is_res$a @p_714 @p_841) :named @p_1675) @p_842) :named @p_1674))) :rule forall_inst :args ((:= veriT_vr128 veriT_sk11) (:= veriT_vr129 veriT_sk12)))
+(step t217 (cl (or @p_1187 (! (or @p_1198 (! (and @p_1296 (! (forall ((veriT_vr105 B$) (veriT_vr106 C$)) (! (= (! (is_res$ @p_1199 @p_1087) :named @p_1359) (! (is_res$ @p_1206 @p_1087) :named @p_1364)) :named @p_1366)) :named @p_1357)) :named @p_1368)) :named @p_1355))) :rule forall_inst :args ((:= veriT_vr103 veriT_sk13) (:= veriT_vr104 veriT_sk14)))
+(anchor :step t218)
+(assume t218.h1 @p_1355)
+(anchor :step t218.t2 :args ((:= (veriT_vr105 B$) veriT_vr148) (:= (veriT_vr106 C$) veriT_vr149)))
+(step t218.t2.t1 (cl (! (= veriT_vr105 veriT_vr148) :named @p_1361)) :rule refl)
+(step t218.t2.t2 (cl (! (= veriT_vr106 veriT_vr149) :named @p_1362)) :rule refl)
+(step t218.t2.t3 (cl (! (= @p_1087 (! (pair$ veriT_vr148 veriT_vr149) :named @p_1358)) :named @p_1363)) :rule cong :premises (t218.t2.t1 t218.t2.t2))
+(step t218.t2.t4 (cl (= @p_1359 (! (is_res$ @p_1199 @p_1358) :named @p_1360))) :rule cong :premises (t218.t2.t3))
+(step t218.t2.t5 (cl @p_1361) :rule refl)
+(step t218.t2.t6 (cl @p_1362) :rule refl)
+(step t218.t2.t7 (cl @p_1363) :rule cong :premises (t218.t2.t5 t218.t2.t6))
+(step t218.t2.t8 (cl (= @p_1364 (! (is_res$ @p_1206 @p_1358) :named @p_1365))) :rule cong :premises (t218.t2.t7))
+(step t218.t2.t9 (cl (= @p_1366 (! (= @p_1360 @p_1365) :named @p_1367))) :rule cong :premises (t218.t2.t4 t218.t2.t8))
+(step t218.t2 (cl (= @p_1357 (! (forall ((veriT_vr148 B$) (veriT_vr149 C$)) @p_1367) :named @p_1369))) :rule bind)
+(step t218.t3 (cl (= @p_1368 (! (and @p_1296 @p_1369) :named @p_1370))) :rule cong :premises (t218.t2))
+(step t218.t4 (cl (! (= @p_1355 (! (or @p_1198 @p_1370) :named @p_1373)) :named @p_1371)) :rule cong :premises (t218.t3))
+(step t218.t5 (cl (not @p_1371) (! (not @p_1355) :named @p_1372) @p_1373) :rule equiv_pos2)
+(step t218.t6 (cl @p_1373) :rule th_resolution :premises (t218.h1 t218.t4 t218.t5))
+(anchor :step t218.t7 :args ((:= (veriT_vr148 B$) veriT_vr150) (:= (veriT_vr149 C$) veriT_vr151)))
+(step t218.t7.t1 (cl (! (= veriT_vr148 veriT_vr150) :named @p_1376)) :rule refl)
+(step t218.t7.t2 (cl (! (= veriT_vr149 veriT_vr151) :named @p_1377)) :rule refl)
+(step t218.t7.t3 (cl (! (= @p_1358 (! (pair$ veriT_vr150 veriT_vr151) :named @p_1356)) :named @p_1378)) :rule cong :premises (t218.t7.t1 t218.t7.t2))
+(step t218.t7.t4 (cl (= @p_1360 (! (is_res$ @p_1199 @p_1356) :named @p_1375))) :rule cong :premises (t218.t7.t3))
+(step t218.t7.t5 (cl @p_1376) :rule refl)
+(step t218.t7.t6 (cl @p_1377) :rule refl)
+(step t218.t7.t7 (cl @p_1378) :rule cong :premises (t218.t7.t5 t218.t7.t6))
+(step t218.t7.t8 (cl (= @p_1365 (! (is_res$ @p_1206 @p_1356) :named @p_1379))) :rule cong :premises (t218.t7.t7))
+(step t218.t7.t9 (cl (= @p_1367 (! (= @p_1375 @p_1379) :named @p_1380))) :rule cong :premises (t218.t7.t4 t218.t7.t8))
+(step t218.t7 (cl (= @p_1369 (! (forall ((veriT_vr150 B$) (veriT_vr151 C$)) @p_1380) :named @p_1374))) :rule bind)
+(step t218.t8 (cl (= @p_1370 (! (and @p_1296 @p_1374) :named @p_1381))) :rule cong :premises (t218.t7))
+(step t218.t9 (cl (! (= @p_1373 (! (or @p_1198 @p_1381) :named @p_1382)) :named @p_1383)) :rule cong :premises (t218.t8))
+(step t218.t10 (cl (not @p_1383) (not @p_1373) @p_1382) :rule equiv_pos2)
+(step t218.t11 (cl @p_1382) :rule th_resolution :premises (t218.t6 t218.t9 t218.t10))
+(step t218 (cl @p_1372 @p_1382) :rule subproof :discharge (h1))
+(step t219 (cl @p_1187 @p_1355) :rule or :premises (t217))
+(step t220 (cl (! (or @p_1187 @p_1382) :named @p_1384) @p_1343) :rule or_neg)
+(step t221 (cl @p_1384 @p_1155) :rule th_resolution :premises (t198 t220))
+(step t222 (cl @p_1384 (! (not @p_1382) :named @p_1677)) :rule or_neg)
+(step t223 (cl @p_1384) :rule th_resolution :premises (t219 t218 t221 t222))
+(step t224 (cl (or @p_1385 (! (=> (! (forall ((veriT_vr97 A$) (veriT_vr98 C$)) (! (or (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk0 veriT_vr97) :named @p_1417) veriT_vr98) :named @p_1388)) :named @p_1386) (! (and (! (= (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk1 veriT_vr97) :named @p_1420) veriT_vr98) :named @p_1387)) :named @p_1423) @p_1386) :named @p_1428) (! (forall ((veriT_vr99 B$) (veriT_vr100 C$)) (! (= (! (is_res$ @p_1387 @p_1035) :named @p_1434) (! (is_res$ @p_1388 @p_1035) :named @p_1439)) :named @p_1441)) :named @p_1430)) :named @p_1443)) :named @p_1445)) :named @p_1412) (! (or @p_1333 (! (and (! (= @p_789 @p_1333) :named @p_1410) (! (forall ((veriT_vr93 F$) (veriT_vr102 D$)) (! (= (! (is_res$b @p_788 @p_1039) :named @p_1449) (! (is_res$b @p_1389 @p_1039) :named @p_1454)) :named @p_1456)) :named @p_1447)) :named @p_1458)) :named @p_1460)) :named @p_1390))) :rule forall_inst :args ((:= veriT_vr94 veriT_sk3) (:= veriT_vr95 veriT_sk0) (:= veriT_vr96 veriT_sk1) (:= veriT_vr101 veriT_sk4)))
+(anchor :step t225)
+(assume t225.h1 @p_1390)
+(anchor :step t225.t2 :args ((:= (veriT_vr97 A$) veriT_vr165) (:= (veriT_vr98 C$) veriT_vr166)))
+(step t225.t2.t1 (cl (! (= veriT_vr97 veriT_vr165) :named @p_1419)) :rule refl)
+(step t225.t2.t2 (cl (! (= @p_1417 (! (fun_app$ veriT_sk0 veriT_vr165) :named @p_1418)) :named @p_1425)) :rule cong :premises (t225.t2.t1))
+(step t225.t2.t3 (cl (! (= veriT_vr98 veriT_vr166) :named @p_1422)) :rule refl)
+(step t225.t2.t4 (cl (! (= @p_1388 (! (run$ @p_1418 veriT_vr166) :named @p_1415)) :named @p_1426)) :rule cong :premises (t225.t2.t2 t225.t2.t3))
+(step t225.t2.t5 (cl (! (= @p_1386 (! (is_fail$ @p_1415) :named @p_1413)) :named @p_1427)) :rule cong :premises (t225.t2.t4))
+(step t225.t2.t6 (cl @p_1419) :rule refl)
+(step t225.t2.t7 (cl (! (= @p_1420 (! (fun_app$ veriT_sk1 veriT_vr165) :named @p_1421)) :named @p_1432)) :rule cong :premises (t225.t2.t6))
+(step t225.t2.t8 (cl @p_1422) :rule refl)
+(step t225.t2.t9 (cl (! (= @p_1387 (! (run$ @p_1421 veriT_vr166) :named @p_1414)) :named @p_1433)) :rule cong :premises (t225.t2.t7 t225.t2.t8))
+(step t225.t2.t10 (cl (= @p_1423 (! (is_fail$ @p_1414) :named @p_1424))) :rule cong :premises (t225.t2.t9))
+(step t225.t2.t11 (cl @p_1419) :rule refl)
+(step t225.t2.t12 (cl @p_1425) :rule cong :premises (t225.t2.t11))
+(step t225.t2.t13 (cl @p_1422) :rule refl)
+(step t225.t2.t14 (cl @p_1426) :rule cong :premises (t225.t2.t12 t225.t2.t13))
+(step t225.t2.t15 (cl @p_1427) :rule cong :premises (t225.t2.t14))
+(step t225.t2.t16 (cl (= @p_1428 (! (= @p_1424 @p_1413) :named @p_1429))) :rule cong :premises (t225.t2.t10 t225.t2.t15))
+(anchor :step t225.t2.t17 :args ((:= (veriT_vr99 B$) veriT_vr167) (:= (veriT_vr100 C$) veriT_vr168)))
+(step t225.t2.t17.t1 (cl @p_1419) :rule refl)
+(step t225.t2.t17.t2 (cl @p_1432) :rule cong :premises (t225.t2.t17.t1))
+(step t225.t2.t17.t3 (cl @p_1422) :rule refl)
+(step t225.t2.t17.t4 (cl @p_1433) :rule cong :premises (t225.t2.t17.t2 t225.t2.t17.t3))
+(step t225.t2.t17.t5 (cl (! (= veriT_vr99 veriT_vr167) :named @p_1436)) :rule refl)
+(step t225.t2.t17.t6 (cl (! (= veriT_vr100 veriT_vr168) :named @p_1437)) :rule refl)
+(step t225.t2.t17.t7 (cl (! (= @p_1035 (! (pair$ veriT_vr167 veriT_vr168) :named @p_1416)) :named @p_1438)) :rule cong :premises (t225.t2.t17.t5 t225.t2.t17.t6))
+(step t225.t2.t17.t8 (cl (= @p_1434 (! (is_res$ @p_1414 @p_1416) :named @p_1435))) :rule cong :premises (t225.t2.t17.t4 t225.t2.t17.t7))
+(step t225.t2.t17.t9 (cl @p_1419) :rule refl)
+(step t225.t2.t17.t10 (cl @p_1425) :rule cong :premises (t225.t2.t17.t9))
+(step t225.t2.t17.t11 (cl @p_1422) :rule refl)
+(step t225.t2.t17.t12 (cl @p_1426) :rule cong :premises (t225.t2.t17.t10 t225.t2.t17.t11))
+(step t225.t2.t17.t13 (cl @p_1436) :rule refl)
+(step t225.t2.t17.t14 (cl @p_1437) :rule refl)
+(step t225.t2.t17.t15 (cl @p_1438) :rule cong :premises (t225.t2.t17.t13 t225.t2.t17.t14))
+(step t225.t2.t17.t16 (cl (= @p_1439 (! (is_res$ @p_1415 @p_1416) :named @p_1440))) :rule cong :premises (t225.t2.t17.t12 t225.t2.t17.t15))
+(step t225.t2.t17.t17 (cl (= @p_1441 (! (= @p_1435 @p_1440) :named @p_1442))) :rule cong :premises (t225.t2.t17.t8 t225.t2.t17.t16))
+(step t225.t2.t17 (cl (= @p_1430 (! (forall ((veriT_vr167 B$) (veriT_vr168 C$)) @p_1442) :named @p_1431))) :rule bind)
+(step t225.t2.t18 (cl (= @p_1443 (! (and @p_1429 @p_1431) :named @p_1444))) :rule cong :premises (t225.t2.t16 t225.t2.t17))
+(step t225.t2.t19 (cl (= @p_1445 (! (or @p_1413 @p_1444) :named @p_1446))) :rule cong :premises (t225.t2.t5 t225.t2.t18))
+(step t225.t2 (cl (= @p_1412 (! (forall ((veriT_vr165 A$) (veriT_vr166 C$)) @p_1446) :named @p_1462))) :rule bind)
+(anchor :step t225.t3 :args ((:= (veriT_vr93 F$) veriT_vr169) (:= (veriT_vr102 D$) veriT_vr170)))
+(step t225.t3.t1 (cl (! (= veriT_vr93 veriT_vr169) :named @p_1451)) :rule refl)
+(step t225.t3.t2 (cl (! (= veriT_vr102 veriT_vr170) :named @p_1452)) :rule refl)
+(step t225.t3.t3 (cl (! (= @p_1039 (! (pair$b veriT_vr169 veriT_vr170) :named @p_1448)) :named @p_1453)) :rule cong :premises (t225.t3.t1 t225.t3.t2))
+(step t225.t3.t4 (cl (= @p_1449 (! (is_res$b @p_788 @p_1448) :named @p_1450))) :rule cong :premises (t225.t3.t3))
+(step t225.t3.t5 (cl @p_1451) :rule refl)
+(step t225.t3.t6 (cl @p_1452) :rule refl)
+(step t225.t3.t7 (cl @p_1453) :rule cong :premises (t225.t3.t5 t225.t3.t6))
+(step t225.t3.t8 (cl (= @p_1454 (! (is_res$b @p_1389 @p_1448) :named @p_1455))) :rule cong :premises (t225.t3.t7))
+(step t225.t3.t9 (cl (= @p_1456 (! (= @p_1450 @p_1455) :named @p_1457))) :rule cong :premises (t225.t3.t4 t225.t3.t8))
+(step t225.t3 (cl (= @p_1447 (! (forall ((veriT_vr169 F$) (veriT_vr170 D$)) @p_1457) :named @p_1459))) :rule bind)
+(step t225.t4 (cl (= @p_1458 (! (and @p_1410 @p_1459) :named @p_1461))) :rule cong :premises (t225.t3))
+(step t225.t5 (cl (= @p_1460 (! (or @p_1333 @p_1461) :named @p_1463))) :rule cong :premises (t225.t4))
+(step t225.t6 (cl (! (= @p_1390 (! (=> @p_1462 @p_1463) :named @p_1466)) :named @p_1464)) :rule cong :premises (t225.t2 t225.t5))
+(step t225.t7 (cl (not @p_1464) (! (not @p_1390) :named @p_1465) @p_1466) :rule equiv_pos2)
+(step t225.t8 (cl @p_1466) :rule th_resolution :premises (t225.h1 t225.t6 t225.t7))
+(anchor :step t225.t9 :args ((:= (veriT_vr165 A$) veriT_vr171) (:= (veriT_vr166 C$) veriT_vr172)))
+(step t225.t9.t1 (cl (! (= veriT_vr165 veriT_vr171) :named @p_1469)) :rule refl)
+(step t225.t9.t2 (cl (! (= @p_1418 @p_1468) :named @p_1473)) :rule cong :premises (t225.t9.t1))
+(step t225.t9.t3 (cl (! (= veriT_vr166 veriT_vr172) :named @p_1471)) :rule refl)
+(step t225.t9.t4 (cl (! (= @p_1415 @p_1393) :named @p_1474)) :rule cong :premises (t225.t9.t2 t225.t9.t3))
+(step t225.t9.t5 (cl (! (= @p_1413 @p_1391) :named @p_1475)) :rule cong :premises (t225.t9.t4))
+(step t225.t9.t6 (cl @p_1469) :rule refl)
+(step t225.t9.t7 (cl (! (= @p_1421 @p_1470) :named @p_1478)) :rule cong :premises (t225.t9.t6))
+(step t225.t9.t8 (cl @p_1471) :rule refl)
+(step t225.t9.t9 (cl (! (= @p_1414 @p_1392) :named @p_1479)) :rule cong :premises (t225.t9.t7 t225.t9.t8))
+(step t225.t9.t10 (cl (= @p_1424 @p_1472)) :rule cong :premises (t225.t9.t9))
+(step t225.t9.t11 (cl @p_1469) :rule refl)
+(step t225.t9.t12 (cl @p_1473) :rule cong :premises (t225.t9.t11))
+(step t225.t9.t13 (cl @p_1471) :rule refl)
+(step t225.t9.t14 (cl @p_1474) :rule cong :premises (t225.t9.t12 t225.t9.t13))
+(step t225.t9.t15 (cl @p_1475) :rule cong :premises (t225.t9.t14))
+(step t225.t9.t16 (cl (= @p_1429 @p_1476)) :rule cong :premises (t225.t9.t10 t225.t9.t15))
+(anchor :step t225.t9.t17 :args ((:= (veriT_vr167 B$) veriT_vr173) (:= (veriT_vr168 C$) veriT_vr174)))
+(step t225.t9.t17.t1 (cl @p_1469) :rule refl)
+(step t225.t9.t17.t2 (cl @p_1478) :rule cong :premises (t225.t9.t17.t1))
+(step t225.t9.t17.t3 (cl @p_1471) :rule refl)
+(step t225.t9.t17.t4 (cl @p_1479) :rule cong :premises (t225.t9.t17.t2 t225.t9.t17.t3))
+(step t225.t9.t17.t5 (cl (! (= veriT_vr167 veriT_vr173) :named @p_1481)) :rule refl)
+(step t225.t9.t17.t6 (cl (! (= veriT_vr168 veriT_vr174) :named @p_1482)) :rule refl)
+(step t225.t9.t17.t7 (cl (! (= @p_1416 @p_1394) :named @p_1483)) :rule cong :premises (t225.t9.t17.t5 t225.t9.t17.t6))
+(step t225.t9.t17.t8 (cl (= @p_1435 @p_1480)) :rule cong :premises (t225.t9.t17.t4 t225.t9.t17.t7))
+(step t225.t9.t17.t9 (cl @p_1469) :rule refl)
+(step t225.t9.t17.t10 (cl @p_1473) :rule cong :premises (t225.t9.t17.t9))
+(step t225.t9.t17.t11 (cl @p_1471) :rule refl)
+(step t225.t9.t17.t12 (cl @p_1474) :rule cong :premises (t225.t9.t17.t10 t225.t9.t17.t11))
+(step t225.t9.t17.t13 (cl @p_1481) :rule refl)
+(step t225.t9.t17.t14 (cl @p_1482) :rule refl)
+(step t225.t9.t17.t15 (cl @p_1483) :rule cong :premises (t225.t9.t17.t13 t225.t9.t17.t14))
+(step t225.t9.t17.t16 (cl (= @p_1440 @p_1484)) :rule cong :premises (t225.t9.t17.t12 t225.t9.t17.t15))
+(step t225.t9.t17.t17 (cl (= @p_1442 @p_1485)) :rule cong :premises (t225.t9.t17.t8 t225.t9.t17.t16))
+(step t225.t9.t17 (cl (= @p_1431 @p_1477)) :rule bind)
+(step t225.t9.t18 (cl (= @p_1444 @p_1486)) :rule cong :premises (t225.t9.t16 t225.t9.t17))
+(step t225.t9.t19 (cl (= @p_1446 @p_1467)) :rule cong :premises (t225.t9.t5 t225.t9.t18))
+(step t225.t9 (cl (= @p_1462 (! (forall ((veriT_vr171 A$) (veriT_vr172 C$)) @p_1467) :named @p_1496))) :rule bind)
+(anchor :step t225.t10 :args ((:= (veriT_vr169 F$) veriT_vr175) (:= (veriT_vr170 D$) veriT_vr176)))
+(step t225.t10.t1 (cl (! (= veriT_vr169 veriT_vr175) :named @p_1489)) :rule refl)
+(step t225.t10.t2 (cl (! (= veriT_vr170 veriT_vr176) :named @p_1490)) :rule refl)
+(step t225.t10.t3 (cl (! (= @p_1448 (! (pair$b veriT_vr175 veriT_vr176) :named @p_1487)) :named @p_1491)) :rule cong :premises (t225.t10.t1 t225.t10.t2))
+(step t225.t10.t4 (cl (= @p_1450 (! (is_res$b @p_788 @p_1487) :named @p_1488))) :rule cong :premises (t225.t10.t3))
+(step t225.t10.t5 (cl @p_1489) :rule refl)
+(step t225.t10.t6 (cl @p_1490) :rule refl)
+(step t225.t10.t7 (cl @p_1491) :rule cong :premises (t225.t10.t5 t225.t10.t6))
+(step t225.t10.t8 (cl (= @p_1455 (! (is_res$b @p_1389 @p_1487) :named @p_1492))) :rule cong :premises (t225.t10.t7))
+(step t225.t10.t9 (cl (= @p_1457 (! (= @p_1488 @p_1492) :named @p_1493))) :rule cong :premises (t225.t10.t4 t225.t10.t8))
+(step t225.t10 (cl (= @p_1459 (! (forall ((veriT_vr175 F$) (veriT_vr176 D$)) @p_1493) :named @p_1494))) :rule bind)
+(step t225.t11 (cl (= @p_1461 (! (and @p_1410 @p_1494) :named @p_1495))) :rule cong :premises (t225.t10))
+(step t225.t12 (cl (= @p_1463 (! (or @p_1333 @p_1495) :named @p_1497))) :rule cong :premises (t225.t11))
+(step t225.t13 (cl (! (= @p_1466 (! (=> @p_1496 @p_1497) :named @p_1499)) :named @p_1498)) :rule cong :premises (t225.t9 t225.t12))
+(step t225.t14 (cl (not @p_1498) (not @p_1466) @p_1499) :rule equiv_pos2)
+(step t225.t15 (cl @p_1499) :rule th_resolution :premises (t225.t8 t225.t13 t225.t14))
+(anchor :step t225.t16 :args ((:= (veriT_vr171 A$) veriT_sk25) (:= (veriT_vr172 C$) veriT_sk26)))
+(step t225.t16.t1 (cl (! (= veriT_vr171 veriT_sk25) :named @p_1502)) :rule refl)
+(step t225.t16.t2 (cl (! (= @p_1468 (! (fun_app$ veriT_sk0 veriT_sk25) :named @p_1501)) :named @p_1506)) :rule cong :premises (t225.t16.t1))
+(step t225.t16.t3 (cl (! (= veriT_vr172 veriT_sk26) :named @p_1504)) :rule refl)
+(step t225.t16.t4 (cl (! (= @p_1393 (! (run$ @p_1501 veriT_sk26) :named @p_1408)) :named @p_1507)) :rule cong :premises (t225.t16.t2 t225.t16.t3))
+(step t225.t16.t5 (cl (! (= @p_1391 (! (is_fail$ @p_1408) :named @p_1400)) :named @p_1508)) :rule cong :premises (t225.t16.t4))
+(step t225.t16.t6 (cl @p_1502) :rule refl)
+(step t225.t16.t7 (cl (! (= @p_1470 (! (fun_app$ veriT_sk1 veriT_sk25) :named @p_1503)) :named @p_1511)) :rule cong :premises (t225.t16.t6))
+(step t225.t16.t8 (cl @p_1504) :rule refl)
+(step t225.t16.t9 (cl (! (= @p_1392 (! (run$ @p_1503 veriT_sk26) :named @p_1401)) :named @p_1512)) :rule cong :premises (t225.t16.t7 t225.t16.t8))
+(step t225.t16.t10 (cl (= @p_1472 (! (is_fail$ @p_1401) :named @p_1505))) :rule cong :premises (t225.t16.t9))
+(step t225.t16.t11 (cl @p_1502) :rule refl)
+(step t225.t16.t12 (cl @p_1506) :rule cong :premises (t225.t16.t11))
+(step t225.t16.t13 (cl @p_1504) :rule refl)
+(step t225.t16.t14 (cl @p_1507) :rule cong :premises (t225.t16.t12 t225.t16.t13))
+(step t225.t16.t15 (cl @p_1508) :rule cong :premises (t225.t16.t14))
+(step t225.t16.t16 (cl (= @p_1476 (! (= @p_1505 @p_1400) :named @p_1509))) :rule cong :premises (t225.t16.t10 t225.t16.t15))
+(anchor :step t225.t16.t17 :args ((:= (veriT_vr173 B$) veriT_sk27) (:= (veriT_vr174 C$) veriT_sk28)))
+(step t225.t16.t17.t1 (cl @p_1502) :rule refl)
+(step t225.t16.t17.t2 (cl @p_1511) :rule cong :premises (t225.t16.t17.t1))
+(step t225.t16.t17.t3 (cl @p_1504) :rule refl)
+(step t225.t16.t17.t4 (cl @p_1512) :rule cong :premises (t225.t16.t17.t2 t225.t16.t17.t3))
+(step t225.t16.t17.t5 (cl (! (= veriT_vr173 veriT_sk27) :named @p_1515)) :rule refl)
+(step t225.t16.t17.t6 (cl (! (= veriT_vr174 veriT_sk28) :named @p_1516)) :rule refl)
+(step t225.t16.t17.t7 (cl (! (= @p_1394 (! (pair$ veriT_sk27 veriT_sk28) :named @p_1409)) :named @p_1517)) :rule cong :premises (t225.t16.t17.t5 t225.t16.t17.t6))
+(step t225.t16.t17.t8 (cl (= @p_1480 (! (is_res$ @p_1401 @p_1409) :named @p_1514))) :rule cong :premises (t225.t16.t17.t4 t225.t16.t17.t7))
+(step t225.t16.t17.t9 (cl @p_1502) :rule refl)
+(step t225.t16.t17.t10 (cl @p_1506) :rule cong :premises (t225.t16.t17.t9))
+(step t225.t16.t17.t11 (cl @p_1504) :rule refl)
+(step t225.t16.t17.t12 (cl @p_1507) :rule cong :premises (t225.t16.t17.t10 t225.t16.t17.t11))
+(step t225.t16.t17.t13 (cl @p_1515) :rule refl)
+(step t225.t16.t17.t14 (cl @p_1516) :rule refl)
+(step t225.t16.t17.t15 (cl @p_1517) :rule cong :premises (t225.t16.t17.t13 t225.t16.t17.t14))
+(step t225.t16.t17.t16 (cl (= @p_1484 (! (is_res$ @p_1408 @p_1409) :named @p_1518))) :rule cong :premises (t225.t16.t17.t12 t225.t16.t17.t15))
+(step t225.t16.t17.t17 (cl (= @p_1485 (! (= @p_1514 @p_1518) :named @p_1510))) :rule cong :premises (t225.t16.t17.t8 t225.t16.t17.t16))
+(step t225.t16.t17 (cl (= @p_1477 @p_1510)) :rule sko_forall)
+(step t225.t16.t18 (cl (= @p_1486 (! (and @p_1509 @p_1510) :named @p_1519))) :rule cong :premises (t225.t16.t16 t225.t16.t17))
+(step t225.t16.t19 (cl (= @p_1467 (! (or @p_1400 @p_1519) :named @p_1500))) :rule cong :premises (t225.t16.t5 t225.t16.t18))
+(step t225.t16 (cl (= @p_1496 @p_1500)) :rule sko_forall)
+(step t225.t17 (cl (! (= @p_1499 (! (=> @p_1500 @p_1497) :named @p_1521)) :named @p_1520)) :rule cong :premises (t225.t16))
+(step t225.t18 (cl (not @p_1520) (not @p_1499) @p_1521) :rule equiv_pos2)
+(step t225.t19 (cl @p_1521) :rule th_resolution :premises (t225.t15 t225.t17 t225.t18))
+(anchor :step t225.t20 :args ((:= (veriT_vr175 F$) veriT_vr177) (:= (veriT_vr176 D$) veriT_vr178)))
+(step t225.t20.t1 (cl (! (= veriT_vr175 veriT_vr177) :named @p_1524)) :rule refl)
+(step t225.t20.t2 (cl (! (= veriT_vr176 veriT_vr178) :named @p_1525)) :rule refl)
+(step t225.t20.t3 (cl (! (= @p_1487 (! (pair$b veriT_vr177 veriT_vr178) :named @p_1411)) :named @p_1526)) :rule cong :premises (t225.t20.t1 t225.t20.t2))
+(step t225.t20.t4 (cl (= @p_1488 (! (is_res$b @p_788 @p_1411) :named @p_1523))) :rule cong :premises (t225.t20.t3))
+(step t225.t20.t5 (cl @p_1524) :rule refl)
+(step t225.t20.t6 (cl @p_1525) :rule refl)
+(step t225.t20.t7 (cl @p_1526) :rule cong :premises (t225.t20.t5 t225.t20.t6))
+(step t225.t20.t8 (cl (= @p_1492 (! (is_res$b @p_1389 @p_1411) :named @p_1527))) :rule cong :premises (t225.t20.t7))
+(step t225.t20.t9 (cl (= @p_1493 (! (= @p_1523 @p_1527) :named @p_1528))) :rule cong :premises (t225.t20.t4 t225.t20.t8))
+(step t225.t20 (cl (= @p_1494 (! (forall ((veriT_vr177 F$) (veriT_vr178 D$)) @p_1528) :named @p_1522))) :rule bind)
+(step t225.t21 (cl (= @p_1495 (! (and @p_1410 @p_1522) :named @p_1529))) :rule cong :premises (t225.t20))
+(step t225.t22 (cl (= @p_1497 (! (or @p_1333 @p_1529) :named @p_1530))) :rule cong :premises (t225.t21))
+(step t225.t23 (cl (! (= @p_1521 (! (=> @p_1500 @p_1530) :named @p_1531)) :named @p_1532)) :rule cong :premises (t225.t22))
+(step t225.t24 (cl (not @p_1532) (not @p_1521) @p_1531) :rule equiv_pos2)
+(step t225.t25 (cl @p_1531) :rule th_resolution :premises (t225.t19 t225.t23 t225.t24))
+(step t225 (cl @p_1465 @p_1531) :rule subproof :discharge (h1))
+(step t226 (cl @p_1385 @p_1390) :rule or :premises (t224))
+(step t227 (cl (! (or @p_1385 @p_1531) :named @p_1534) @p_1533) :rule or_neg)
+(step t228 (cl @p_1534 @p_1154) :rule th_resolution :premises (t159 t227))
+(step t229 (cl @p_1534 (! (not @p_1531) :named @p_1678)) :rule or_neg)
+(step t230 (cl @p_1534) :rule th_resolution :premises (t226 t225 t228 t229))
+(step t231 (cl (or @p_1385 (! (=> @p_1412 (! (or @p_1329 (! (and (! (= (is_fail$b @p_826) @p_1329) :named @p_1555) (! (forall ((veriT_vr93 F$) (veriT_vr102 D$)) (! (= (! (is_res$b @p_826 @p_1039) :named @p_1583) (! (is_res$b @p_1353 @p_1039) :named @p_1588)) :named @p_1590)) :named @p_1581)) :named @p_1592)) :named @p_1594)) :named @p_1535))) :rule forall_inst :args ((:= veriT_vr94 veriT_sk9) (:= veriT_vr95 veriT_sk0) (:= veriT_vr96 veriT_sk1) (:= veriT_vr101 veriT_sk10)))
+(anchor :step t232)
+(assume t232.h1 @p_1535)
+(anchor :step t232.t2 :args ((:= (veriT_vr97 A$) veriT_vr179) (:= (veriT_vr98 C$) veriT_vr180)))
+(step t232.t2.t1 (cl (! (= veriT_vr97 veriT_vr179) :named @p_1562)) :rule refl)
+(step t232.t2.t2 (cl (! (= @p_1417 (! (fun_app$ veriT_sk0 veriT_vr179) :named @p_1561)) :named @p_1566)) :rule cong :premises (t232.t2.t1))
+(step t232.t2.t3 (cl (! (= veriT_vr98 veriT_vr180) :named @p_1564)) :rule refl)
+(step t232.t2.t4 (cl (! (= @p_1388 (! (run$ @p_1561 veriT_vr180) :named @p_1559)) :named @p_1567)) :rule cong :premises (t232.t2.t2 t232.t2.t3))
+(step t232.t2.t5 (cl (! (= @p_1386 (! (is_fail$ @p_1559) :named @p_1557)) :named @p_1568)) :rule cong :premises (t232.t2.t4))
+(step t232.t2.t6 (cl @p_1562) :rule refl)
+(step t232.t2.t7 (cl (! (= @p_1420 (! (fun_app$ veriT_sk1 veriT_vr179) :named @p_1563)) :named @p_1571)) :rule cong :premises (t232.t2.t6))
+(step t232.t2.t8 (cl @p_1564) :rule refl)
+(step t232.t2.t9 (cl (! (= @p_1387 (! (run$ @p_1563 veriT_vr180) :named @p_1558)) :named @p_1572)) :rule cong :premises (t232.t2.t7 t232.t2.t8))
+(step t232.t2.t10 (cl (= @p_1423 (! (is_fail$ @p_1558) :named @p_1565))) :rule cong :premises (t232.t2.t9))
+(step t232.t2.t11 (cl @p_1562) :rule refl)
+(step t232.t2.t12 (cl @p_1566) :rule cong :premises (t232.t2.t11))
+(step t232.t2.t13 (cl @p_1564) :rule refl)
+(step t232.t2.t14 (cl @p_1567) :rule cong :premises (t232.t2.t12 t232.t2.t13))
+(step t232.t2.t15 (cl @p_1568) :rule cong :premises (t232.t2.t14))
+(step t232.t2.t16 (cl (= @p_1428 (! (= @p_1565 @p_1557) :named @p_1569))) :rule cong :premises (t232.t2.t10 t232.t2.t15))
+(anchor :step t232.t2.t17 :args ((:= (veriT_vr99 B$) veriT_vr181) (:= (veriT_vr100 C$) veriT_vr182)))
+(step t232.t2.t17.t1 (cl @p_1562) :rule refl)
+(step t232.t2.t17.t2 (cl @p_1571) :rule cong :premises (t232.t2.t17.t1))
+(step t232.t2.t17.t3 (cl @p_1564) :rule refl)
+(step t232.t2.t17.t4 (cl @p_1572) :rule cong :premises (t232.t2.t17.t2 t232.t2.t17.t3))
+(step t232.t2.t17.t5 (cl (! (= veriT_vr99 veriT_vr181) :named @p_1574)) :rule refl)
+(step t232.t2.t17.t6 (cl (! (= veriT_vr100 veriT_vr182) :named @p_1575)) :rule refl)
+(step t232.t2.t17.t7 (cl (! (= @p_1035 (! (pair$ veriT_vr181 veriT_vr182) :named @p_1560)) :named @p_1576)) :rule cong :premises (t232.t2.t17.t5 t232.t2.t17.t6))
+(step t232.t2.t17.t8 (cl (= @p_1434 (! (is_res$ @p_1558 @p_1560) :named @p_1573))) :rule cong :premises (t232.t2.t17.t4 t232.t2.t17.t7))
+(step t232.t2.t17.t9 (cl @p_1562) :rule refl)
+(step t232.t2.t17.t10 (cl @p_1566) :rule cong :premises (t232.t2.t17.t9))
+(step t232.t2.t17.t11 (cl @p_1564) :rule refl)
+(step t232.t2.t17.t12 (cl @p_1567) :rule cong :premises (t232.t2.t17.t10 t232.t2.t17.t11))
+(step t232.t2.t17.t13 (cl @p_1574) :rule refl)
+(step t232.t2.t17.t14 (cl @p_1575) :rule refl)
+(step t232.t2.t17.t15 (cl @p_1576) :rule cong :premises (t232.t2.t17.t13 t232.t2.t17.t14))
+(step t232.t2.t17.t16 (cl (= @p_1439 (! (is_res$ @p_1559 @p_1560) :named @p_1577))) :rule cong :premises (t232.t2.t17.t12 t232.t2.t17.t15))
+(step t232.t2.t17.t17 (cl (= @p_1441 (! (= @p_1573 @p_1577) :named @p_1578))) :rule cong :premises (t232.t2.t17.t8 t232.t2.t17.t16))
+(step t232.t2.t17 (cl (= @p_1430 (! (forall ((veriT_vr181 B$) (veriT_vr182 C$)) @p_1578) :named @p_1570))) :rule bind)
+(step t232.t2.t18 (cl (= @p_1443 (! (and @p_1569 @p_1570) :named @p_1579))) :rule cong :premises (t232.t2.t16 t232.t2.t17))
+(step t232.t2.t19 (cl (= @p_1445 (! (or @p_1557 @p_1579) :named @p_1580))) :rule cong :premises (t232.t2.t5 t232.t2.t18))
+(step t232.t2 (cl (= @p_1412 (! (forall ((veriT_vr179 A$) (veriT_vr180 C$)) @p_1580) :named @p_1596))) :rule bind)
+(anchor :step t232.t3 :args ((:= (veriT_vr93 F$) veriT_vr183) (:= (veriT_vr102 D$) veriT_vr184)))
+(step t232.t3.t1 (cl (! (= veriT_vr93 veriT_vr183) :named @p_1585)) :rule refl)
+(step t232.t3.t2 (cl (! (= veriT_vr102 veriT_vr184) :named @p_1586)) :rule refl)
+(step t232.t3.t3 (cl (! (= @p_1039 (! (pair$b veriT_vr183 veriT_vr184) :named @p_1582)) :named @p_1587)) :rule cong :premises (t232.t3.t1 t232.t3.t2))
+(step t232.t3.t4 (cl (= @p_1583 (! (is_res$b @p_826 @p_1582) :named @p_1584))) :rule cong :premises (t232.t3.t3))
+(step t232.t3.t5 (cl @p_1585) :rule refl)
+(step t232.t3.t6 (cl @p_1586) :rule refl)
+(step t232.t3.t7 (cl @p_1587) :rule cong :premises (t232.t3.t5 t232.t3.t6))
+(step t232.t3.t8 (cl (= @p_1588 (! (is_res$b @p_1353 @p_1582) :named @p_1589))) :rule cong :premises (t232.t3.t7))
+(step t232.t3.t9 (cl (= @p_1590 (! (= @p_1584 @p_1589) :named @p_1591))) :rule cong :premises (t232.t3.t4 t232.t3.t8))
+(step t232.t3 (cl (= @p_1581 (! (forall ((veriT_vr183 F$) (veriT_vr184 D$)) @p_1591) :named @p_1593))) :rule bind)
+(step t232.t4 (cl (= @p_1592 (! (and @p_1555 @p_1593) :named @p_1595))) :rule cong :premises (t232.t3))
+(step t232.t5 (cl (= @p_1594 (! (or @p_1329 @p_1595) :named @p_1597))) :rule cong :premises (t232.t4))
+(step t232.t6 (cl (! (= @p_1535 (! (=> @p_1596 @p_1597) :named @p_1600)) :named @p_1598)) :rule cong :premises (t232.t2 t232.t5))
+(step t232.t7 (cl (not @p_1598) (! (not @p_1535) :named @p_1599) @p_1600) :rule equiv_pos2)
+(step t232.t8 (cl @p_1600) :rule th_resolution :premises (t232.h1 t232.t6 t232.t7))
+(anchor :step t232.t9 :args ((:= (veriT_vr179 A$) veriT_vr185) (:= (veriT_vr180 C$) veriT_vr186)))
+(step t232.t9.t1 (cl (! (= veriT_vr179 veriT_vr185) :named @p_1603)) :rule refl)
+(step t232.t9.t2 (cl (! (= @p_1561 @p_1602) :named @p_1607)) :rule cong :premises (t232.t9.t1))
+(step t232.t9.t3 (cl (! (= veriT_vr180 veriT_vr186) :named @p_1605)) :rule refl)
+(step t232.t9.t4 (cl (! (= @p_1559 @p_1538) :named @p_1608)) :rule cong :premises (t232.t9.t2 t232.t9.t3))
+(step t232.t9.t5 (cl (! (= @p_1557 @p_1536) :named @p_1609)) :rule cong :premises (t232.t9.t4))
+(step t232.t9.t6 (cl @p_1603) :rule refl)
+(step t232.t9.t7 (cl (! (= @p_1563 @p_1604) :named @p_1612)) :rule cong :premises (t232.t9.t6))
+(step t232.t9.t8 (cl @p_1605) :rule refl)
+(step t232.t9.t9 (cl (! (= @p_1558 @p_1537) :named @p_1613)) :rule cong :premises (t232.t9.t7 t232.t9.t8))
+(step t232.t9.t10 (cl (= @p_1565 @p_1606)) :rule cong :premises (t232.t9.t9))
+(step t232.t9.t11 (cl @p_1603) :rule refl)
+(step t232.t9.t12 (cl @p_1607) :rule cong :premises (t232.t9.t11))
+(step t232.t9.t13 (cl @p_1605) :rule refl)
+(step t232.t9.t14 (cl @p_1608) :rule cong :premises (t232.t9.t12 t232.t9.t13))
+(step t232.t9.t15 (cl @p_1609) :rule cong :premises (t232.t9.t14))
+(step t232.t9.t16 (cl (= @p_1569 @p_1610)) :rule cong :premises (t232.t9.t10 t232.t9.t15))
+(anchor :step t232.t9.t17 :args ((:= (veriT_vr181 B$) veriT_vr187) (:= (veriT_vr182 C$) veriT_vr188)))
+(step t232.t9.t17.t1 (cl @p_1603) :rule refl)
+(step t232.t9.t17.t2 (cl @p_1612) :rule cong :premises (t232.t9.t17.t1))
+(step t232.t9.t17.t3 (cl @p_1605) :rule refl)
+(step t232.t9.t17.t4 (cl @p_1613) :rule cong :premises (t232.t9.t17.t2 t232.t9.t17.t3))
+(step t232.t9.t17.t5 (cl (! (= veriT_vr181 veriT_vr187) :named @p_1615)) :rule refl)
+(step t232.t9.t17.t6 (cl (! (= veriT_vr182 veriT_vr188) :named @p_1616)) :rule refl)
+(step t232.t9.t17.t7 (cl (! (= @p_1560 @p_1539) :named @p_1617)) :rule cong :premises (t232.t9.t17.t5 t232.t9.t17.t6))
+(step t232.t9.t17.t8 (cl (= @p_1573 @p_1614)) :rule cong :premises (t232.t9.t17.t4 t232.t9.t17.t7))
+(step t232.t9.t17.t9 (cl @p_1603) :rule refl)
+(step t232.t9.t17.t10 (cl @p_1607) :rule cong :premises (t232.t9.t17.t9))
+(step t232.t9.t17.t11 (cl @p_1605) :rule refl)
+(step t232.t9.t17.t12 (cl @p_1608) :rule cong :premises (t232.t9.t17.t10 t232.t9.t17.t11))
+(step t232.t9.t17.t13 (cl @p_1615) :rule refl)
+(step t232.t9.t17.t14 (cl @p_1616) :rule refl)
+(step t232.t9.t17.t15 (cl @p_1617) :rule cong :premises (t232.t9.t17.t13 t232.t9.t17.t14))
+(step t232.t9.t17.t16 (cl (= @p_1577 @p_1618)) :rule cong :premises (t232.t9.t17.t12 t232.t9.t17.t15))
+(step t232.t9.t17.t17 (cl (= @p_1578 @p_1619)) :rule cong :premises (t232.t9.t17.t8 t232.t9.t17.t16))
+(step t232.t9.t17 (cl (= @p_1570 @p_1611)) :rule bind)
+(step t232.t9.t18 (cl (= @p_1579 @p_1620)) :rule cong :premises (t232.t9.t16 t232.t9.t17))
+(step t232.t9.t19 (cl (= @p_1580 @p_1601)) :rule cong :premises (t232.t9.t5 t232.t9.t18))
+(step t232.t9 (cl (= @p_1596 (! (forall ((veriT_vr185 A$) (veriT_vr186 C$)) @p_1601) :named @p_1630))) :rule bind)
+(anchor :step t232.t10 :args ((:= (veriT_vr183 F$) veriT_vr189) (:= (veriT_vr184 D$) veriT_vr190)))
+(step t232.t10.t1 (cl (! (= veriT_vr183 veriT_vr189) :named @p_1623)) :rule refl)
+(step t232.t10.t2 (cl (! (= veriT_vr184 veriT_vr190) :named @p_1624)) :rule refl)
+(step t232.t10.t3 (cl (! (= @p_1582 (! (pair$b veriT_vr189 veriT_vr190) :named @p_1621)) :named @p_1625)) :rule cong :premises (t232.t10.t1 t232.t10.t2))
+(step t232.t10.t4 (cl (= @p_1584 (! (is_res$b @p_826 @p_1621) :named @p_1622))) :rule cong :premises (t232.t10.t3))
+(step t232.t10.t5 (cl @p_1623) :rule refl)
+(step t232.t10.t6 (cl @p_1624) :rule refl)
+(step t232.t10.t7 (cl @p_1625) :rule cong :premises (t232.t10.t5 t232.t10.t6))
+(step t232.t10.t8 (cl (= @p_1589 (! (is_res$b @p_1353 @p_1621) :named @p_1626))) :rule cong :premises (t232.t10.t7))
+(step t232.t10.t9 (cl (= @p_1591 (! (= @p_1622 @p_1626) :named @p_1627))) :rule cong :premises (t232.t10.t4 t232.t10.t8))
+(step t232.t10 (cl (= @p_1593 (! (forall ((veriT_vr189 F$) (veriT_vr190 D$)) @p_1627) :named @p_1628))) :rule bind)
+(step t232.t11 (cl (= @p_1595 (! (and @p_1555 @p_1628) :named @p_1629))) :rule cong :premises (t232.t10))
+(step t232.t12 (cl (= @p_1597 (! (or @p_1329 @p_1629) :named @p_1631))) :rule cong :premises (t232.t11))
+(step t232.t13 (cl (! (= @p_1600 (! (=> @p_1630 @p_1631) :named @p_1633)) :named @p_1632)) :rule cong :premises (t232.t9 t232.t12))
+(step t232.t14 (cl (not @p_1632) (not @p_1600) @p_1633) :rule equiv_pos2)
+(step t232.t15 (cl @p_1633) :rule th_resolution :premises (t232.t8 t232.t13 t232.t14))
+(anchor :step t232.t16 :args ((:= (veriT_vr185 A$) veriT_sk29) (:= (veriT_vr186 C$) veriT_sk30)))
+(step t232.t16.t1 (cl (! (= veriT_vr185 veriT_sk29) :named @p_1636)) :rule refl)
+(step t232.t16.t2 (cl (! (= @p_1602 (! (fun_app$ veriT_sk0 veriT_sk29) :named @p_1635)) :named @p_1640)) :rule cong :premises (t232.t16.t1))
+(step t232.t16.t3 (cl (! (= veriT_vr186 veriT_sk30) :named @p_1638)) :rule refl)
+(step t232.t16.t4 (cl (! (= @p_1538 (! (run$ @p_1635 veriT_sk30) :named @p_1553)) :named @p_1641)) :rule cong :premises (t232.t16.t2 t232.t16.t3))
+(step t232.t16.t5 (cl (! (= @p_1536 (! (is_fail$ @p_1553) :named @p_1545)) :named @p_1642)) :rule cong :premises (t232.t16.t4))
+(step t232.t16.t6 (cl @p_1636) :rule refl)
+(step t232.t16.t7 (cl (! (= @p_1604 (! (fun_app$ veriT_sk1 veriT_sk29) :named @p_1637)) :named @p_1645)) :rule cong :premises (t232.t16.t6))
+(step t232.t16.t8 (cl @p_1638) :rule refl)
+(step t232.t16.t9 (cl (! (= @p_1537 (! (run$ @p_1637 veriT_sk30) :named @p_1546)) :named @p_1646)) :rule cong :premises (t232.t16.t7 t232.t16.t8))
+(step t232.t16.t10 (cl (= @p_1606 (! (is_fail$ @p_1546) :named @p_1639))) :rule cong :premises (t232.t16.t9))
+(step t232.t16.t11 (cl @p_1636) :rule refl)
+(step t232.t16.t12 (cl @p_1640) :rule cong :premises (t232.t16.t11))
+(step t232.t16.t13 (cl @p_1638) :rule refl)
+(step t232.t16.t14 (cl @p_1641) :rule cong :premises (t232.t16.t12 t232.t16.t13))
+(step t232.t16.t15 (cl @p_1642) :rule cong :premises (t232.t16.t14))
+(step t232.t16.t16 (cl (= @p_1610 (! (= @p_1639 @p_1545) :named @p_1643))) :rule cong :premises (t232.t16.t10 t232.t16.t15))
+(anchor :step t232.t16.t17 :args ((:= (veriT_vr187 B$) veriT_sk31) (:= (veriT_vr188 C$) veriT_sk32)))
+(step t232.t16.t17.t1 (cl @p_1636) :rule refl)
+(step t232.t16.t17.t2 (cl @p_1645) :rule cong :premises (t232.t16.t17.t1))
+(step t232.t16.t17.t3 (cl @p_1638) :rule refl)
+(step t232.t16.t17.t4 (cl @p_1646) :rule cong :premises (t232.t16.t17.t2 t232.t16.t17.t3))
+(step t232.t16.t17.t5 (cl (! (= veriT_vr187 veriT_sk31) :named @p_1649)) :rule refl)
+(step t232.t16.t17.t6 (cl (! (= veriT_vr188 veriT_sk32) :named @p_1650)) :rule refl)
+(step t232.t16.t17.t7 (cl (! (= @p_1539 (! (pair$ veriT_sk31 veriT_sk32) :named @p_1554)) :named @p_1651)) :rule cong :premises (t232.t16.t17.t5 t232.t16.t17.t6))
+(step t232.t16.t17.t8 (cl (= @p_1614 (! (is_res$ @p_1546 @p_1554) :named @p_1648))) :rule cong :premises (t232.t16.t17.t4 t232.t16.t17.t7))
+(step t232.t16.t17.t9 (cl @p_1636) :rule refl)
+(step t232.t16.t17.t10 (cl @p_1640) :rule cong :premises (t232.t16.t17.t9))
+(step t232.t16.t17.t11 (cl @p_1638) :rule refl)
+(step t232.t16.t17.t12 (cl @p_1641) :rule cong :premises (t232.t16.t17.t10 t232.t16.t17.t11))
+(step t232.t16.t17.t13 (cl @p_1649) :rule refl)
+(step t232.t16.t17.t14 (cl @p_1650) :rule refl)
+(step t232.t16.t17.t15 (cl @p_1651) :rule cong :premises (t232.t16.t17.t13 t232.t16.t17.t14))
+(step t232.t16.t17.t16 (cl (= @p_1618 (! (is_res$ @p_1553 @p_1554) :named @p_1652))) :rule cong :premises (t232.t16.t17.t12 t232.t16.t17.t15))
+(step t232.t16.t17.t17 (cl (= @p_1619 (! (= @p_1648 @p_1652) :named @p_1644))) :rule cong :premises (t232.t16.t17.t8 t232.t16.t17.t16))
+(step t232.t16.t17 (cl (= @p_1611 @p_1644)) :rule sko_forall)
+(step t232.t16.t18 (cl (= @p_1620 (! (and @p_1643 @p_1644) :named @p_1653))) :rule cong :premises (t232.t16.t16 t232.t16.t17))
+(step t232.t16.t19 (cl (= @p_1601 (! (or @p_1545 @p_1653) :named @p_1634))) :rule cong :premises (t232.t16.t5 t232.t16.t18))
+(step t232.t16 (cl (= @p_1630 @p_1634)) :rule sko_forall)
+(step t232.t17 (cl (! (= @p_1633 (! (=> @p_1634 @p_1631) :named @p_1655)) :named @p_1654)) :rule cong :premises (t232.t16))
+(step t232.t18 (cl (not @p_1654) (not @p_1633) @p_1655) :rule equiv_pos2)
+(step t232.t19 (cl @p_1655) :rule th_resolution :premises (t232.t15 t232.t17 t232.t18))
+(anchor :step t232.t20 :args ((:= (veriT_vr189 F$) veriT_vr191) (:= (veriT_vr190 D$) veriT_vr192)))
+(step t232.t20.t1 (cl (! (= veriT_vr189 veriT_vr191) :named @p_1658)) :rule refl)
+(step t232.t20.t2 (cl (! (= veriT_vr190 veriT_vr192) :named @p_1659)) :rule refl)
+(step t232.t20.t3 (cl (! (= @p_1621 (! (pair$b veriT_vr191 veriT_vr192) :named @p_1556)) :named @p_1660)) :rule cong :premises (t232.t20.t1 t232.t20.t2))
+(step t232.t20.t4 (cl (= @p_1622 (! (is_res$b @p_826 @p_1556) :named @p_1657))) :rule cong :premises (t232.t20.t3))
+(step t232.t20.t5 (cl @p_1658) :rule refl)
+(step t232.t20.t6 (cl @p_1659) :rule refl)
+(step t232.t20.t7 (cl @p_1660) :rule cong :premises (t232.t20.t5 t232.t20.t6))
+(step t232.t20.t8 (cl (= @p_1626 (! (is_res$b @p_1353 @p_1556) :named @p_1661))) :rule cong :premises (t232.t20.t7))
+(step t232.t20.t9 (cl (= @p_1627 (! (= @p_1657 @p_1661) :named @p_1662))) :rule cong :premises (t232.t20.t4 t232.t20.t8))
+(step t232.t20 (cl (= @p_1628 (! (forall ((veriT_vr191 F$) (veriT_vr192 D$)) @p_1662) :named @p_1656))) :rule bind)
+(step t232.t21 (cl (= @p_1629 (! (and @p_1555 @p_1656) :named @p_1663))) :rule cong :premises (t232.t20))
+(step t232.t22 (cl (= @p_1631 (! (or @p_1329 @p_1663) :named @p_1664))) :rule cong :premises (t232.t21))
+(step t232.t23 (cl (! (= @p_1655 (! (=> @p_1634 @p_1664) :named @p_1665)) :named @p_1666)) :rule cong :premises (t232.t22))
+(step t232.t24 (cl (not @p_1666) (not @p_1655) @p_1665) :rule equiv_pos2)
+(step t232.t25 (cl @p_1665) :rule th_resolution :premises (t232.t19 t232.t23 t232.t24))
+(step t232 (cl @p_1599 @p_1665) :rule subproof :discharge (h1))
+(step t233 (cl @p_1385 @p_1535) :rule or :premises (t231))
+(step t234 (cl (! (or @p_1385 @p_1665) :named @p_1667) @p_1533) :rule or_neg)
+(step t235 (cl @p_1667 @p_1154) :rule th_resolution :premises (t159 t234))
+(step t236 (cl @p_1667 (! (not @p_1665) :named @p_1679)) :rule or_neg)
+(step t237 (cl @p_1667) :rule th_resolution :premises (t233 t232 t235 t236))
+(step t238 (cl @p_1668 @p_1669 (not @p_1670)) :rule and_neg)
+(step t239 (cl @p_1163 @p_1671) :rule or :premises (t213))
+(step t240 (cl (! (not @p_1672) :named @p_1721) (not @p_822) @p_1328) :rule equiv_pos2)
+(step t241 (cl @p_1354 @p_1672) :rule or :premises (t214))
+(step t242 (cl (! (not @p_1673) :named @p_1711) (not @p_784) @p_1332) :rule equiv_pos2)
+(step t243 (cl @p_1354 @p_1673) :rule or :premises (t215))
+(step t244 (cl (not @p_1674) @p_1675 @p_1676) :rule equiv_pos1)
+(step t245 (cl @p_1354 @p_1674) :rule or :premises (t216))
+(step t246 (cl (not @p_1381) @p_1374) :rule and_pos)
+(step t247 (cl @p_1677 @p_1198 @p_1381) :rule or_pos)
+(step t248 (cl @p_1187 @p_1382) :rule or :premises (t223))
+(step t249 (cl @p_1382) :rule resolution :premises (t248 t120))
+(step t250 (cl @p_1500 (not @p_1400)) :rule or_neg)
+(step t251 (cl @p_1509 @p_1505 @p_1400) :rule equiv_neg2)
+(step t252 (cl @p_1510 (! (not @p_1514) :named @p_1696) (! (not @p_1518) :named @p_1919)) :rule equiv_neg1)
+(step t253 (cl @p_1510 @p_1514 @p_1518) :rule equiv_neg2)
+(step t254 (cl @p_1519 (not @p_1509) (not @p_1510)) :rule and_neg)
+(step t255 (cl @p_1500 (not @p_1519)) :rule or_neg)
+(step t256 (cl (not @p_1410) (not @p_789) @p_1333) :rule equiv_pos2)
+(step t257 (cl (not @p_1529) @p_1410) :rule and_pos)
+(step t258 (cl (! (not @p_1530) :named @p_1710) @p_1333 @p_1529) :rule or_pos)
+(step t259 (cl @p_1678 (not @p_1500) @p_1530) :rule implies_pos)
+(step t260 (cl @p_1385 @p_1531) :rule or :premises (t230))
+(step t261 (cl @p_1531) :rule resolution :premises (t260 t119))
+(step t262 (cl @p_1634 (! (not @p_1545) :named @p_1929)) :rule or_neg)
+(step t263 (cl @p_1643 @p_1639 @p_1545) :rule equiv_neg2)
+(step t264 (cl @p_1644 (! (not @p_1648) :named @p_1700) (! (not @p_1652) :named @p_1705)) :rule equiv_neg1)
+(step t265 (cl @p_1644 @p_1648 @p_1652) :rule equiv_neg2)
+(step t266 (cl @p_1653 (not @p_1643) (! (not @p_1644) :named @p_1931)) :rule and_neg)
+(step t267 (cl @p_1634 (! (not @p_1653) :named @p_1930)) :rule or_neg)
+(step t268 (cl (not @p_1663) @p_1656) :rule and_pos)
+(step t269 (cl (! (not @p_1664) :named @p_1720) @p_1329 @p_1663) :rule or_pos)
+(step t270 (cl @p_1679 (! (not @p_1634) :named @p_1928) @p_1664) :rule implies_pos)
+(step t271 (cl @p_1385 @p_1665) :rule or :premises (t237))
+(step t272 (cl @p_1665) :rule resolution :premises (t271 t119))
+(step t273 (cl (or @p_1341 (! (or @p_1400 (! (not @p_1505) :named @p_1683) @p_1400) :named @p_1680))) :rule forall_inst :args ((:= veriT_vr103 veriT_sk25) (:= veriT_vr104 veriT_sk26)))
+(step t274 (cl @p_1341 @p_1680) :rule or :premises (t273))
+(step t275 (cl (! (or @p_1187 @p_1680) :named @p_1681) @p_1343) :rule or_neg)
+(step t276 (cl @p_1681 @p_1155) :rule th_resolution :premises (t198 t275))
+(step t277 (cl @p_1681 (! (not @p_1680) :named @p_1682)) :rule or_neg)
+(step t278 (cl @p_1681) :rule th_resolution :premises (t194 t274 t276 t277))
+(anchor :step t279)
+(assume t279.h1 @p_1680)
+(step t279.t2 (cl (! (= @p_1680 (! (or @p_1400 @p_1683) :named @p_1684)) :named @p_1685)) :rule ac_simp)
+(step t279.t3 (cl (not @p_1685) @p_1682 @p_1684) :rule equiv_pos2)
+(step t279.t4 (cl @p_1684) :rule th_resolution :premises (t279.h1 t279.t2 t279.t3))
+(step t279 (cl @p_1682 @p_1684) :rule subproof :discharge (h1))
+(step t280 (cl @p_1187 @p_1680) :rule or :premises (t278))
+(step t281 (cl (! (or @p_1187 @p_1684) :named @p_1686) @p_1343) :rule or_neg)
+(step t282 (cl @p_1686 @p_1155) :rule th_resolution :premises (t198 t281))
+(step t283 (cl @p_1686 (! (not @p_1684) :named @p_1694)) :rule or_neg)
+(step t284 (cl @p_1686) :rule th_resolution :premises (t280 t279 t282 t283))
+(step t285 (cl (or @p_1341 (! (or @p_1545 (! (not @p_1639) :named @p_1690) @p_1545) :named @p_1687))) :rule forall_inst :args ((:= veriT_vr103 veriT_sk29) (:= veriT_vr104 veriT_sk30)))
+(step t286 (cl @p_1341 @p_1687) :rule or :premises (t285))
+(step t287 (cl (! (or @p_1187 @p_1687) :named @p_1688) @p_1343) :rule or_neg)
+(step t288 (cl @p_1688 @p_1155) :rule th_resolution :premises (t198 t287))
+(step t289 (cl @p_1688 (! (not @p_1687) :named @p_1689)) :rule or_neg)
+(step t290 (cl @p_1688) :rule th_resolution :premises (t194 t286 t288 t289))
+(anchor :step t291)
+(assume t291.h1 @p_1687)
+(step t291.t2 (cl (! (= @p_1687 (! (or @p_1545 @p_1690) :named @p_1691)) :named @p_1692)) :rule ac_simp)
+(step t291.t3 (cl (not @p_1692) @p_1689 @p_1691) :rule equiv_pos2)
+(step t291.t4 (cl @p_1691) :rule th_resolution :premises (t291.h1 t291.t2 t291.t3))
+(step t291 (cl @p_1689 @p_1691) :rule subproof :discharge (h1))
+(step t292 (cl @p_1187 @p_1687) :rule or :premises (t290))
+(step t293 (cl (! (or @p_1187 @p_1691) :named @p_1693) @p_1343) :rule or_neg)
+(step t294 (cl @p_1693 @p_1155) :rule th_resolution :premises (t198 t293))
+(step t295 (cl @p_1693 (! (not @p_1691) :named @p_1695)) :rule or_neg)
+(step t296 (cl @p_1693) :rule th_resolution :premises (t292 t291 t294 t295))
+(step t297 (cl @p_1694 @p_1400 @p_1683) :rule or_pos)
+(step t298 (cl @p_1187 @p_1684) :rule or :premises (t284))
+(step t299 (cl @p_1684) :rule resolution :premises (t298 t120))
+(step t300 (cl @p_1695 @p_1545 @p_1690) :rule or_pos)
+(step t301 (cl @p_1187 @p_1691) :rule or :premises (t296))
+(step t302 (cl @p_1691) :rule resolution :premises (t301 t120))
+(step t303 (cl (or (! (not @p_1351) :named @p_1697) (! (or @p_1400 @p_1696 @p_1518) :named @p_1698))) :rule forall_inst :args ((:= veriT_vr103 veriT_sk25) (:= veriT_vr104 veriT_sk26) (:= veriT_vr105 veriT_sk27) (:= veriT_vr106 veriT_sk28)))
+(step t304 (cl @p_1697 @p_1698) :rule or :premises (t303))
+(step t305 (cl (! (or @p_1187 @p_1698) :named @p_1699) @p_1343) :rule or_neg)
+(step t306 (cl @p_1699 @p_1155) :rule th_resolution :premises (t198 t305))
+(step t307 (cl @p_1699 (! (not @p_1698) :named @p_1703)) :rule or_neg)
+(step t308 (cl @p_1699) :rule th_resolution :premises (t211 t304 t306 t307))
+(step t309 (cl (or @p_1697 (! (or @p_1545 @p_1700 @p_1652) :named @p_1701))) :rule forall_inst :args ((:= veriT_vr103 veriT_sk29) (:= veriT_vr104 veriT_sk30) (:= veriT_vr105 veriT_sk31) (:= veriT_vr106 veriT_sk32)))
+(step t310 (cl @p_1697 @p_1701) :rule or :premises (t309))
+(step t311 (cl (! (or @p_1187 @p_1701) :named @p_1702) @p_1343) :rule or_neg)
+(step t312 (cl @p_1702 @p_1155) :rule th_resolution :premises (t198 t311))
+(step t313 (cl @p_1702 (! (not @p_1701) :named @p_1704)) :rule or_neg)
+(step t314 (cl @p_1702) :rule th_resolution :premises (t211 t310 t312 t313))
+(step t315 (cl @p_1703 @p_1400 @p_1696 @p_1518) :rule or_pos)
+(step t316 (cl @p_1187 @p_1698) :rule or :premises (t308))
+(step t317 (cl @p_1698) :rule resolution :premises (t316 t120))
+(step t318 (cl @p_1704 @p_1545 @p_1700 @p_1652) :rule or_pos)
+(step t319 (cl @p_1187 @p_1701) :rule or :premises (t314))
+(step t320 (cl @p_1701) :rule resolution :premises (t319 t120))
+(step t321 (cl @p_1545 @p_1652 @p_1644) :rule resolution :premises (t318 t265 t320))
+(step t322 (cl (or (! (not @p_1352) :named @p_1706) (! (or @p_1545 @p_1705 @p_1648) :named @p_1707))) :rule forall_inst :args ((:= veriT_vr103 veriT_sk29) (:= veriT_vr104 veriT_sk30) (:= veriT_vr105 veriT_sk31) (:= veriT_vr106 veriT_sk32)))
+(step t323 (cl @p_1706 @p_1707) :rule or :premises (t322))
+(step t324 (cl (! (or @p_1187 @p_1707) :named @p_1708) @p_1343) :rule or_neg)
+(step t325 (cl @p_1708 @p_1155) :rule th_resolution :premises (t198 t324))
+(step t326 (cl @p_1708 (! (not @p_1707) :named @p_1709)) :rule or_neg)
+(step t327 (cl @p_1708) :rule th_resolution :premises (t212 t323 t325 t326))
+(step t328 (cl @p_1709 @p_1545 @p_1705 @p_1648) :rule or_pos)
+(step t329 (cl @p_1187 @p_1707) :rule or :premises (t327))
+(step t330 (cl @p_1707) :rule resolution :premises (t329 t120))
+(step t331 (cl @p_1710 @p_1711 @p_1178) :rule resolution :premises (t257 t258 t256 t178 t242 t128 t127 t180))
+(step t332 (cl (or (! (not @p_1656) :named @p_1712) (! (forall ((veriT_vr191 F$) (veriT_vr192 D$)) (or (not @p_1657) @p_1661)) :named @p_1713))) :rule qnt_cnf)
+(step t333 (cl @p_1712 @p_1713) :rule or :premises (t332))
+(step t334 (cl (or (! (not @p_1713) :named @p_1714) (! (or (! (not @p_827) :named @p_1719) @p_1670) :named @p_1715))) :rule forall_inst :args ((:= veriT_vr191 veriT_sk7) (:= veriT_vr192 veriT_sk8)))
+(step t335 (cl @p_1714 @p_1715) :rule or :premises (t334))
+(step t336 (cl (! (or @p_1712 @p_1715) :named @p_1717) (! (not @p_1712) :named @p_1716)) :rule or_neg)
+(step t337 (cl (not @p_1716) @p_1656) :rule not_not)
+(step t338 (cl @p_1717 @p_1656) :rule th_resolution :premises (t337 t336))
+(step t339 (cl @p_1717 (! (not @p_1715) :named @p_1718)) :rule or_neg)
+(step t340 (cl @p_1717) :rule th_resolution :premises (t333 t335 t338 t339))
+(step t341 (cl @p_1718 @p_1719 @p_1670) :rule or_pos)
+(step t342 (cl @p_1712 @p_1715) :rule or :premises (t340))
+(step t343 (cl @p_1720 @p_1668 @p_1721 @p_1179) :rule resolution :premises (t342 t268 t341 t269 t238 t175 t240 t134 t133 t177))
+(step t344 (cl (or @p_1165 @p_1179)) :rule forall_inst :args ((:= veriT_vr113 veriT_sk9) (:= veriT_vr114 veriT_sk10)))
+(step t345 (cl (or @p_1165 (! (not (! (and @p_1675 (! (is_res$b (! (run$b (c$ veriT_sk11 veriT_sk1) veriT_sk12) :named @p_1757) @p_747) :named @p_1753)) :named @p_1752)) :named @p_1754))) :rule forall_inst :args ((:= veriT_vr113 veriT_sk11) (:= veriT_vr114 veriT_sk12)))
+(step t346 (cl (or (! (not @p_1374) :named @p_1755) @p_1297)) :rule forall_inst :args ((:= veriT_vr150 veriT_sk15) (:= veriT_vr151 veriT_sk16)))
+(step t347 (cl (or @p_1187 (! (or @p_1400 (! (and @p_1509 (! (forall ((veriT_vr105 B$) (veriT_vr106 C$)) (! (= (! (is_res$ @p_1401 @p_1087) :named @p_1726) (! (is_res$ @p_1408 @p_1087) :named @p_1731)) :named @p_1733)) :named @p_1724)) :named @p_1735)) :named @p_1722))) :rule forall_inst :args ((:= veriT_vr103 veriT_sk25) (:= veriT_vr104 veriT_sk26)))
+(anchor :step t348)
+(assume t348.h1 @p_1722)
+(anchor :step t348.t2 :args ((:= (veriT_vr105 B$) veriT_vr207) (:= (veriT_vr106 C$) veriT_vr208)))
+(step t348.t2.t1 (cl (! (= veriT_vr105 veriT_vr207) :named @p_1728)) :rule refl)
+(step t348.t2.t2 (cl (! (= veriT_vr106 veriT_vr208) :named @p_1729)) :rule refl)
+(step t348.t2.t3 (cl (! (= @p_1087 (! (pair$ veriT_vr207 veriT_vr208) :named @p_1725)) :named @p_1730)) :rule cong :premises (t348.t2.t1 t348.t2.t2))
+(step t348.t2.t4 (cl (= @p_1726 (! (is_res$ @p_1401 @p_1725) :named @p_1727))) :rule cong :premises (t348.t2.t3))
+(step t348.t2.t5 (cl @p_1728) :rule refl)
+(step t348.t2.t6 (cl @p_1729) :rule refl)
+(step t348.t2.t7 (cl @p_1730) :rule cong :premises (t348.t2.t5 t348.t2.t6))
+(step t348.t2.t8 (cl (= @p_1731 (! (is_res$ @p_1408 @p_1725) :named @p_1732))) :rule cong :premises (t348.t2.t7))
+(step t348.t2.t9 (cl (= @p_1733 (! (= @p_1727 @p_1732) :named @p_1734))) :rule cong :premises (t348.t2.t4 t348.t2.t8))
+(step t348.t2 (cl (= @p_1724 (! (forall ((veriT_vr207 B$) (veriT_vr208 C$)) @p_1734) :named @p_1736))) :rule bind)
+(step t348.t3 (cl (= @p_1735 (! (and @p_1509 @p_1736) :named @p_1737))) :rule cong :premises (t348.t2))
+(step t348.t4 (cl (! (= @p_1722 (! (or @p_1400 @p_1737) :named @p_1740)) :named @p_1738)) :rule cong :premises (t348.t3))
+(step t348.t5 (cl (not @p_1738) (! (not @p_1722) :named @p_1739) @p_1740) :rule equiv_pos2)
+(step t348.t6 (cl @p_1740) :rule th_resolution :premises (t348.h1 t348.t4 t348.t5))
+(anchor :step t348.t7 :args ((:= (veriT_vr207 B$) veriT_vr209) (:= (veriT_vr208 C$) veriT_vr210)))
+(step t348.t7.t1 (cl (! (= veriT_vr207 veriT_vr209) :named @p_1743)) :rule refl)
+(step t348.t7.t2 (cl (! (= veriT_vr208 veriT_vr210) :named @p_1744)) :rule refl)
+(step t348.t7.t3 (cl (! (= @p_1725 (! (pair$ veriT_vr209 veriT_vr210) :named @p_1723)) :named @p_1745)) :rule cong :premises (t348.t7.t1 t348.t7.t2))
+(step t348.t7.t4 (cl (= @p_1727 (! (is_res$ @p_1401 @p_1723) :named @p_1742))) :rule cong :premises (t348.t7.t3))
+(step t348.t7.t5 (cl @p_1743) :rule refl)
+(step t348.t7.t6 (cl @p_1744) :rule refl)
+(step t348.t7.t7 (cl @p_1745) :rule cong :premises (t348.t7.t5 t348.t7.t6))
+(step t348.t7.t8 (cl (= @p_1732 (! (is_res$ @p_1408 @p_1723) :named @p_1746))) :rule cong :premises (t348.t7.t7))
+(step t348.t7.t9 (cl (= @p_1734 (! (= @p_1742 @p_1746) :named @p_1747))) :rule cong :premises (t348.t7.t4 t348.t7.t8))
+(step t348.t7 (cl (= @p_1736 (! (forall ((veriT_vr209 B$) (veriT_vr210 C$)) @p_1747) :named @p_1741))) :rule bind)
+(step t348.t8 (cl (= @p_1737 (! (and @p_1509 @p_1741) :named @p_1748))) :rule cong :premises (t348.t7))
+(step t348.t9 (cl (! (= @p_1740 (! (or @p_1400 @p_1748) :named @p_1749)) :named @p_1750)) :rule cong :premises (t348.t8))
+(step t348.t10 (cl (not @p_1750) (not @p_1740) @p_1749) :rule equiv_pos2)
+(step t348.t11 (cl @p_1749) :rule th_resolution :premises (t348.t6 t348.t9 t348.t10))
+(step t348 (cl @p_1739 @p_1749) :rule subproof :discharge (h1))
+(step t349 (cl @p_1187 @p_1722) :rule or :premises (t347))
+(step t350 (cl (! (or @p_1187 @p_1749) :named @p_1751) @p_1343) :rule or_neg)
+(step t351 (cl @p_1751 @p_1155) :rule th_resolution :premises (t198 t350))
+(step t352 (cl @p_1751 (! (not @p_1749) :named @p_1756)) :rule or_neg)
+(step t353 (cl @p_1751) :rule th_resolution :premises (t349 t348 t351 t352))
+(step t354 (cl @p_1165 @p_1179) :rule or :premises (t344))
+(step t355 (cl @p_1752 (not @p_1675) (not @p_1753)) :rule and_neg)
+(step t356 (cl @p_1165 @p_1754) :rule or :premises (t345))
+(step t357 (cl @p_1755 @p_1297) :rule or :premises (t346))
+(step t358 (cl (not @p_1748) @p_1741) :rule and_pos)
+(step t359 (cl @p_1756 @p_1400 @p_1748) :rule or_pos)
+(step t360 (cl @p_1187 @p_1749) :rule or :premises (t353))
+(step t361 (cl @p_1749) :rule resolution :premises (t360 t120))
+(step t362 (cl (or @p_1385 (! (=> @p_1412 (! (or @p_1325 (! (and (! (= (is_fail$b @p_1757) @p_1325) :named @p_1778) (! (forall ((veriT_vr93 F$) (veriT_vr102 D$)) (! (= (! (is_res$b @p_1757 @p_1039) :named @p_1806) (! (is_res$b @p_846 @p_1039) :named @p_1811)) :named @p_1813)) :named @p_1804)) :named @p_1815)) :named @p_1817)) :named @p_1758))) :rule forall_inst :args ((:= veriT_vr94 veriT_sk11) (:= veriT_vr95 veriT_sk0) (:= veriT_vr96 veriT_sk1) (:= veriT_vr101 veriT_sk12)))
+(anchor :step t363)
+(assume t363.h1 @p_1758)
+(anchor :step t363.t2 :args ((:= (veriT_vr97 A$) veriT_vr237) (:= (veriT_vr98 C$) veriT_vr238)))
+(step t363.t2.t1 (cl (! (= veriT_vr97 veriT_vr237) :named @p_1785)) :rule refl)
+(step t363.t2.t2 (cl (! (= @p_1417 (! (fun_app$ veriT_sk0 veriT_vr237) :named @p_1784)) :named @p_1789)) :rule cong :premises (t363.t2.t1))
+(step t363.t2.t3 (cl (! (= veriT_vr98 veriT_vr238) :named @p_1787)) :rule refl)
+(step t363.t2.t4 (cl (! (= @p_1388 (! (run$ @p_1784 veriT_vr238) :named @p_1782)) :named @p_1790)) :rule cong :premises (t363.t2.t2 t363.t2.t3))
+(step t363.t2.t5 (cl (! (= @p_1386 (! (is_fail$ @p_1782) :named @p_1780)) :named @p_1791)) :rule cong :premises (t363.t2.t4))
+(step t363.t2.t6 (cl @p_1785) :rule refl)
+(step t363.t2.t7 (cl (! (= @p_1420 (! (fun_app$ veriT_sk1 veriT_vr237) :named @p_1786)) :named @p_1794)) :rule cong :premises (t363.t2.t6))
+(step t363.t2.t8 (cl @p_1787) :rule refl)
+(step t363.t2.t9 (cl (! (= @p_1387 (! (run$ @p_1786 veriT_vr238) :named @p_1781)) :named @p_1795)) :rule cong :premises (t363.t2.t7 t363.t2.t8))
+(step t363.t2.t10 (cl (= @p_1423 (! (is_fail$ @p_1781) :named @p_1788))) :rule cong :premises (t363.t2.t9))
+(step t363.t2.t11 (cl @p_1785) :rule refl)
+(step t363.t2.t12 (cl @p_1789) :rule cong :premises (t363.t2.t11))
+(step t363.t2.t13 (cl @p_1787) :rule refl)
+(step t363.t2.t14 (cl @p_1790) :rule cong :premises (t363.t2.t12 t363.t2.t13))
+(step t363.t2.t15 (cl @p_1791) :rule cong :premises (t363.t2.t14))
+(step t363.t2.t16 (cl (= @p_1428 (! (= @p_1788 @p_1780) :named @p_1792))) :rule cong :premises (t363.t2.t10 t363.t2.t15))
+(anchor :step t363.t2.t17 :args ((:= (veriT_vr99 B$) veriT_vr239) (:= (veriT_vr100 C$) veriT_vr240)))
+(step t363.t2.t17.t1 (cl @p_1785) :rule refl)
+(step t363.t2.t17.t2 (cl @p_1794) :rule cong :premises (t363.t2.t17.t1))
+(step t363.t2.t17.t3 (cl @p_1787) :rule refl)
+(step t363.t2.t17.t4 (cl @p_1795) :rule cong :premises (t363.t2.t17.t2 t363.t2.t17.t3))
+(step t363.t2.t17.t5 (cl (! (= veriT_vr99 veriT_vr239) :named @p_1797)) :rule refl)
+(step t363.t2.t17.t6 (cl (! (= veriT_vr100 veriT_vr240) :named @p_1798)) :rule refl)
+(step t363.t2.t17.t7 (cl (! (= @p_1035 (! (pair$ veriT_vr239 veriT_vr240) :named @p_1783)) :named @p_1799)) :rule cong :premises (t363.t2.t17.t5 t363.t2.t17.t6))
+(step t363.t2.t17.t8 (cl (= @p_1434 (! (is_res$ @p_1781 @p_1783) :named @p_1796))) :rule cong :premises (t363.t2.t17.t4 t363.t2.t17.t7))
+(step t363.t2.t17.t9 (cl @p_1785) :rule refl)
+(step t363.t2.t17.t10 (cl @p_1789) :rule cong :premises (t363.t2.t17.t9))
+(step t363.t2.t17.t11 (cl @p_1787) :rule refl)
+(step t363.t2.t17.t12 (cl @p_1790) :rule cong :premises (t363.t2.t17.t10 t363.t2.t17.t11))
+(step t363.t2.t17.t13 (cl @p_1797) :rule refl)
+(step t363.t2.t17.t14 (cl @p_1798) :rule refl)
+(step t363.t2.t17.t15 (cl @p_1799) :rule cong :premises (t363.t2.t17.t13 t363.t2.t17.t14))
+(step t363.t2.t17.t16 (cl (= @p_1439 (! (is_res$ @p_1782 @p_1783) :named @p_1800))) :rule cong :premises (t363.t2.t17.t12 t363.t2.t17.t15))
+(step t363.t2.t17.t17 (cl (= @p_1441 (! (= @p_1796 @p_1800) :named @p_1801))) :rule cong :premises (t363.t2.t17.t8 t363.t2.t17.t16))
+(step t363.t2.t17 (cl (= @p_1430 (! (forall ((veriT_vr239 B$) (veriT_vr240 C$)) @p_1801) :named @p_1793))) :rule bind)
+(step t363.t2.t18 (cl (= @p_1443 (! (and @p_1792 @p_1793) :named @p_1802))) :rule cong :premises (t363.t2.t16 t363.t2.t17))
+(step t363.t2.t19 (cl (= @p_1445 (! (or @p_1780 @p_1802) :named @p_1803))) :rule cong :premises (t363.t2.t5 t363.t2.t18))
+(step t363.t2 (cl (= @p_1412 (! (forall ((veriT_vr237 A$) (veriT_vr238 C$)) @p_1803) :named @p_1819))) :rule bind)
+(anchor :step t363.t3 :args ((:= (veriT_vr93 F$) veriT_vr241) (:= (veriT_vr102 D$) veriT_vr242)))
+(step t363.t3.t1 (cl (! (= veriT_vr93 veriT_vr241) :named @p_1808)) :rule refl)
+(step t363.t3.t2 (cl (! (= veriT_vr102 veriT_vr242) :named @p_1809)) :rule refl)
+(step t363.t3.t3 (cl (! (= @p_1039 (! (pair$b veriT_vr241 veriT_vr242) :named @p_1805)) :named @p_1810)) :rule cong :premises (t363.t3.t1 t363.t3.t2))
+(step t363.t3.t4 (cl (= @p_1806 (! (is_res$b @p_1757 @p_1805) :named @p_1807))) :rule cong :premises (t363.t3.t3))
+(step t363.t3.t5 (cl @p_1808) :rule refl)
+(step t363.t3.t6 (cl @p_1809) :rule refl)
+(step t363.t3.t7 (cl @p_1810) :rule cong :premises (t363.t3.t5 t363.t3.t6))
+(step t363.t3.t8 (cl (= @p_1811 (! (is_res$b @p_846 @p_1805) :named @p_1812))) :rule cong :premises (t363.t3.t7))
+(step t363.t3.t9 (cl (= @p_1813 (! (= @p_1807 @p_1812) :named @p_1814))) :rule cong :premises (t363.t3.t4 t363.t3.t8))
+(step t363.t3 (cl (= @p_1804 (! (forall ((veriT_vr241 F$) (veriT_vr242 D$)) @p_1814) :named @p_1816))) :rule bind)
+(step t363.t4 (cl (= @p_1815 (! (and @p_1778 @p_1816) :named @p_1818))) :rule cong :premises (t363.t3))
+(step t363.t5 (cl (= @p_1817 (! (or @p_1325 @p_1818) :named @p_1820))) :rule cong :premises (t363.t4))
+(step t363.t6 (cl (! (= @p_1758 (! (=> @p_1819 @p_1820) :named @p_1823)) :named @p_1821)) :rule cong :premises (t363.t2 t363.t5))
+(step t363.t7 (cl (not @p_1821) (! (not @p_1758) :named @p_1822) @p_1823) :rule equiv_pos2)
+(step t363.t8 (cl @p_1823) :rule th_resolution :premises (t363.h1 t363.t6 t363.t7))
+(anchor :step t363.t9 :args ((:= (veriT_vr237 A$) veriT_vr243) (:= (veriT_vr238 C$) veriT_vr244)))
+(step t363.t9.t1 (cl (! (= veriT_vr237 veriT_vr243) :named @p_1826)) :rule refl)
+(step t363.t9.t2 (cl (! (= @p_1784 @p_1825) :named @p_1830)) :rule cong :premises (t363.t9.t1))
+(step t363.t9.t3 (cl (! (= veriT_vr238 veriT_vr244) :named @p_1828)) :rule refl)
+(step t363.t9.t4 (cl (! (= @p_1782 @p_1761) :named @p_1831)) :rule cong :premises (t363.t9.t2 t363.t9.t3))
+(step t363.t9.t5 (cl (! (= @p_1780 @p_1759) :named @p_1832)) :rule cong :premises (t363.t9.t4))
+(step t363.t9.t6 (cl @p_1826) :rule refl)
+(step t363.t9.t7 (cl (! (= @p_1786 @p_1827) :named @p_1835)) :rule cong :premises (t363.t9.t6))
+(step t363.t9.t8 (cl @p_1828) :rule refl)
+(step t363.t9.t9 (cl (! (= @p_1781 @p_1760) :named @p_1836)) :rule cong :premises (t363.t9.t7 t363.t9.t8))
+(step t363.t9.t10 (cl (= @p_1788 @p_1829)) :rule cong :premises (t363.t9.t9))
+(step t363.t9.t11 (cl @p_1826) :rule refl)
+(step t363.t9.t12 (cl @p_1830) :rule cong :premises (t363.t9.t11))
+(step t363.t9.t13 (cl @p_1828) :rule refl)
+(step t363.t9.t14 (cl @p_1831) :rule cong :premises (t363.t9.t12 t363.t9.t13))
+(step t363.t9.t15 (cl @p_1832) :rule cong :premises (t363.t9.t14))
+(step t363.t9.t16 (cl (= @p_1792 @p_1833)) :rule cong :premises (t363.t9.t10 t363.t9.t15))
+(anchor :step t363.t9.t17 :args ((:= (veriT_vr239 B$) veriT_vr245) (:= (veriT_vr240 C$) veriT_vr246)))
+(step t363.t9.t17.t1 (cl @p_1826) :rule refl)
+(step t363.t9.t17.t2 (cl @p_1835) :rule cong :premises (t363.t9.t17.t1))
+(step t363.t9.t17.t3 (cl @p_1828) :rule refl)
+(step t363.t9.t17.t4 (cl @p_1836) :rule cong :premises (t363.t9.t17.t2 t363.t9.t17.t3))
+(step t363.t9.t17.t5 (cl (! (= veriT_vr239 veriT_vr245) :named @p_1838)) :rule refl)
+(step t363.t9.t17.t6 (cl (! (= veriT_vr240 veriT_vr246) :named @p_1839)) :rule refl)
+(step t363.t9.t17.t7 (cl (! (= @p_1783 @p_1762) :named @p_1840)) :rule cong :premises (t363.t9.t17.t5 t363.t9.t17.t6))
+(step t363.t9.t17.t8 (cl (= @p_1796 @p_1837)) :rule cong :premises (t363.t9.t17.t4 t363.t9.t17.t7))
+(step t363.t9.t17.t9 (cl @p_1826) :rule refl)
+(step t363.t9.t17.t10 (cl @p_1830) :rule cong :premises (t363.t9.t17.t9))
+(step t363.t9.t17.t11 (cl @p_1828) :rule refl)
+(step t363.t9.t17.t12 (cl @p_1831) :rule cong :premises (t363.t9.t17.t10 t363.t9.t17.t11))
+(step t363.t9.t17.t13 (cl @p_1838) :rule refl)
+(step t363.t9.t17.t14 (cl @p_1839) :rule refl)
+(step t363.t9.t17.t15 (cl @p_1840) :rule cong :premises (t363.t9.t17.t13 t363.t9.t17.t14))
+(step t363.t9.t17.t16 (cl (= @p_1800 @p_1841)) :rule cong :premises (t363.t9.t17.t12 t363.t9.t17.t15))
+(step t363.t9.t17.t17 (cl (= @p_1801 @p_1842)) :rule cong :premises (t363.t9.t17.t8 t363.t9.t17.t16))
+(step t363.t9.t17 (cl (= @p_1793 @p_1834)) :rule bind)
+(step t363.t9.t18 (cl (= @p_1802 @p_1843)) :rule cong :premises (t363.t9.t16 t363.t9.t17))
+(step t363.t9.t19 (cl (= @p_1803 @p_1824)) :rule cong :premises (t363.t9.t5 t363.t9.t18))
+(step t363.t9 (cl (= @p_1819 (! (forall ((veriT_vr243 A$) (veriT_vr244 C$)) @p_1824) :named @p_1853))) :rule bind)
+(anchor :step t363.t10 :args ((:= (veriT_vr241 F$) veriT_vr247) (:= (veriT_vr242 D$) veriT_vr248)))
+(step t363.t10.t1 (cl (! (= veriT_vr241 veriT_vr247) :named @p_1846)) :rule refl)
+(step t363.t10.t2 (cl (! (= veriT_vr242 veriT_vr248) :named @p_1847)) :rule refl)
+(step t363.t10.t3 (cl (! (= @p_1805 (! (pair$b veriT_vr247 veriT_vr248) :named @p_1844)) :named @p_1848)) :rule cong :premises (t363.t10.t1 t363.t10.t2))
+(step t363.t10.t4 (cl (= @p_1807 (! (is_res$b @p_1757 @p_1844) :named @p_1845))) :rule cong :premises (t363.t10.t3))
+(step t363.t10.t5 (cl @p_1846) :rule refl)
+(step t363.t10.t6 (cl @p_1847) :rule refl)
+(step t363.t10.t7 (cl @p_1848) :rule cong :premises (t363.t10.t5 t363.t10.t6))
+(step t363.t10.t8 (cl (= @p_1812 (! (is_res$b @p_846 @p_1844) :named @p_1849))) :rule cong :premises (t363.t10.t7))
+(step t363.t10.t9 (cl (= @p_1814 (! (= @p_1845 @p_1849) :named @p_1850))) :rule cong :premises (t363.t10.t4 t363.t10.t8))
+(step t363.t10 (cl (= @p_1816 (! (forall ((veriT_vr247 F$) (veriT_vr248 D$)) @p_1850) :named @p_1851))) :rule bind)
+(step t363.t11 (cl (= @p_1818 (! (and @p_1778 @p_1851) :named @p_1852))) :rule cong :premises (t363.t10))
+(step t363.t12 (cl (= @p_1820 (! (or @p_1325 @p_1852) :named @p_1854))) :rule cong :premises (t363.t11))
+(step t363.t13 (cl (! (= @p_1823 (! (=> @p_1853 @p_1854) :named @p_1856)) :named @p_1855)) :rule cong :premises (t363.t9 t363.t12))
+(step t363.t14 (cl (not @p_1855) (not @p_1823) @p_1856) :rule equiv_pos2)
+(step t363.t15 (cl @p_1856) :rule th_resolution :premises (t363.t8 t363.t13 t363.t14))
+(anchor :step t363.t16 :args ((:= (veriT_vr243 A$) veriT_sk41) (:= (veriT_vr244 C$) veriT_sk42)))
+(step t363.t16.t1 (cl (! (= veriT_vr243 veriT_sk41) :named @p_1859)) :rule refl)
+(step t363.t16.t2 (cl (! (= @p_1825 (! (fun_app$ veriT_sk0 veriT_sk41) :named @p_1858)) :named @p_1863)) :rule cong :premises (t363.t16.t1))
+(step t363.t16.t3 (cl (! (= veriT_vr244 veriT_sk42) :named @p_1861)) :rule refl)
+(step t363.t16.t4 (cl (! (= @p_1761 (! (run$ @p_1858 veriT_sk42) :named @p_1776)) :named @p_1864)) :rule cong :premises (t363.t16.t2 t363.t16.t3))
+(step t363.t16.t5 (cl (! (= @p_1759 (! (is_fail$ @p_1776) :named @p_1768)) :named @p_1865)) :rule cong :premises (t363.t16.t4))
+(step t363.t16.t6 (cl @p_1859) :rule refl)
+(step t363.t16.t7 (cl (! (= @p_1827 (! (fun_app$ veriT_sk1 veriT_sk41) :named @p_1860)) :named @p_1868)) :rule cong :premises (t363.t16.t6))
+(step t363.t16.t8 (cl @p_1861) :rule refl)
+(step t363.t16.t9 (cl (! (= @p_1760 (! (run$ @p_1860 veriT_sk42) :named @p_1769)) :named @p_1869)) :rule cong :premises (t363.t16.t7 t363.t16.t8))
+(step t363.t16.t10 (cl (= @p_1829 (! (is_fail$ @p_1769) :named @p_1862))) :rule cong :premises (t363.t16.t9))
+(step t363.t16.t11 (cl @p_1859) :rule refl)
+(step t363.t16.t12 (cl @p_1863) :rule cong :premises (t363.t16.t11))
+(step t363.t16.t13 (cl @p_1861) :rule refl)
+(step t363.t16.t14 (cl @p_1864) :rule cong :premises (t363.t16.t12 t363.t16.t13))
+(step t363.t16.t15 (cl @p_1865) :rule cong :premises (t363.t16.t14))
+(step t363.t16.t16 (cl (= @p_1833 (! (= @p_1862 @p_1768) :named @p_1866))) :rule cong :premises (t363.t16.t10 t363.t16.t15))
+(anchor :step t363.t16.t17 :args ((:= (veriT_vr245 B$) veriT_sk43) (:= (veriT_vr246 C$) veriT_sk44)))
+(step t363.t16.t17.t1 (cl @p_1859) :rule refl)
+(step t363.t16.t17.t2 (cl @p_1868) :rule cong :premises (t363.t16.t17.t1))
+(step t363.t16.t17.t3 (cl @p_1861) :rule refl)
+(step t363.t16.t17.t4 (cl @p_1869) :rule cong :premises (t363.t16.t17.t2 t363.t16.t17.t3))
+(step t363.t16.t17.t5 (cl (! (= veriT_vr245 veriT_sk43) :named @p_1872)) :rule refl)
+(step t363.t16.t17.t6 (cl (! (= veriT_vr246 veriT_sk44) :named @p_1873)) :rule refl)
+(step t363.t16.t17.t7 (cl (! (= @p_1762 (! (pair$ veriT_sk43 veriT_sk44) :named @p_1777)) :named @p_1874)) :rule cong :premises (t363.t16.t17.t5 t363.t16.t17.t6))
+(step t363.t16.t17.t8 (cl (= @p_1837 (! (is_res$ @p_1769 @p_1777) :named @p_1871))) :rule cong :premises (t363.t16.t17.t4 t363.t16.t17.t7))
+(step t363.t16.t17.t9 (cl @p_1859) :rule refl)
+(step t363.t16.t17.t10 (cl @p_1863) :rule cong :premises (t363.t16.t17.t9))
+(step t363.t16.t17.t11 (cl @p_1861) :rule refl)
+(step t363.t16.t17.t12 (cl @p_1864) :rule cong :premises (t363.t16.t17.t10 t363.t16.t17.t11))
+(step t363.t16.t17.t13 (cl @p_1872) :rule refl)
+(step t363.t16.t17.t14 (cl @p_1873) :rule refl)
+(step t363.t16.t17.t15 (cl @p_1874) :rule cong :premises (t363.t16.t17.t13 t363.t16.t17.t14))
+(step t363.t16.t17.t16 (cl (= @p_1841 (! (is_res$ @p_1776 @p_1777) :named @p_1875))) :rule cong :premises (t363.t16.t17.t12 t363.t16.t17.t15))
+(step t363.t16.t17.t17 (cl (= @p_1842 (! (= @p_1871 @p_1875) :named @p_1867))) :rule cong :premises (t363.t16.t17.t8 t363.t16.t17.t16))
+(step t363.t16.t17 (cl (= @p_1834 @p_1867)) :rule sko_forall)
+(step t363.t16.t18 (cl (= @p_1843 (! (and @p_1866 @p_1867) :named @p_1876))) :rule cong :premises (t363.t16.t16 t363.t16.t17))
+(step t363.t16.t19 (cl (= @p_1824 (! (or @p_1768 @p_1876) :named @p_1857))) :rule cong :premises (t363.t16.t5 t363.t16.t18))
+(step t363.t16 (cl (= @p_1853 @p_1857)) :rule sko_forall)
+(step t363.t17 (cl (! (= @p_1856 (! (=> @p_1857 @p_1854) :named @p_1878)) :named @p_1877)) :rule cong :premises (t363.t16))
+(step t363.t18 (cl (not @p_1877) (not @p_1856) @p_1878) :rule equiv_pos2)
+(step t363.t19 (cl @p_1878) :rule th_resolution :premises (t363.t15 t363.t17 t363.t18))
+(anchor :step t363.t20 :args ((:= (veriT_vr247 F$) veriT_vr249) (:= (veriT_vr248 D$) veriT_vr250)))
+(step t363.t20.t1 (cl (! (= veriT_vr247 veriT_vr249) :named @p_1881)) :rule refl)
+(step t363.t20.t2 (cl (! (= veriT_vr248 veriT_vr250) :named @p_1882)) :rule refl)
+(step t363.t20.t3 (cl (! (= @p_1844 (! (pair$b veriT_vr249 veriT_vr250) :named @p_1779)) :named @p_1883)) :rule cong :premises (t363.t20.t1 t363.t20.t2))
+(step t363.t20.t4 (cl (= @p_1845 (! (is_res$b @p_1757 @p_1779) :named @p_1880))) :rule cong :premises (t363.t20.t3))
+(step t363.t20.t5 (cl @p_1881) :rule refl)
+(step t363.t20.t6 (cl @p_1882) :rule refl)
+(step t363.t20.t7 (cl @p_1883) :rule cong :premises (t363.t20.t5 t363.t20.t6))
+(step t363.t20.t8 (cl (= @p_1849 (! (is_res$b @p_846 @p_1779) :named @p_1884))) :rule cong :premises (t363.t20.t7))
+(step t363.t20.t9 (cl (= @p_1850 (! (= @p_1880 @p_1884) :named @p_1885))) :rule cong :premises (t363.t20.t4 t363.t20.t8))
+(step t363.t20 (cl (= @p_1851 (! (forall ((veriT_vr249 F$) (veriT_vr250 D$)) @p_1885) :named @p_1879))) :rule bind)
+(step t363.t21 (cl (= @p_1852 (! (and @p_1778 @p_1879) :named @p_1886))) :rule cong :premises (t363.t20))
+(step t363.t22 (cl (= @p_1854 (! (or @p_1325 @p_1886) :named @p_1887))) :rule cong :premises (t363.t21))
+(step t363.t23 (cl (! (= @p_1878 (! (=> @p_1857 @p_1887) :named @p_1888)) :named @p_1889)) :rule cong :premises (t363.t22))
+(step t363.t24 (cl (not @p_1889) (not @p_1878) @p_1888) :rule equiv_pos2)
+(step t363.t25 (cl @p_1888) :rule th_resolution :premises (t363.t19 t363.t23 t363.t24))
+(step t363 (cl @p_1822 @p_1888) :rule subproof :discharge (h1))
+(step t364 (cl @p_1385 @p_1758) :rule or :premises (t362))
+(step t365 (cl (! (or @p_1385 @p_1888) :named @p_1890) @p_1533) :rule or_neg)
+(step t366 (cl @p_1890 @p_1154) :rule th_resolution :premises (t159 t365))
+(step t367 (cl @p_1890 (! (not @p_1888) :named @p_1891)) :rule or_neg)
+(step t368 (cl @p_1890) :rule th_resolution :premises (t364 t363 t366 t367))
+(step t369 (cl @p_1857 (not @p_1768)) :rule or_neg)
+(step t370 (cl @p_1866 @p_1862 @p_1768) :rule equiv_neg2)
+(step t371 (cl @p_1867 (! (not @p_1871) :named @p_1900) (! (not @p_1875) :named @p_1904)) :rule equiv_neg1)
+(step t372 (cl @p_1867 @p_1871 @p_1875) :rule equiv_neg2)
+(step t373 (cl @p_1876 (not @p_1866) (not @p_1867)) :rule and_neg)
+(step t374 (cl @p_1857 (not @p_1876)) :rule or_neg)
+(step t375 (cl (not @p_1886) @p_1879) :rule and_pos)
+(step t376 (cl (! (not @p_1887) :named @p_1916) @p_1325 @p_1886) :rule or_pos)
+(step t377 (cl @p_1891 (not @p_1857) @p_1887) :rule implies_pos)
+(step t378 (cl @p_1385 @p_1888) :rule or :premises (t368))
+(step t379 (cl @p_1888) :rule resolution :premises (t378 t119))
+(step t380 (cl (or @p_1341 (! (or @p_1768 (! (not @p_1862) :named @p_1895) @p_1768) :named @p_1892))) :rule forall_inst :args ((:= veriT_vr103 veriT_sk41) (:= veriT_vr104 veriT_sk42)))
+(step t381 (cl @p_1341 @p_1892) :rule or :premises (t380))
+(step t382 (cl (! (or @p_1187 @p_1892) :named @p_1893) @p_1343) :rule or_neg)
+(step t383 (cl @p_1893 @p_1155) :rule th_resolution :premises (t198 t382))
+(step t384 (cl @p_1893 (! (not @p_1892) :named @p_1894)) :rule or_neg)
+(step t385 (cl @p_1893) :rule th_resolution :premises (t194 t381 t383 t384))
+(anchor :step t386)
+(assume t386.h1 @p_1892)
+(step t386.t2 (cl (! (= @p_1892 (! (or @p_1768 @p_1895) :named @p_1896)) :named @p_1897)) :rule ac_simp)
+(step t386.t3 (cl (not @p_1897) @p_1894 @p_1896) :rule equiv_pos2)
+(step t386.t4 (cl @p_1896) :rule th_resolution :premises (t386.h1 t386.t2 t386.t3))
+(step t386 (cl @p_1894 @p_1896) :rule subproof :discharge (h1))
+(step t387 (cl @p_1187 @p_1892) :rule or :premises (t385))
+(step t388 (cl (! (or @p_1187 @p_1896) :named @p_1898) @p_1343) :rule or_neg)
+(step t389 (cl @p_1898 @p_1155) :rule th_resolution :premises (t198 t388))
+(step t390 (cl @p_1898 (! (not @p_1896) :named @p_1899)) :rule or_neg)
+(step t391 (cl @p_1898) :rule th_resolution :premises (t387 t386 t389 t390))
+(step t392 (cl @p_1899 @p_1768 @p_1895) :rule or_pos)
+(step t393 (cl @p_1187 @p_1896) :rule or :premises (t391))
+(step t394 (cl @p_1896) :rule resolution :premises (t393 t120))
+(step t395 (cl (or @p_1697 (! (or @p_1768 @p_1900 @p_1875) :named @p_1901))) :rule forall_inst :args ((:= veriT_vr103 veriT_sk41) (:= veriT_vr104 veriT_sk42) (:= veriT_vr105 veriT_sk43) (:= veriT_vr106 veriT_sk44)))
+(step t396 (cl @p_1697 @p_1901) :rule or :premises (t395))
+(step t397 (cl (! (or @p_1187 @p_1901) :named @p_1902) @p_1343) :rule or_neg)
+(step t398 (cl @p_1902 @p_1155) :rule th_resolution :premises (t198 t397))
+(step t399 (cl @p_1902 (! (not @p_1901) :named @p_1903)) :rule or_neg)
+(step t400 (cl @p_1902) :rule th_resolution :premises (t211 t396 t398 t399))
+(step t401 (cl @p_1903 @p_1768 @p_1900 @p_1875) :rule or_pos)
+(step t402 (cl @p_1187 @p_1901) :rule or :premises (t400))
+(step t403 (cl @p_1901) :rule resolution :premises (t402 t120))
+(step t404 (cl @p_1768 @p_1875 @p_1867) :rule resolution :premises (t401 t372 t403))
+(step t405 (cl (or @p_1706 (! (or @p_1768 @p_1904 @p_1871) :named @p_1905))) :rule forall_inst :args ((:= veriT_vr103 veriT_sk41) (:= veriT_vr104 veriT_sk42) (:= veriT_vr105 veriT_sk43) (:= veriT_vr106 veriT_sk44)))
+(step t406 (cl @p_1706 @p_1905) :rule or :premises (t405))
+(step t407 (cl (! (or @p_1187 @p_1905) :named @p_1906) @p_1343) :rule or_neg)
+(step t408 (cl @p_1906 @p_1155) :rule th_resolution :premises (t198 t407))
+(step t409 (cl @p_1906 (! (not @p_1905) :named @p_1907)) :rule or_neg)
+(step t410 (cl @p_1906) :rule th_resolution :premises (t212 t406 t408 t409))
+(step t411 (cl @p_1907 @p_1768 @p_1904 @p_1871) :rule or_pos)
+(step t412 (cl @p_1187 @p_1905) :rule or :premises (t410))
+(step t413 (cl @p_1905) :rule resolution :premises (t412 t120))
+(step t414 (cl (or (! (not @p_1879) :named @p_1908) (! (forall ((veriT_vr249 F$) (veriT_vr250 D$)) (or (not @p_1884) @p_1880)) :named @p_1909))) :rule qnt_cnf)
+(step t415 (cl @p_1908 @p_1909) :rule or :premises (t414))
+(step t416 (cl (or (! (not @p_1909) :named @p_1910) (! (or (! (not @p_847) :named @p_1915) @p_1753) :named @p_1911))) :rule forall_inst :args ((:= veriT_vr249 veriT_sk7) (:= veriT_vr250 veriT_sk8)))
+(step t417 (cl @p_1910 @p_1911) :rule or :premises (t416))
+(step t418 (cl (! (or @p_1908 @p_1911) :named @p_1913) (! (not @p_1908) :named @p_1912)) :rule or_neg)
+(step t419 (cl (not @p_1912) @p_1879) :rule not_not)
+(step t420 (cl @p_1913 @p_1879) :rule th_resolution :premises (t419 t418))
+(step t421 (cl @p_1913 (! (not @p_1911) :named @p_1914)) :rule or_neg)
+(step t422 (cl @p_1913) :rule th_resolution :premises (t415 t417 t420 t421))
+(step t423 (cl @p_1914 @p_1915 @p_1753) :rule or_pos)
+(step t424 (cl @p_1908 @p_1911) :rule or :premises (t422))
+(step t425 (cl @p_1916 @p_820 @p_780 @p_1335) :rule resolution :premises (t424 t423 t375 t355 t376 t244 t172 t356 t142 t141 t147 t151 t148 t144 t149 t136 t130 t135 t129 t245 t191 t187 t186 t174 t171))
+(step t426 (cl @p_1287) :rule resolution :premises (t357 t183 t246 t182 t247 t208 t184 t181 t249 t210))
+(step t427 (cl @p_1317) :rule resolution :premises (t189 t426 t193))
+(step t428 (cl @p_1316) :rule resolution :premises (t192 t427))
+(step t429 (cl @p_1208) :rule resolution :premises (t186 t428))
+(step t430 (cl @p_1309) :rule resolution :premises (t187 t428))
+(step t431 (cl @p_1338) :rule resolution :premises (t191 t429))
+(step t432 (cl @p_1672) :rule resolution :premises (t241 t430))
+(step t433 (cl @p_1673) :rule resolution :premises (t243 t430))
+(step t434 (cl @p_1857) :rule resolution :premises (t411 t371 t404 t373 t370 t392 t374 t369 t413 t394))
+(step t435 (cl @p_1887) :rule resolution :premises (t377 t434 t379))
+(step t436 (cl @p_1400 @p_1518 @p_1510) :rule resolution :premises (t315 t253 t317))
+(step t437 (cl (or (! (not @p_1741) :named @p_1917) (! (forall ((veriT_vr209 B$) (veriT_vr210 C$)) (or (not @p_1746) @p_1742)) :named @p_1918))) :rule qnt_cnf)
+(step t438 (cl @p_1917 @p_1918) :rule or :premises (t437))
+(step t439 (cl (or (! (not @p_1918) :named @p_1920) (! (or @p_1919 @p_1514) :named @p_1921))) :rule forall_inst :args ((:= veriT_vr209 veriT_sk27) (:= veriT_vr210 veriT_sk28)))
+(step t440 (cl @p_1920 @p_1921) :rule or :premises (t439))
+(step t441 (cl (! (or @p_1917 @p_1921) :named @p_1923) (! (not @p_1917) :named @p_1922)) :rule or_neg)
+(step t442 (cl (not @p_1922) @p_1741) :rule not_not)
+(step t443 (cl @p_1923 @p_1741) :rule th_resolution :premises (t442 t441))
+(step t444 (cl @p_1923 (! (not @p_1921) :named @p_1924)) :rule or_neg)
+(step t445 (cl @p_1923) :rule th_resolution :premises (t438 t440 t443 t444))
+(step t446 (cl @p_1924 @p_1919 @p_1514) :rule or_pos)
+(step t447 (cl @p_1917 @p_1921) :rule or :premises (t445))
+(step t448 (cl @p_1500) :rule resolution :premises (t446 t252 t436 t447 t254 t358 t251 t359 t297 t255 t250 t361 t299))
+(step t449 (cl @p_1530) :rule resolution :premises (t259 t448 t261))
+(step t450 (cl @p_1178) :rule resolution :premises (t331 t449 t433))
+(step t451 (cl @p_820) :rule resolution :premises (t425 t450 t428 t435))
+(step t452 (cl @p_1925) :rule resolution :premises (t129 t450 t431))
+(step t453 (cl @p_1165) :rule resolution :premises (t354 t451))
+(step t454 (cl @p_1167) :rule resolution :premises (t130 t452))
+(step t455 (cl @p_1166) :rule resolution :premises (t147 t453))
+(step t456 (cl @p_1170) :rule resolution :premises (t148 t455))
+(step t457 (cl @p_1926) :rule resolution :premises (t149 t456 t171 t454))
+(step t458 (cl @p_1927) :rule resolution :premises (t140 t457))
+(step t459 (cl @p_1181) :rule resolution :premises (t139 t458))
+(step t460 (cl @p_1671) :rule resolution :premises (t239 t459))
+(step t461 (cl @p_1720) :rule resolution :premises (t343 t460 t432 t451))
+(step t462 (cl @p_1928) :rule resolution :premises (t270 t461 t272))
+(step t463 (cl @p_1929) :rule resolution :premises (t262 t462))
+(step t464 (cl @p_1930) :rule resolution :premises (t267 t462))
+(step t465 (cl @p_1690) :rule resolution :premises (t300 t463 t302))
+(step t466 (cl @p_1643) :rule resolution :premises (t263 t465 t463))
+(step t467 (cl @p_1931) :rule resolution :premises (t266 t466 t464))
+(step t468 (cl @p_1652) :rule resolution :premises (t321 t467 t463))
+(step t469 (cl @p_1700) :rule resolution :premises (t264 t468 t467))
+(step t470 (cl) :rule resolution :premises (t328 t468 t463 t330 t469))
+a352c3d2d258129c9c0fa30de525ad6ea4644748 543 0
+unsat
+(define-fun veriT_sk0 () Exp$ (! (choice ((veriT_vr40 Exp$)) (not (! (=> (! (member$ veriT_vr40 (! (myset$ z$) :named @p_199)) :named @p_278) (! (not (! (forall ((veriT_vr41 FreeExp$)) (! (not (! (= veriT_vr40 (! (fun_app$ uu$ veriT_vr41) :named @p_281)) :named @p_282)) :named @p_283)) :named @p_279)) :named @p_284)) :named @p_277))) :named @p_201))
+(define-fun veriT_sk1 () FreeExp_list$ (! (choice ((veriT_vr42 FreeExp_list$)) (! (= z$ (! (map2$ uu$ veriT_vr42) :named @p_286)) :named @p_285)) :named @p_301))
+(define-fun veriT_sk2 () FreeExp$ (! (choice ((veriT_vr48 FreeExp$)) (not (! (not (! (= veriT_sk0 (! (abs_Exp$ (! (myImage$ exprel$ (! (insert$ veriT_vr48 bot$) :named @p_356)) :named @p_357)) :named @p_358)) :named @p_359)) :named @p_355))) :named @p_366))
+(assume axiom0 (! (forall ((?v0 FreeExp$)) (! (= (! (fun_app$ uu$ ?v0) :named @p_3) (! (abs_Exp$ (! (myImage$ exprel$ (! (insert$ ?v0 bot$) :named @p_6)) :named @p_8)) :named @p_10)) :named @p_12)) :named @p_2))
+(assume axiom1 (! (forall ((?v0 FreeExp_list$)) (! (= (! (abs_ExpList$ ?v0) :named @p_1) (! (map2$ uu$ ?v0) :named @p_27)) :named @p_29)) :named @p_24))
+(assume axiom2 (! (forall ((?v0 Exp$)) (! (=> (! (forall ((?v1 FreeExp$)) (! (=> (! (= ?v0 (! (abs_Exp$ (! (myImage$ exprel$ (! (insert$ ?v1 bot$) :named @p_42)) :named @p_44)) :named @p_46)) :named @p_48) false) :named @p_50)) :named @p_40) false) :named @p_52)) :named @p_39))
+(assume axiom3 (! (forall ((?v0 Exp_list$) (?v1 FreeExp_exp_fun$)) (! (= (! (exists ((?v2 FreeExp_list$)) (! (= ?v0 (! (map2$ ?v1 ?v2) :named @p_74)) :named @p_76)) :named @p_72) (! (forall ((?v2 Exp$)) (! (=> (! (member$ ?v2 (! (myset$ ?v0) :named @p_81)) :named @p_83) (! (exists ((?v3 FreeExp$)) (! (= ?v2 (! (fun_app$ ?v1 ?v3) :named @p_89)) :named @p_91)) :named @p_85)) :named @p_93)) :named @p_78)) :named @p_95)) :named @p_71))
+(assume axiom4 (! (not (! (exists ((?v0 FreeExp_list$)) (! (= @p_1 z$) :named @p_178)) :named @p_176)) :named @p_180))
+(anchor :step t6 :args ((:= (?v0 FreeExp$) veriT_vr0)))
+(step t6.t1 (cl (! (= ?v0 veriT_vr0) :named @p_5)) :rule refl)
+(step t6.t2 (cl (= @p_3 (! (fun_app$ uu$ veriT_vr0) :named @p_4))) :rule cong :premises (t6.t1))
+(step t6.t3 (cl @p_5) :rule refl)
+(step t6.t4 (cl (= @p_6 (! (insert$ veriT_vr0 bot$) :named @p_7))) :rule cong :premises (t6.t3))
+(step t6.t5 (cl (= @p_8 (! (myImage$ exprel$ @p_7) :named @p_9))) :rule cong :premises (t6.t4))
+(step t6.t6 (cl (= @p_10 (! (abs_Exp$ @p_9) :named @p_11))) :rule cong :premises (t6.t5))
+(step t6.t7 (cl (= @p_12 (! (= @p_4 @p_11) :named @p_13))) :rule cong :premises (t6.t2 t6.t6))
+(step t6 (cl (! (= @p_2 (! (forall ((veriT_vr0 FreeExp$)) @p_13) :named @p_15)) :named @p_14)) :rule bind)
+(step t7 (cl (not @p_14) (not @p_2) @p_15) :rule equiv_pos2)
+(step t8 (cl @p_15) :rule th_resolution :premises (axiom0 t6 t7))
+(anchor :step t9 :args ((:= (veriT_vr0 FreeExp$) veriT_vr1)))
+(step t9.t1 (cl (! (= veriT_vr0 veriT_vr1) :named @p_17)) :rule refl)
+(step t9.t2 (cl (= @p_4 (! (fun_app$ uu$ veriT_vr1) :named @p_16))) :rule cong :premises (t9.t1))
+(step t9.t3 (cl @p_17) :rule refl)
+(step t9.t4 (cl (= @p_7 (! (insert$ veriT_vr1 bot$) :named @p_18))) :rule cong :premises (t9.t3))
+(step t9.t5 (cl (= @p_9 (! (myImage$ exprel$ @p_18) :named @p_19))) :rule cong :premises (t9.t4))
+(step t9.t6 (cl (= @p_11 (! (abs_Exp$ @p_19) :named @p_20))) :rule cong :premises (t9.t5))
+(step t9.t7 (cl (= @p_13 (! (= @p_16 @p_20) :named @p_21))) :rule cong :premises (t9.t2 t9.t6))
+(step t9 (cl (! (= @p_15 (! (forall ((veriT_vr1 FreeExp$)) @p_21) :named @p_23)) :named @p_22)) :rule bind)
+(step t10 (cl (not @p_22) (not @p_15) @p_23) :rule equiv_pos2)
+(step t11 (cl @p_23) :rule th_resolution :premises (t8 t9 t10))
+(anchor :step t12 :args ((:= (?v0 FreeExp_list$) veriT_vr2)))
+(step t12.t1 (cl (! (= ?v0 veriT_vr2) :named @p_26)) :rule refl)
+(step t12.t2 (cl (= @p_1 (! (abs_ExpList$ veriT_vr2) :named @p_25))) :rule cong :premises (t12.t1))
+(step t12.t3 (cl @p_26) :rule refl)
+(step t12.t4 (cl (= @p_27 (! (map2$ uu$ veriT_vr2) :named @p_28))) :rule cong :premises (t12.t3))
+(step t12.t5 (cl (= @p_29 (! (= @p_25 @p_28) :named @p_30))) :rule cong :premises (t12.t2 t12.t4))
+(step t12 (cl (! (= @p_24 (! (forall ((veriT_vr2 FreeExp_list$)) @p_30) :named @p_32)) :named @p_31)) :rule bind)
+(step t13 (cl (not @p_31) (not @p_24) @p_32) :rule equiv_pos2)
+(step t14 (cl @p_32) :rule th_resolution :premises (axiom1 t12 t13))
+(anchor :step t15 :args ((:= (veriT_vr2 FreeExp_list$) veriT_vr3)))
+(step t15.t1 (cl (! (= veriT_vr2 veriT_vr3) :named @p_34)) :rule refl)
+(step t15.t2 (cl (= @p_25 (! (abs_ExpList$ veriT_vr3) :named @p_33))) :rule cong :premises (t15.t1))
+(step t15.t3 (cl @p_34) :rule refl)
+(step t15.t4 (cl (= @p_28 (! (map2$ uu$ veriT_vr3) :named @p_35))) :rule cong :premises (t15.t3))
+(step t15.t5 (cl (= @p_30 (! (= @p_33 @p_35) :named @p_36))) :rule cong :premises (t15.t2 t15.t4))
+(step t15 (cl (! (= @p_32 (! (forall ((veriT_vr3 FreeExp_list$)) @p_36) :named @p_38)) :named @p_37)) :rule bind)
+(step t16 (cl (not @p_37) (not @p_32) @p_38) :rule equiv_pos2)
+(step t17 (cl @p_38) :rule th_resolution :premises (t14 t15 t16))
+(anchor :step t18 :args ((:= (?v0 Exp$) veriT_vr4)))
+(anchor :step t18.t1 :args ((:= (?v1 FreeExp$) veriT_vr5)))
+(step t18.t1.t1 (cl (= ?v0 veriT_vr4)) :rule refl)
+(step t18.t1.t2 (cl (= ?v1 veriT_vr5)) :rule refl)
+(step t18.t1.t3 (cl (= @p_42 (! (insert$ veriT_vr5 bot$) :named @p_43))) :rule cong :premises (t18.t1.t2))
+(step t18.t1.t4 (cl (= @p_44 (! (myImage$ exprel$ @p_43) :named @p_45))) :rule cong :premises (t18.t1.t3))
+(step t18.t1.t5 (cl (= @p_46 (! (abs_Exp$ @p_45) :named @p_47))) :rule cong :premises (t18.t1.t4))
+(step t18.t1.t6 (cl (= @p_48 (! (= veriT_vr4 @p_47) :named @p_49))) :rule cong :premises (t18.t1.t1 t18.t1.t5))
+(step t18.t1.t7 (cl (= @p_50 (! (=> @p_49 false) :named @p_51))) :rule cong :premises (t18.t1.t6))
+(step t18.t1 (cl (= @p_40 (! (forall ((veriT_vr5 FreeExp$)) @p_51) :named @p_41))) :rule bind)
+(step t18.t2 (cl (= @p_52 (! (=> @p_41 false) :named @p_53))) :rule cong :premises (t18.t1))
+(step t18 (cl (! (= @p_39 (! (forall ((veriT_vr4 Exp$)) @p_53) :named @p_55)) :named @p_54)) :rule bind)
+(step t19 (cl (not @p_54) (not @p_39) @p_55) :rule equiv_pos2)
+(step t20 (cl @p_55) :rule th_resolution :premises (axiom2 t18 t19))
+(anchor :step t21 :args ((veriT_vr4 Exp$)))
+(anchor :step t21.t1 :args ((veriT_vr5 FreeExp$)))
+(step t21.t1.t1 (cl (= @p_51 (! (not @p_49) :named @p_57))) :rule implies_simplify)
+(step t21.t1 (cl (= @p_41 (! (forall ((veriT_vr5 FreeExp$)) @p_57) :named @p_56))) :rule bind)
+(step t21.t2 (cl (= @p_53 (! (=> @p_56 false) :named @p_58))) :rule cong :premises (t21.t1))
+(step t21.t3 (cl (= @p_58 (! (not @p_56) :named @p_59))) :rule implies_simplify)
+(step t21.t4 (cl (= @p_53 @p_59)) :rule trans :premises (t21.t2 t21.t3))
+(step t21 (cl (! (= @p_55 (! (forall ((veriT_vr4 Exp$)) @p_59) :named @p_61)) :named @p_60)) :rule bind)
+(step t22 (cl (not @p_60) (not @p_55) @p_61) :rule equiv_pos2)
+(step t23 (cl @p_61) :rule th_resolution :premises (t20 t21 t22))
+(anchor :step t24 :args ((:= (veriT_vr4 Exp$) veriT_vr6)))
+(anchor :step t24.t1 :args ((:= (veriT_vr5 FreeExp$) veriT_vr7)))
+(step t24.t1.t1 (cl (= veriT_vr4 veriT_vr6)) :rule refl)
+(step t24.t1.t2 (cl (= veriT_vr5 veriT_vr7)) :rule refl)
+(step t24.t1.t3 (cl (= @p_43 (! (insert$ veriT_vr7 bot$) :named @p_63))) :rule cong :premises (t24.t1.t2))
+(step t24.t1.t4 (cl (= @p_45 (! (myImage$ exprel$ @p_63) :named @p_64))) :rule cong :premises (t24.t1.t3))
+(step t24.t1.t5 (cl (= @p_47 (! (abs_Exp$ @p_64) :named @p_65))) :rule cong :premises (t24.t1.t4))
+(step t24.t1.t6 (cl (= @p_49 (! (= veriT_vr6 @p_65) :named @p_66))) :rule cong :premises (t24.t1.t1 t24.t1.t5))
+(step t24.t1.t7 (cl (= @p_57 (! (not @p_66) :named @p_67))) :rule cong :premises (t24.t1.t6))
+(step t24.t1 (cl (= @p_56 (! (forall ((veriT_vr7 FreeExp$)) @p_67) :named @p_62))) :rule bind)
+(step t24.t2 (cl (= @p_59 (! (not @p_62) :named @p_68))) :rule cong :premises (t24.t1))
+(step t24 (cl (! (= @p_61 (! (forall ((veriT_vr6 Exp$)) @p_68) :named @p_70)) :named @p_69)) :rule bind)
+(step t25 (cl (not @p_69) (not @p_61) @p_70) :rule equiv_pos2)
+(step t26 (cl @p_70) :rule th_resolution :premises (t23 t24 t25))
+(anchor :step t27 :args ((:= (?v0 Exp_list$) veriT_vr8) (:= (?v1 FreeExp_exp_fun$) veriT_vr9)))
+(anchor :step t27.t1 :args ((:= (?v2 FreeExp_list$) veriT_vr10)))
+(step t27.t1.t1 (cl (! (= ?v0 veriT_vr8) :named @p_80)) :rule refl)
+(step t27.t1.t2 (cl (! (= ?v1 veriT_vr9) :named @p_88)) :rule refl)
+(step t27.t1.t3 (cl (= ?v2 veriT_vr10)) :rule refl)
+(step t27.t1.t4 (cl (= @p_74 (! (map2$ veriT_vr9 veriT_vr10) :named @p_75))) :rule cong :premises (t27.t1.t2 t27.t1.t3))
+(step t27.t1.t5 (cl (= @p_76 (! (= veriT_vr8 @p_75) :named @p_77))) :rule cong :premises (t27.t1.t1 t27.t1.t4))
+(step t27.t1 (cl (= @p_72 (! (exists ((veriT_vr10 FreeExp_list$)) @p_77) :named @p_73))) :rule bind)
+(anchor :step t27.t2 :args ((:= (?v2 Exp$) veriT_vr11)))
+(step t27.t2.t1 (cl (! (= ?v2 veriT_vr11) :named @p_87)) :rule refl)
+(step t27.t2.t2 (cl @p_80) :rule refl)
+(step t27.t2.t3 (cl (= @p_81 (! (myset$ veriT_vr8) :named @p_82))) :rule cong :premises (t27.t2.t2))
+(step t27.t2.t4 (cl (= @p_83 (! (member$ veriT_vr11 @p_82) :named @p_84))) :rule cong :premises (t27.t2.t1 t27.t2.t3))
+(anchor :step t27.t2.t5 :args ((:= (?v3 FreeExp$) veriT_vr12)))
+(step t27.t2.t5.t1 (cl @p_87) :rule refl)
+(step t27.t2.t5.t2 (cl @p_88) :rule refl)
+(step t27.t2.t5.t3 (cl (= ?v3 veriT_vr12)) :rule refl)
+(step t27.t2.t5.t4 (cl (= @p_89 (! (fun_app$ veriT_vr9 veriT_vr12) :named @p_90))) :rule cong :premises (t27.t2.t5.t2 t27.t2.t5.t3))
+(step t27.t2.t5.t5 (cl (= @p_91 (! (= veriT_vr11 @p_90) :named @p_92))) :rule cong :premises (t27.t2.t5.t1 t27.t2.t5.t4))
+(step t27.t2.t5 (cl (= @p_85 (! (exists ((veriT_vr12 FreeExp$)) @p_92) :named @p_86))) :rule bind)
+(step t27.t2.t6 (cl (= @p_93 (! (=> @p_84 @p_86) :named @p_94))) :rule cong :premises (t27.t2.t4 t27.t2.t5))
+(step t27.t2 (cl (= @p_78 (! (forall ((veriT_vr11 Exp$)) @p_94) :named @p_79))) :rule bind)
+(step t27.t3 (cl (= @p_95 (! (= @p_73 @p_79) :named @p_96))) :rule cong :premises (t27.t1 t27.t2))
+(step t27 (cl (! (= @p_71 (! (forall ((veriT_vr8 Exp_list$) (veriT_vr9 FreeExp_exp_fun$)) @p_96) :named @p_98)) :named @p_97)) :rule bind)
+(step t28 (cl (not @p_97) (not @p_71) @p_98) :rule equiv_pos2)
+(step t29 (cl @p_98) :rule th_resolution :premises (axiom3 t27 t28))
+(anchor :step t30 :args ((veriT_vr8 Exp_list$) (veriT_vr9 FreeExp_exp_fun$)))
+(step t30.t1 (cl (= @p_96 (! (and (! (=> @p_73 @p_79) :named @p_115) (! (=> @p_79 @p_73) :named @p_128)) :named @p_99))) :rule connective_def)
+(step t30 (cl (! (= @p_98 (! (forall ((veriT_vr8 Exp_list$) (veriT_vr9 FreeExp_exp_fun$)) @p_99) :named @p_101)) :named @p_100)) :rule bind)
+(step t31 (cl (not @p_100) (not @p_98) @p_101) :rule equiv_pos2)
+(step t32 (cl @p_101) :rule th_resolution :premises (t29 t30 t31))
+(anchor :step t33 :args ((:= (veriT_vr8 Exp_list$) veriT_vr13) (:= (veriT_vr9 FreeExp_exp_fun$) veriT_vr14)))
+(anchor :step t33.t1 :args ((:= (veriT_vr10 FreeExp_list$) veriT_vr15)))
+(step t33.t1.t1 (cl (! (= veriT_vr8 veriT_vr13) :named @p_107)) :rule refl)
+(step t33.t1.t2 (cl (! (= veriT_vr9 veriT_vr14) :named @p_111)) :rule refl)
+(step t33.t1.t3 (cl (= veriT_vr10 veriT_vr15)) :rule refl)
+(step t33.t1.t4 (cl (= @p_75 (! (map2$ veriT_vr14 veriT_vr15) :named @p_104))) :rule cong :premises (t33.t1.t2 t33.t1.t3))
+(step t33.t1.t5 (cl (= @p_77 (! (= veriT_vr13 @p_104) :named @p_105))) :rule cong :premises (t33.t1.t1 t33.t1.t4))
+(step t33.t1 (cl (= @p_73 (! (exists ((veriT_vr15 FreeExp_list$)) @p_105) :named @p_103))) :rule bind)
+(anchor :step t33.t2 :args ((:= (veriT_vr11 Exp$) veriT_vr16)))
+(step t33.t2.t1 (cl (! (= veriT_vr11 veriT_vr16) :named @p_110)) :rule refl)
+(step t33.t2.t2 (cl @p_107) :rule refl)
+(step t33.t2.t3 (cl (! (= @p_82 (! (myset$ veriT_vr13) :named @p_102)) :named @p_118)) :rule cong :premises (t33.t2.t2))
+(step t33.t2.t4 (cl (= @p_84 (! (member$ veriT_vr16 @p_102) :named @p_108))) :rule cong :premises (t33.t2.t1 t33.t2.t3))
+(anchor :step t33.t2.t5 :args ((:= (veriT_vr12 FreeExp$) veriT_vr17)))
+(step t33.t2.t5.t1 (cl @p_110) :rule refl)
+(step t33.t2.t5.t2 (cl @p_111) :rule refl)
+(step t33.t2.t5.t3 (cl (= veriT_vr12 veriT_vr17)) :rule refl)
+(step t33.t2.t5.t4 (cl (= @p_90 (! (fun_app$ veriT_vr14 veriT_vr17) :named @p_112))) :rule cong :premises (t33.t2.t5.t2 t33.t2.t5.t3))
+(step t33.t2.t5.t5 (cl (= @p_92 (! (= veriT_vr16 @p_112) :named @p_113))) :rule cong :premises (t33.t2.t5.t1 t33.t2.t5.t4))
+(step t33.t2.t5 (cl (= @p_86 (! (exists ((veriT_vr17 FreeExp$)) @p_113) :named @p_109))) :rule bind)
+(step t33.t2.t6 (cl (= @p_94 (! (=> @p_108 @p_109) :named @p_114))) :rule cong :premises (t33.t2.t4 t33.t2.t5))
+(step t33.t2 (cl (= @p_79 (! (forall ((veriT_vr16 Exp$)) @p_114) :named @p_106))) :rule bind)
+(step t33.t3 (cl (= @p_115 (! (=> @p_103 @p_106) :named @p_116))) :rule cong :premises (t33.t1 t33.t2))
+(anchor :step t33.t4 :args ((:= (veriT_vr11 Exp$) veriT_vr18)))
+(step t33.t4.t1 (cl (! (= veriT_vr11 veriT_vr18) :named @p_121)) :rule refl)
+(step t33.t4.t2 (cl @p_107) :rule refl)
+(step t33.t4.t3 (cl @p_118) :rule cong :premises (t33.t4.t2))
+(step t33.t4.t4 (cl (= @p_84 (! (member$ veriT_vr18 @p_102) :named @p_119))) :rule cong :premises (t33.t4.t1 t33.t4.t3))
+(anchor :step t33.t4.t5 :args ((:= (veriT_vr12 FreeExp$) veriT_vr19)))
+(step t33.t4.t5.t1 (cl @p_121) :rule refl)
+(step t33.t4.t5.t2 (cl @p_111) :rule refl)
+(step t33.t4.t5.t3 (cl (= veriT_vr12 veriT_vr19)) :rule refl)
+(step t33.t4.t5.t4 (cl (= @p_90 (! (fun_app$ veriT_vr14 veriT_vr19) :named @p_122))) :rule cong :premises (t33.t4.t5.t2 t33.t4.t5.t3))
+(step t33.t4.t5.t5 (cl (= @p_92 (! (= veriT_vr18 @p_122) :named @p_123))) :rule cong :premises (t33.t4.t5.t1 t33.t4.t5.t4))
+(step t33.t4.t5 (cl (= @p_86 (! (exists ((veriT_vr19 FreeExp$)) @p_123) :named @p_120))) :rule bind)
+(step t33.t4.t6 (cl (= @p_94 (! (=> @p_119 @p_120) :named @p_124))) :rule cong :premises (t33.t4.t4 t33.t4.t5))
+(step t33.t4 (cl (= @p_79 (! (forall ((veriT_vr18 Exp$)) @p_124) :named @p_117))) :rule bind)
+(anchor :step t33.t5 :args ((:= (veriT_vr10 FreeExp_list$) veriT_vr20)))
+(step t33.t5.t1 (cl @p_107) :rule refl)
+(step t33.t5.t2 (cl @p_111) :rule refl)
+(step t33.t5.t3 (cl (= veriT_vr10 veriT_vr20)) :rule refl)
+(step t33.t5.t4 (cl (= @p_75 (! (map2$ veriT_vr14 veriT_vr20) :named @p_126))) :rule cong :premises (t33.t5.t2 t33.t5.t3))
+(step t33.t5.t5 (cl (= @p_77 (! (= veriT_vr13 @p_126) :named @p_127))) :rule cong :premises (t33.t5.t1 t33.t5.t4))
+(step t33.t5 (cl (= @p_73 (! (exists ((veriT_vr20 FreeExp_list$)) @p_127) :named @p_125))) :rule bind)
+(step t33.t6 (cl (= @p_128 (! (=> @p_117 @p_125) :named @p_129))) :rule cong :premises (t33.t4 t33.t5))
+(step t33.t7 (cl (= @p_99 (! (and @p_116 @p_129) :named @p_130))) :rule cong :premises (t33.t3 t33.t6))
+(step t33 (cl (! (= @p_101 (! (forall ((veriT_vr13 Exp_list$) (veriT_vr14 FreeExp_exp_fun$)) @p_130) :named @p_132)) :named @p_131)) :rule bind)
+(step t34 (cl (not @p_131) (not @p_101) @p_132) :rule equiv_pos2)
+(step t35 (cl @p_132) :rule th_resolution :premises (t32 t33 t34))
+(anchor :step t36 :args ((:= (veriT_vr13 Exp_list$) veriT_vr21) (:= (veriT_vr14 FreeExp_exp_fun$) veriT_vr22)))
+(anchor :step t36.t1 :args ((:= (veriT_vr15 FreeExp_list$) veriT_vr23)))
+(step t36.t1.t1 (cl (! (= veriT_vr13 veriT_vr21) :named @p_137)) :rule refl)
+(step t36.t1.t2 (cl (! (= veriT_vr14 veriT_vr22) :named @p_142)) :rule refl)
+(step t36.t1.t3 (cl (= veriT_vr15 veriT_vr23)) :rule refl)
+(step t36.t1.t4 (cl (= @p_104 (! (map2$ veriT_vr22 veriT_vr23) :named @p_135))) :rule cong :premises (t36.t1.t2 t36.t1.t3))
+(step t36.t1.t5 (cl (= @p_105 (! (= veriT_vr21 @p_135) :named @p_136))) :rule cong :premises (t36.t1.t1 t36.t1.t4))
+(step t36.t1 (cl (= @p_103 (! (exists ((veriT_vr23 FreeExp_list$)) @p_136) :named @p_134))) :rule bind)
+(anchor :step t36.t2 :args ((:= (veriT_vr16 Exp$) veriT_vr24)))
+(step t36.t2.t1 (cl (! (= veriT_vr16 veriT_vr24) :named @p_141)) :rule refl)
+(step t36.t2.t2 (cl @p_137) :rule refl)
+(step t36.t2.t3 (cl (! (= @p_102 (! (myset$ veriT_vr21) :named @p_138)) :named @p_147)) :rule cong :premises (t36.t2.t2))
+(step t36.t2.t4 (cl (= @p_108 (! (member$ veriT_vr24 @p_138) :named @p_139))) :rule cong :premises (t36.t2.t1 t36.t2.t3))
+(anchor :step t36.t2.t5 :args ((:= (veriT_vr17 FreeExp$) veriT_vr25)))
+(step t36.t2.t5.t1 (cl @p_141) :rule refl)
+(step t36.t2.t5.t2 (cl @p_142) :rule refl)
+(step t36.t2.t5.t3 (cl (= veriT_vr17 veriT_vr25)) :rule refl)
+(step t36.t2.t5.t4 (cl (= @p_112 (! (fun_app$ veriT_vr22 veriT_vr25) :named @p_143))) :rule cong :premises (t36.t2.t5.t2 t36.t2.t5.t3))
+(step t36.t2.t5.t5 (cl (= @p_113 (! (= veriT_vr24 @p_143) :named @p_144))) :rule cong :premises (t36.t2.t5.t1 t36.t2.t5.t4))
+(step t36.t2.t5 (cl (= @p_109 (! (exists ((veriT_vr25 FreeExp$)) @p_144) :named @p_140))) :rule bind)
+(step t36.t2.t6 (cl (= @p_114 (! (=> @p_139 @p_140) :named @p_145))) :rule cong :premises (t36.t2.t4 t36.t2.t5))
+(step t36.t2 (cl (= @p_106 (! (forall ((veriT_vr24 Exp$)) @p_145) :named @p_133))) :rule bind)
+(step t36.t3 (cl (= @p_116 (! (=> @p_134 @p_133) :named @p_146))) :rule cong :premises (t36.t1 t36.t2))
+(anchor :step t36.t4 :args ((:= (veriT_vr18 Exp$) veriT_vr24)))
+(step t36.t4.t1 (cl (! (= veriT_vr18 veriT_vr24) :named @p_148)) :rule refl)
+(step t36.t4.t2 (cl @p_137) :rule refl)
+(step t36.t4.t3 (cl @p_147) :rule cong :premises (t36.t4.t2))
+(step t36.t4.t4 (cl (= @p_119 @p_139)) :rule cong :premises (t36.t4.t1 t36.t4.t3))
+(anchor :step t36.t4.t5 :args ((:= (veriT_vr19 FreeExp$) veriT_vr25)))
+(step t36.t4.t5.t1 (cl @p_148) :rule refl)
+(step t36.t4.t5.t2 (cl @p_142) :rule refl)
+(step t36.t4.t5.t3 (cl (= veriT_vr19 veriT_vr25)) :rule refl)
+(step t36.t4.t5.t4 (cl (= @p_122 @p_143)) :rule cong :premises (t36.t4.t5.t2 t36.t4.t5.t3))
+(step t36.t4.t5.t5 (cl (= @p_123 @p_144)) :rule cong :premises (t36.t4.t5.t1 t36.t4.t5.t4))
+(step t36.t4.t5 (cl (= @p_120 @p_140)) :rule bind)
+(step t36.t4.t6 (cl (= @p_124 @p_145)) :rule cong :premises (t36.t4.t4 t36.t4.t5))
+(step t36.t4 (cl (= @p_117 @p_133)) :rule bind)
+(anchor :step t36.t5 :args ((:= (veriT_vr20 FreeExp_list$) veriT_vr23)))
+(step t36.t5.t1 (cl @p_137) :rule refl)
+(step t36.t5.t2 (cl @p_142) :rule refl)
+(step t36.t5.t3 (cl (= veriT_vr20 veriT_vr23)) :rule refl)
+(step t36.t5.t4 (cl (= @p_126 @p_135)) :rule cong :premises (t36.t5.t2 t36.t5.t3))
+(step t36.t5.t5 (cl (= @p_127 @p_136)) :rule cong :premises (t36.t5.t1 t36.t5.t4))
+(step t36.t5 (cl (= @p_125 @p_134)) :rule bind)
+(step t36.t6 (cl (= @p_129 (! (=> @p_133 @p_134) :named @p_149))) :rule cong :premises (t36.t4 t36.t5))
+(step t36.t7 (cl (= @p_130 (! (and @p_146 @p_149) :named @p_150))) :rule cong :premises (t36.t3 t36.t6))
+(step t36 (cl (! (= @p_132 (! (forall ((veriT_vr21 Exp_list$) (veriT_vr22 FreeExp_exp_fun$)) @p_150) :named @p_152)) :named @p_151)) :rule bind)
+(step t37 (cl (not @p_151) (not @p_132) @p_152) :rule equiv_pos2)
+(step t38 (cl @p_152) :rule th_resolution :premises (t35 t36 t37))
+(anchor :step t39 :args ((:= (veriT_vr21 Exp_list$) veriT_vr21) (:= (veriT_vr22 FreeExp_exp_fun$) veriT_vr22)))
+(anchor :step t39.t1 :args ((:= (veriT_vr24 Exp$) veriT_vr26)))
+(step t39.t1.t1 (cl (! (= veriT_vr24 veriT_vr26) :named @p_156)) :rule refl)
+(step t39.t1.t2 (cl (= @p_139 (! (member$ veriT_vr26 @p_138) :named @p_154))) :rule cong :premises (t39.t1.t1))
+(anchor :step t39.t1.t3 :args ((:= (veriT_vr25 FreeExp$) veriT_vr27)))
+(step t39.t1.t3.t1 (cl @p_156) :rule refl)
+(step t39.t1.t3.t2 (cl (= veriT_vr25 veriT_vr27)) :rule refl)
+(step t39.t1.t3.t3 (cl (= @p_143 (! (fun_app$ veriT_vr22 veriT_vr27) :named @p_157))) :rule cong :premises (t39.t1.t3.t2))
+(step t39.t1.t3.t4 (cl (= @p_144 (! (= veriT_vr26 @p_157) :named @p_158))) :rule cong :premises (t39.t1.t3.t1 t39.t1.t3.t3))
+(step t39.t1.t3 (cl (= @p_140 (! (exists ((veriT_vr27 FreeExp$)) @p_158) :named @p_155))) :rule bind)
+(step t39.t1.t4 (cl (= @p_145 (! (=> @p_154 @p_155) :named @p_159))) :rule cong :premises (t39.t1.t2 t39.t1.t3))
+(step t39.t1 (cl (= @p_133 (! (forall ((veriT_vr26 Exp$)) @p_159) :named @p_153))) :rule bind)
+(anchor :step t39.t2 :args ((:= (veriT_vr23 FreeExp_list$) veriT_vr28)))
+(step t39.t2.t1 (cl (= veriT_vr23 veriT_vr28)) :rule refl)
+(step t39.t2.t2 (cl (= @p_135 (! (map2$ veriT_vr22 veriT_vr28) :named @p_161))) :rule cong :premises (t39.t2.t1))
+(step t39.t2.t3 (cl (= @p_136 (! (= veriT_vr21 @p_161) :named @p_162))) :rule cong :premises (t39.t2.t2))
+(step t39.t2 (cl (= @p_134 (! (exists ((veriT_vr28 FreeExp_list$)) @p_162) :named @p_160))) :rule bind)
+(step t39.t3 (cl (= @p_149 (! (=> @p_153 @p_160) :named @p_163))) :rule cong :premises (t39.t1 t39.t2))
+(step t39.t4 (cl (= @p_150 (! (and @p_146 @p_163) :named @p_164))) :rule cong :premises (t39.t3))
+(step t39 (cl (! (= @p_152 (! (forall ((veriT_vr21 Exp_list$) (veriT_vr22 FreeExp_exp_fun$)) @p_164) :named @p_166)) :named @p_165)) :rule bind)
+(step t40 (cl (not @p_165) (not @p_152) @p_166) :rule equiv_pos2)
+(step t41 (cl @p_166) :rule th_resolution :premises (t38 t39 t40))
+(anchor :step t42 :args ((veriT_vr21 Exp_list$) (veriT_vr22 FreeExp_exp_fun$)))
+(step t42.t1 (cl (= @p_134 (! (not (forall ((veriT_vr23 FreeExp_list$)) (not @p_136))) :named @p_167))) :rule connective_def)
+(step t42.t2 (cl (= @p_146 (! (=> @p_167 @p_133) :named @p_168))) :rule cong :premises (t42.t1))
+(anchor :step t42.t3 :args ((veriT_vr26 Exp$)))
+(step t42.t3.t1 (cl (= @p_155 (! (not (forall ((veriT_vr27 FreeExp$)) (not @p_158))) :named @p_170))) :rule connective_def)
+(step t42.t3.t2 (cl (= @p_159 (! (=> @p_154 @p_170) :named @p_171))) :rule cong :premises (t42.t3.t1))
+(step t42.t3 (cl (= @p_153 (! (forall ((veriT_vr26 Exp$)) @p_171) :named @p_169))) :rule bind)
+(step t42.t4 (cl (= @p_163 (! (=> @p_169 @p_160) :named @p_172))) :rule cong :premises (t42.t3))
+(step t42.t5 (cl (= @p_164 (! (and @p_168 @p_172) :named @p_173))) :rule cong :premises (t42.t2 t42.t4))
+(step t42 (cl (! (= @p_166 (! (forall ((veriT_vr21 Exp_list$) (veriT_vr22 FreeExp_exp_fun$)) @p_173) :named @p_175)) :named @p_174)) :rule bind)
+(step t43 (cl (not @p_174) (not @p_166) @p_175) :rule equiv_pos2)
+(step t44 (cl @p_175) :rule th_resolution :premises (t41 t42 t43))
+(anchor :step t45 :args ((:= (?v0 FreeExp_list$) veriT_vr29)))
+(step t45.t1 (cl (= ?v0 veriT_vr29)) :rule refl)
+(step t45.t2 (cl (= @p_1 (! (abs_ExpList$ veriT_vr29) :named @p_177))) :rule cong :premises (t45.t1))
+(step t45.t3 (cl (= @p_178 (! (= z$ @p_177) :named @p_179))) :rule cong :premises (t45.t2))
+(step t45 (cl (= @p_176 (! (exists ((veriT_vr29 FreeExp_list$)) @p_179) :named @p_181))) :rule bind)
+(step t46 (cl (! (= @p_180 (! (not @p_181) :named @p_183)) :named @p_182)) :rule cong :premises (t45))
+(step t47 (cl (! (not @p_182) :named @p_185) (! (not @p_180) :named @p_184) @p_183) :rule equiv_pos2)
+(step t48 (cl (not @p_184) @p_176) :rule not_not)
+(step t49 (cl @p_185 @p_176 @p_183) :rule th_resolution :premises (t48 t47))
+(step t50 (cl @p_183) :rule th_resolution :premises (axiom4 t46 t49))
+(anchor :step t51 :args ((:= (veriT_vr29 FreeExp_list$) veriT_vr30)))
+(step t51.t1 (cl (= veriT_vr29 veriT_vr30)) :rule refl)
+(step t51.t2 (cl (= @p_177 (! (abs_ExpList$ veriT_vr30) :named @p_186))) :rule cong :premises (t51.t1))
+(step t51.t3 (cl (= @p_179 (! (= z$ @p_186) :named @p_187))) :rule cong :premises (t51.t2))
+(step t51 (cl (= @p_181 (! (exists ((veriT_vr30 FreeExp_list$)) @p_187) :named @p_188))) :rule bind)
+(step t52 (cl (! (= @p_183 (! (not @p_188) :named @p_190)) :named @p_189)) :rule cong :premises (t51))
+(step t53 (cl (! (not @p_189) :named @p_192) (! (not @p_183) :named @p_191) @p_190) :rule equiv_pos2)
+(step t54 (cl (not @p_191) @p_181) :rule not_not)
+(step t55 (cl @p_192 @p_181 @p_190) :rule th_resolution :premises (t54 t53))
+(step t56 (cl @p_190) :rule th_resolution :premises (t50 t52 t55))
+(step t57 (cl (= @p_188 (! (not (! (forall ((veriT_vr30 FreeExp_list$)) (not @p_187)) :named @p_198)) :named @p_193))) :rule connective_def)
+(step t58 (cl (! (= @p_190 (! (not @p_193) :named @p_195)) :named @p_194)) :rule cong :premises (t57))
+(step t59 (cl (! (not @p_194) :named @p_197) (! (not @p_190) :named @p_196) @p_195) :rule equiv_pos2)
+(step t60 (cl (not @p_196) @p_188) :rule not_not)
+(step t61 (cl @p_197 @p_188 @p_195) :rule th_resolution :premises (t60 t59))
+(step t62 (cl (not @p_195) @p_198) :rule not_not)
+(step t63 (cl @p_197 @p_188 @p_198) :rule th_resolution :premises (t62 t61))
+(step t64 (cl @p_195) :rule th_resolution :premises (t56 t58 t63))
+(step t65 (cl @p_198) :rule th_resolution :premises (t62 t64))
+(step t66 (cl (or (! (not @p_175) :named @p_336) (! (and (! (=> (! (not (! (forall ((veriT_vr23 FreeExp_list$)) (! (not (! (= z$ (! (map2$ uu$ veriT_vr23) :named @p_203)) :named @p_205)) :named @p_207)) :named @p_202)) :named @p_209) (! (forall ((veriT_vr24 Exp$)) (! (=> (! (member$ veriT_vr24 @p_199) :named @p_212) (! (exists ((veriT_vr25 FreeExp$)) (! (= veriT_vr24 (! (fun_app$ uu$ veriT_vr25) :named @p_217)) :named @p_219)) :named @p_214)) :named @p_221)) :named @p_211)) :named @p_223) (! (=> (! (forall ((veriT_vr26 Exp$)) (! (=> (! (member$ veriT_vr26 @p_199) :named @p_227) (! (not (! (forall ((veriT_vr27 FreeExp$)) (! (not (! (= veriT_vr26 (! (fun_app$ uu$ veriT_vr27) :named @p_231)) :named @p_232)) :named @p_233)) :named @p_228)) :named @p_235)) :named @p_237)) :named @p_226) (! (exists ((veriT_vr28 FreeExp_list$)) (! (= z$ (! (map2$ uu$ veriT_vr28) :named @p_240)) :named @p_241)) :named @p_239)) :named @p_242)) :named @p_200))) :rule forall_inst :args ((:= veriT_vr21 z$) (:= veriT_vr22 uu$)))
+(anchor :step t67)
+(assume t67.h1 @p_200)
+(anchor :step t67.t2 :args ((:= (veriT_vr23 FreeExp_list$) veriT_vr31)))
+(step t67.t2.t1 (cl (= veriT_vr23 veriT_vr31)) :rule refl)
+(step t67.t2.t2 (cl (= @p_203 (! (map2$ uu$ veriT_vr31) :named @p_204))) :rule cong :premises (t67.t2.t1))
+(step t67.t2.t3 (cl (= @p_205 (! (= z$ @p_204) :named @p_206))) :rule cong :premises (t67.t2.t2))
+(step t67.t2.t4 (cl (= @p_207 (! (not @p_206) :named @p_208))) :rule cong :premises (t67.t2.t3))
+(step t67.t2 (cl (= @p_202 (! (forall ((veriT_vr31 FreeExp_list$)) @p_208) :named @p_210))) :rule bind)
+(step t67.t3 (cl (= @p_209 (! (not @p_210) :named @p_224))) :rule cong :premises (t67.t2))
+(anchor :step t67.t4 :args ((:= (veriT_vr24 Exp$) veriT_vr32)))
+(step t67.t4.t1 (cl (! (= veriT_vr24 veriT_vr32) :named @p_216)) :rule refl)
+(step t67.t4.t2 (cl (= @p_212 (! (member$ veriT_vr32 @p_199) :named @p_213))) :rule cong :premises (t67.t4.t1))
+(anchor :step t67.t4.t3 :args ((:= (veriT_vr25 FreeExp$) veriT_vr33)))
+(step t67.t4.t3.t1 (cl @p_216) :rule refl)
+(step t67.t4.t3.t2 (cl (= veriT_vr25 veriT_vr33)) :rule refl)
+(step t67.t4.t3.t3 (cl (= @p_217 (! (fun_app$ uu$ veriT_vr33) :named @p_218))) :rule cong :premises (t67.t4.t3.t2))
+(step t67.t4.t3.t4 (cl (= @p_219 (! (= veriT_vr32 @p_218) :named @p_220))) :rule cong :premises (t67.t4.t3.t1 t67.t4.t3.t3))
+(step t67.t4.t3 (cl (= @p_214 (! (exists ((veriT_vr33 FreeExp$)) @p_220) :named @p_215))) :rule bind)
+(step t67.t4.t4 (cl (= @p_221 (! (=> @p_213 @p_215) :named @p_222))) :rule cong :premises (t67.t4.t2 t67.t4.t3))
+(step t67.t4 (cl (= @p_211 (! (forall ((veriT_vr32 Exp$)) @p_222) :named @p_225))) :rule bind)
+(step t67.t5 (cl (= @p_223 (! (=> @p_224 @p_225) :named @p_245))) :rule cong :premises (t67.t3 t67.t4))
+(anchor :step t67.t6 :args ((:= (veriT_vr26 Exp$) veriT_vr32)))
+(step t67.t6.t1 (cl (! (= veriT_vr26 veriT_vr32) :named @p_230)) :rule refl)
+(step t67.t6.t2 (cl (= @p_227 @p_213)) :rule cong :premises (t67.t6.t1))
+(anchor :step t67.t6.t3 :args ((:= (veriT_vr27 FreeExp$) veriT_vr33)))
+(step t67.t6.t3.t1 (cl @p_230) :rule refl)
+(step t67.t6.t3.t2 (cl (= veriT_vr27 veriT_vr33)) :rule refl)
+(step t67.t6.t3.t3 (cl (= @p_231 @p_218)) :rule cong :premises (t67.t6.t3.t2))
+(step t67.t6.t3.t4 (cl (= @p_232 @p_220)) :rule cong :premises (t67.t6.t3.t1 t67.t6.t3.t3))
+(step t67.t6.t3.t5 (cl (= @p_233 (! (not @p_220) :named @p_234))) :rule cong :premises (t67.t6.t3.t4))
+(step t67.t6.t3 (cl (= @p_228 (! (forall ((veriT_vr33 FreeExp$)) @p_234) :named @p_229))) :rule bind)
+(step t67.t6.t4 (cl (= @p_235 (! (not @p_229) :named @p_236))) :rule cong :premises (t67.t6.t3))
+(step t67.t6.t5 (cl (= @p_237 (! (=> @p_213 @p_236) :named @p_238))) :rule cong :premises (t67.t6.t2 t67.t6.t4))
+(step t67.t6 (cl (= @p_226 (! (forall ((veriT_vr32 Exp$)) @p_238) :named @p_243))) :rule bind)
+(anchor :step t67.t7 :args ((:= (veriT_vr28 FreeExp_list$) veriT_vr31)))
+(step t67.t7.t1 (cl (= veriT_vr28 veriT_vr31)) :rule refl)
+(step t67.t7.t2 (cl (= @p_240 @p_204)) :rule cong :premises (t67.t7.t1))
+(step t67.t7.t3 (cl (= @p_241 @p_206)) :rule cong :premises (t67.t7.t2))
+(step t67.t7 (cl (= @p_239 (! (exists ((veriT_vr31 FreeExp_list$)) @p_206) :named @p_244))) :rule bind)
+(step t67.t8 (cl (= @p_242 (! (=> @p_243 @p_244) :named @p_246))) :rule cong :premises (t67.t6 t67.t7))
+(step t67.t9 (cl (! (= @p_200 (! (and @p_245 @p_246) :named @p_249)) :named @p_247)) :rule cong :premises (t67.t5 t67.t8))
+(step t67.t10 (cl (not @p_247) (! (not @p_200) :named @p_248) @p_249) :rule equiv_pos2)
+(step t67.t11 (cl @p_249) :rule th_resolution :premises (t67.h1 t67.t9 t67.t10))
+(anchor :step t67.t12 :args ((:= (veriT_vr32 Exp$) veriT_vr34)))
+(step t67.t12.t1 (cl (! (= veriT_vr32 veriT_vr34) :named @p_252)) :rule refl)
+(step t67.t12.t2 (cl (= @p_213 (! (member$ veriT_vr34 @p_199) :named @p_250))) :rule cong :premises (t67.t12.t1))
+(anchor :step t67.t12.t3 :args ((:= (veriT_vr33 FreeExp$) veriT_vr35)))
+(step t67.t12.t3.t1 (cl @p_252) :rule refl)
+(step t67.t12.t3.t2 (cl (= veriT_vr33 veriT_vr35)) :rule refl)
+(step t67.t12.t3.t3 (cl (= @p_218 (! (fun_app$ uu$ veriT_vr35) :named @p_253))) :rule cong :premises (t67.t12.t3.t2))
+(step t67.t12.t3.t4 (cl (= @p_220 (! (= veriT_vr34 @p_253) :named @p_254))) :rule cong :premises (t67.t12.t3.t1 t67.t12.t3.t3))
+(step t67.t12.t3.t5 (cl (= @p_234 (! (not @p_254) :named @p_255))) :rule cong :premises (t67.t12.t3.t4))
+(step t67.t12.t3 (cl (= @p_229 (! (forall ((veriT_vr35 FreeExp$)) @p_255) :named @p_251))) :rule bind)
+(step t67.t12.t4 (cl (= @p_236 (! (not @p_251) :named @p_256))) :rule cong :premises (t67.t12.t3))
+(step t67.t12.t5 (cl (= @p_238 (! (=> @p_250 @p_256) :named @p_257))) :rule cong :premises (t67.t12.t2 t67.t12.t4))
+(step t67.t12 (cl (= @p_243 (! (forall ((veriT_vr34 Exp$)) @p_257) :named @p_260))) :rule bind)
+(anchor :step t67.t13 :args ((:= (veriT_vr31 FreeExp_list$) veriT_vr36)))
+(step t67.t13.t1 (cl (= veriT_vr31 veriT_vr36)) :rule refl)
+(step t67.t13.t2 (cl (= @p_204 (! (map2$ uu$ veriT_vr36) :named @p_258))) :rule cong :premises (t67.t13.t1))
+(step t67.t13.t3 (cl (= @p_206 (! (= z$ @p_258) :named @p_259))) :rule cong :premises (t67.t13.t2))
+(step t67.t13 (cl (= @p_244 (! (exists ((veriT_vr36 FreeExp_list$)) @p_259) :named @p_261))) :rule bind)
+(step t67.t14 (cl (= @p_246 (! (=> @p_260 @p_261) :named @p_262))) :rule cong :premises (t67.t12 t67.t13))
+(step t67.t15 (cl (! (= @p_249 (! (and @p_245 @p_262) :named @p_264)) :named @p_263)) :rule cong :premises (t67.t14))
+(step t67.t16 (cl (not @p_263) (not @p_249) @p_264) :rule equiv_pos2)
+(step t67.t17 (cl @p_264) :rule th_resolution :premises (t67.t11 t67.t15 t67.t16))
+(anchor :step t67.t18 :args ((:= (veriT_vr31 FreeExp_list$) veriT_vr37)))
+(step t67.t18.t1 (cl (= veriT_vr31 veriT_vr37)) :rule refl)
+(step t67.t18.t2 (cl (= @p_204 (! (map2$ uu$ veriT_vr37) :named @p_265))) :rule cong :premises (t67.t18.t1))
+(step t67.t18.t3 (cl (= @p_206 (! (= z$ @p_265) :named @p_266))) :rule cong :premises (t67.t18.t2))
+(step t67.t18.t4 (cl (= @p_208 (! (not @p_266) :named @p_267))) :rule cong :premises (t67.t18.t3))
+(step t67.t18 (cl (= @p_210 (! (forall ((veriT_vr37 FreeExp_list$)) @p_267) :named @p_268))) :rule bind)
+(step t67.t19 (cl (= @p_224 (! (not @p_268) :named @p_275))) :rule cong :premises (t67.t18))
+(anchor :step t67.t20 :args ((:= (veriT_vr32 Exp$) veriT_vr38)))
+(step t67.t20.t1 (cl (! (= veriT_vr32 veriT_vr38) :named @p_271)) :rule refl)
+(step t67.t20.t2 (cl (= @p_213 (! (member$ veriT_vr38 @p_199) :named @p_269))) :rule cong :premises (t67.t20.t1))
+(anchor :step t67.t20.t3 :args ((:= (veriT_vr33 FreeExp$) veriT_vr39)))
+(step t67.t20.t3.t1 (cl @p_271) :rule refl)
+(step t67.t20.t3.t2 (cl (= veriT_vr33 veriT_vr39)) :rule refl)
+(step t67.t20.t3.t3 (cl (= @p_218 (! (fun_app$ uu$ veriT_vr39) :named @p_272))) :rule cong :premises (t67.t20.t3.t2))
+(step t67.t20.t3.t4 (cl (= @p_220 (! (= veriT_vr38 @p_272) :named @p_273))) :rule cong :premises (t67.t20.t3.t1 t67.t20.t3.t3))
+(step t67.t20.t3 (cl (= @p_215 (! (exists ((veriT_vr39 FreeExp$)) @p_273) :named @p_270))) :rule bind)
+(step t67.t20.t4 (cl (= @p_222 (! (=> @p_269 @p_270) :named @p_274))) :rule cong :premises (t67.t20.t2 t67.t20.t3))
+(step t67.t20 (cl (= @p_225 (! (forall ((veriT_vr38 Exp$)) @p_274) :named @p_276))) :rule bind)
+(step t67.t21 (cl (= @p_245 (! (=> @p_275 @p_276) :named @p_289))) :rule cong :premises (t67.t19 t67.t20))
+(anchor :step t67.t22 :args ((:= (veriT_vr34 Exp$) veriT_vr40)))
+(step t67.t22.t1 (cl (! (= veriT_vr34 veriT_vr40) :named @p_280)) :rule refl)
+(step t67.t22.t2 (cl (= @p_250 @p_278)) :rule cong :premises (t67.t22.t1))
+(anchor :step t67.t22.t3 :args ((:= (veriT_vr35 FreeExp$) veriT_vr41)))
+(step t67.t22.t3.t1 (cl @p_280) :rule refl)
+(step t67.t22.t3.t2 (cl (= veriT_vr35 veriT_vr41)) :rule refl)
+(step t67.t22.t3.t3 (cl (= @p_253 @p_281)) :rule cong :premises (t67.t22.t3.t2))
+(step t67.t22.t3.t4 (cl (= @p_254 @p_282)) :rule cong :premises (t67.t22.t3.t1 t67.t22.t3.t3))
+(step t67.t22.t3.t5 (cl (= @p_255 @p_283)) :rule cong :premises (t67.t22.t3.t4))
+(step t67.t22.t3 (cl (= @p_251 @p_279)) :rule bind)
+(step t67.t22.t4 (cl (= @p_256 @p_284)) :rule cong :premises (t67.t22.t3))
+(step t67.t22.t5 (cl (= @p_257 @p_277)) :rule cong :premises (t67.t22.t2 t67.t22.t4))
+(step t67.t22 (cl (= @p_260 (! (forall ((veriT_vr40 Exp$)) @p_277) :named @p_287))) :rule bind)
+(anchor :step t67.t23 :args ((:= (veriT_vr36 FreeExp_list$) veriT_vr42)))
+(step t67.t23.t1 (cl (= veriT_vr36 veriT_vr42)) :rule refl)
+(step t67.t23.t2 (cl (= @p_258 @p_286)) :rule cong :premises (t67.t23.t1))
+(step t67.t23.t3 (cl (= @p_259 @p_285)) :rule cong :premises (t67.t23.t2))
+(step t67.t23 (cl (= @p_261 (! (exists ((veriT_vr42 FreeExp_list$)) @p_285) :named @p_288))) :rule bind)
+(step t67.t24 (cl (= @p_262 (! (=> @p_287 @p_288) :named @p_290))) :rule cong :premises (t67.t22 t67.t23))
+(step t67.t25 (cl (! (= @p_264 (! (and @p_289 @p_290) :named @p_292)) :named @p_291)) :rule cong :premises (t67.t21 t67.t24))
+(step t67.t26 (cl (not @p_291) (not @p_264) @p_292) :rule equiv_pos2)
+(step t67.t27 (cl @p_292) :rule th_resolution :premises (t67.t17 t67.t25 t67.t26))
+(anchor :step t67.t28 :args ((:= (veriT_vr40 Exp$) veriT_sk0)))
+(step t67.t28.t1 (cl (! (= veriT_vr40 veriT_sk0) :named @p_295)) :rule refl)
+(step t67.t28.t2 (cl (= @p_278 (! (member$ veriT_sk0 @p_199) :named @p_293))) :rule cong :premises (t67.t28.t1))
+(anchor :step t67.t28.t3 :args ((veriT_vr41 FreeExp$)))
+(step t67.t28.t3.t1 (cl @p_295) :rule refl)
+(step t67.t28.t3.t2 (cl (= @p_282 (! (= @p_281 veriT_sk0) :named @p_296))) :rule cong :premises (t67.t28.t3.t1))
+(step t67.t28.t3.t3 (cl (= @p_283 (! (not @p_296) :named @p_297))) :rule cong :premises (t67.t28.t3.t2))
+(step t67.t28.t3 (cl (= @p_279 (! (forall ((veriT_vr41 FreeExp$)) @p_297) :named @p_294))) :rule bind)
+(step t67.t28.t4 (cl (= @p_284 (! (not @p_294) :named @p_298))) :rule cong :premises (t67.t28.t3))
+(step t67.t28.t5 (cl (= @p_277 (! (=> @p_293 @p_298) :named @p_299))) :rule cong :premises (t67.t28.t2 t67.t28.t4))
+(step t67.t28 (cl (= @p_287 @p_299)) :rule sko_forall)
+(anchor :step t67.t29 :args ((:= (veriT_vr42 FreeExp_list$) veriT_sk1)))
+(step t67.t29.t1 (cl (= veriT_vr42 veriT_sk1)) :rule refl)
+(step t67.t29.t2 (cl (= @p_286 (! (map2$ uu$ veriT_sk1) :named @p_302))) :rule cong :premises (t67.t29.t1))
+(step t67.t29.t3 (cl (= @p_285 (! (= z$ @p_302) :named @p_300))) :rule cong :premises (t67.t29.t2))
+(step t67.t29 (cl (= @p_288 @p_300)) :rule sko_ex)
+(step t67.t30 (cl (= @p_290 (! (=> @p_299 @p_300) :named @p_303))) :rule cong :premises (t67.t28 t67.t29))
+(step t67.t31 (cl (! (= @p_292 (! (and @p_289 @p_303) :named @p_305)) :named @p_304)) :rule cong :premises (t67.t30))
+(step t67.t32 (cl (not @p_304) (not @p_292) @p_305) :rule equiv_pos2)
+(step t67.t33 (cl @p_305) :rule th_resolution :premises (t67.t27 t67.t31 t67.t32))
+(anchor :step t67.t34 :args ((:= (veriT_vr37 FreeExp_list$) veriT_vr43)))
+(step t67.t34.t1 (cl (= veriT_vr37 veriT_vr43)) :rule refl)
+(step t67.t34.t2 (cl (= @p_265 (! (map2$ uu$ veriT_vr43) :named @p_307))) :rule cong :premises (t67.t34.t1))
+(step t67.t34.t3 (cl (= @p_266 (! (= z$ @p_307) :named @p_308))) :rule cong :premises (t67.t34.t2))
+(step t67.t34.t4 (cl (= @p_267 (! (not @p_308) :named @p_309))) :rule cong :premises (t67.t34.t3))
+(step t67.t34 (cl (= @p_268 (! (forall ((veriT_vr43 FreeExp_list$)) @p_309) :named @p_306))) :rule bind)
+(step t67.t35 (cl (= @p_275 (! (not @p_306) :named @p_310))) :rule cong :premises (t67.t34))
+(anchor :step t67.t36 :args ((:= (veriT_vr38 Exp$) veriT_vr44)))
+(step t67.t36.t1 (cl (! (= veriT_vr38 veriT_vr44) :named @p_314)) :rule refl)
+(step t67.t36.t2 (cl (= @p_269 (! (member$ veriT_vr44 @p_199) :named @p_312))) :rule cong :premises (t67.t36.t1))
+(anchor :step t67.t36.t3 :args ((:= (veriT_vr39 FreeExp$) veriT_vr45)))
+(step t67.t36.t3.t1 (cl @p_314) :rule refl)
+(step t67.t36.t3.t2 (cl (= veriT_vr39 veriT_vr45)) :rule refl)
+(step t67.t36.t3.t3 (cl (= @p_272 (! (fun_app$ uu$ veriT_vr45) :named @p_315))) :rule cong :premises (t67.t36.t3.t2))
+(step t67.t36.t3.t4 (cl (= @p_273 (! (= veriT_vr44 @p_315) :named @p_316))) :rule cong :premises (t67.t36.t3.t1 t67.t36.t3.t3))
+(step t67.t36.t3 (cl (= @p_270 (! (exists ((veriT_vr45 FreeExp$)) @p_316) :named @p_313))) :rule bind)
+(step t67.t36.t4 (cl (= @p_274 (! (=> @p_312 @p_313) :named @p_317))) :rule cong :premises (t67.t36.t2 t67.t36.t3))
+(step t67.t36 (cl (= @p_276 (! (forall ((veriT_vr44 Exp$)) @p_317) :named @p_311))) :rule bind)
+(step t67.t37 (cl (= @p_289 (! (=> @p_310 @p_311) :named @p_318))) :rule cong :premises (t67.t35 t67.t36))
+(anchor :step t67.t38 :args ((:= (veriT_vr41 FreeExp$) veriT_vr45)))
+(step t67.t38.t1 (cl (= veriT_vr41 veriT_vr45)) :rule refl)
+(step t67.t38.t2 (cl (= @p_281 @p_315)) :rule cong :premises (t67.t38.t1))
+(step t67.t38.t3 (cl (= @p_296 (! (= veriT_sk0 @p_315) :named @p_319))) :rule cong :premises (t67.t38.t2))
+(step t67.t38.t4 (cl (= @p_297 (! (not @p_319) :named @p_320))) :rule cong :premises (t67.t38.t3))
+(step t67.t38 (cl (= @p_294 (! (forall ((veriT_vr45 FreeExp$)) @p_320) :named @p_321))) :rule bind)
+(step t67.t39 (cl (= @p_298 (! (not @p_321) :named @p_322))) :rule cong :premises (t67.t38))
+(step t67.t40 (cl (= @p_299 (! (=> @p_293 @p_322) :named @p_323))) :rule cong :premises (t67.t39))
+(step t67.t41 (cl (= @p_303 (! (=> @p_323 @p_300) :named @p_324))) :rule cong :premises (t67.t40))
+(step t67.t42 (cl (! (= @p_305 (! (and @p_318 @p_324) :named @p_326)) :named @p_325)) :rule cong :premises (t67.t37 t67.t41))
+(step t67.t43 (cl (not @p_325) (not @p_305) @p_326) :rule equiv_pos2)
+(step t67.t44 (cl @p_326) :rule th_resolution :premises (t67.t33 t67.t42 t67.t43))
+(anchor :step t67.t45 :args ((:= (veriT_vr45 FreeExp$) veriT_vr46)))
+(step t67.t45.t1 (cl (= veriT_vr45 veriT_vr46)) :rule refl)
+(step t67.t45.t2 (cl (= @p_315 (! (fun_app$ uu$ veriT_vr46) :named @p_328))) :rule cong :premises (t67.t45.t1))
+(step t67.t45.t3 (cl (= @p_319 (! (= veriT_sk0 @p_328) :named @p_329))) :rule cong :premises (t67.t45.t2))
+(step t67.t45.t4 (cl (= @p_320 (! (not @p_329) :named @p_330))) :rule cong :premises (t67.t45.t3))
+(step t67.t45 (cl (= @p_321 (! (forall ((veriT_vr46 FreeExp$)) @p_330) :named @p_327))) :rule bind)
+(step t67.t46 (cl (= @p_322 (! (not @p_327) :named @p_331))) :rule cong :premises (t67.t45))
+(step t67.t47 (cl (= @p_323 (! (=> @p_293 @p_331) :named @p_332))) :rule cong :premises (t67.t46))
+(step t67.t48 (cl (= @p_324 (! (=> @p_332 @p_300) :named @p_333))) :rule cong :premises (t67.t47))
+(step t67.t49 (cl (! (= @p_326 (! (and @p_318 @p_333) :named @p_334)) :named @p_335)) :rule cong :premises (t67.t48))
+(step t67.t50 (cl (not @p_335) (not @p_326) @p_334) :rule equiv_pos2)
+(step t67.t51 (cl @p_334) :rule th_resolution :premises (t67.t44 t67.t49 t67.t50))
+(step t67 (cl @p_248 @p_334) :rule subproof :discharge (h1))
+(step t68 (cl @p_336 @p_200) :rule or :premises (t66))
+(step t69 (cl (! (or @p_336 @p_334) :named @p_338) (! (not @p_336) :named @p_337)) :rule or_neg)
+(step t70 (cl (not @p_337) @p_175) :rule not_not)
+(step t71 (cl @p_338 @p_175) :rule th_resolution :premises (t70 t69))
+(step t72 (cl @p_338 (! (not @p_334) :named @p_340)) :rule or_neg)
+(step t73 (cl @p_338) :rule th_resolution :premises (t68 t67 t71 t72))
+(step t74 (cl @p_332 (! (not @p_331) :named @p_339)) :rule implies_neg2)
+(step t75 (cl (not @p_339) @p_327) :rule not_not)
+(step t76 (cl @p_332 @p_327) :rule th_resolution :premises (t75 t74))
+(step t77 (cl (not @p_333) (! (not @p_332) :named @p_393) @p_300) :rule implies_pos)
+(step t78 (cl @p_340 @p_333) :rule and_pos)
+(step t79 (cl @p_336 @p_334) :rule or :premises (t73))
+(step t80 (cl @p_334) :rule resolution :premises (t79 t44))
+(step t81 (cl @p_333) :rule resolution :premises (t78 t80))
+(step t82 (cl (or (! (not @p_70) :named @p_377) (! (not (! (forall ((veriT_vr7 FreeExp$)) (! (not (! (= @p_65 veriT_sk0) :named @p_346)) :named @p_348)) :named @p_342)) :named @p_341))) :rule forall_inst :args ((:= veriT_vr6 veriT_sk0)))
+(anchor :step t83)
+(assume t83.h1 @p_341)
+(anchor :step t83.t2 :args ((:= (veriT_vr7 FreeExp$) veriT_vr47)))
+(step t83.t2.t1 (cl (= veriT_vr7 veriT_vr47)) :rule refl)
+(step t83.t2.t2 (cl (= @p_63 (! (insert$ veriT_vr47 bot$) :named @p_343))) :rule cong :premises (t83.t2.t1))
+(step t83.t2.t3 (cl (= @p_64 (! (myImage$ exprel$ @p_343) :named @p_344))) :rule cong :premises (t83.t2.t2))
+(step t83.t2.t4 (cl (= @p_65 (! (abs_Exp$ @p_344) :named @p_345))) :rule cong :premises (t83.t2.t3))
+(step t83.t2.t5 (cl (= @p_346 (! (= veriT_sk0 @p_345) :named @p_347))) :rule cong :premises (t83.t2.t4))
+(step t83.t2.t6 (cl (= @p_348 (! (not @p_347) :named @p_349))) :rule cong :premises (t83.t2.t5))
+(step t83.t2 (cl (= @p_342 (! (forall ((veriT_vr47 FreeExp$)) @p_349) :named @p_350))) :rule bind)
+(step t83.t3 (cl (! (= @p_341 (! (not @p_350) :named @p_353)) :named @p_351)) :rule cong :premises (t83.t2))
+(step t83.t4 (cl (! (not @p_351) :named @p_354) (! (not @p_341) :named @p_352) @p_353) :rule equiv_pos2)
+(step t83.t5 (cl (! (not @p_352) :named @p_376) @p_342) :rule not_not)
+(step t83.t6 (cl @p_354 @p_342 @p_353) :rule th_resolution :premises (t83.t5 t83.t4))
+(step t83.t7 (cl @p_353) :rule th_resolution :premises (t83.h1 t83.t3 t83.t6))
+(anchor :step t83.t8 :args ((:= (veriT_vr47 FreeExp$) veriT_vr48)))
+(step t83.t8.t1 (cl (= veriT_vr47 veriT_vr48)) :rule refl)
+(step t83.t8.t2 (cl (= @p_343 @p_356)) :rule cong :premises (t83.t8.t1))
+(step t83.t8.t3 (cl (= @p_344 @p_357)) :rule cong :premises (t83.t8.t2))
+(step t83.t8.t4 (cl (= @p_345 @p_358)) :rule cong :premises (t83.t8.t3))
+(step t83.t8.t5 (cl (= @p_347 @p_359)) :rule cong :premises (t83.t8.t4))
+(step t83.t8.t6 (cl (= @p_349 @p_355)) :rule cong :premises (t83.t8.t5))
+(step t83.t8 (cl (= @p_350 (! (forall ((veriT_vr48 FreeExp$)) @p_355) :named @p_360))) :rule bind)
+(step t83.t9 (cl (! (= @p_353 (! (not @p_360) :named @p_362)) :named @p_361)) :rule cong :premises (t83.t8))
+(step t83.t10 (cl (! (not @p_361) :named @p_364) (! (not @p_353) :named @p_363) @p_362) :rule equiv_pos2)
+(step t83.t11 (cl (not @p_363) @p_350) :rule not_not)
+(step t83.t12 (cl @p_364 @p_350 @p_362) :rule th_resolution :premises (t83.t11 t83.t10))
+(step t83.t13 (cl @p_362) :rule th_resolution :premises (t83.t7 t83.t9 t83.t12))
+(anchor :step t83.t14 :args ((:= (veriT_vr48 FreeExp$) veriT_sk2)))
+(step t83.t14.t1 (cl (= veriT_vr48 veriT_sk2)) :rule refl)
+(step t83.t14.t2 (cl (= @p_356 (! (insert$ veriT_sk2 bot$) :named @p_367))) :rule cong :premises (t83.t14.t1))
+(step t83.t14.t3 (cl (= @p_357 (! (myImage$ exprel$ @p_367) :named @p_368))) :rule cong :premises (t83.t14.t2))
+(step t83.t14.t4 (cl (= @p_358 (! (abs_Exp$ @p_368) :named @p_369))) :rule cong :premises (t83.t14.t3))
+(step t83.t14.t5 (cl (= @p_359 (! (= veriT_sk0 @p_369) :named @p_365))) :rule cong :premises (t83.t14.t4))
+(step t83.t14.t6 (cl (= @p_355 (! (not @p_365) :named @p_370))) :rule cong :premises (t83.t14.t5))
+(step t83.t14 (cl (= @p_360 @p_370)) :rule sko_forall)
+(step t83.t15 (cl (! (= @p_362 (! (not @p_370) :named @p_372)) :named @p_371)) :rule cong :premises (t83.t14))
+(step t83.t16 (cl (! (not @p_371) :named @p_374) (! (not @p_362) :named @p_373) @p_372) :rule equiv_pos2)
+(step t83.t17 (cl (not @p_373) @p_360) :rule not_not)
+(step t83.t18 (cl @p_374 @p_360 @p_372) :rule th_resolution :premises (t83.t17 t83.t16))
+(step t83.t19 (cl (! (not @p_372) :named @p_375) @p_365) :rule not_not)
+(step t83.t20 (cl @p_374 @p_360 @p_365) :rule th_resolution :premises (t83.t19 t83.t18))
+(step t83.t21 (cl @p_372) :rule th_resolution :premises (t83.t13 t83.t15 t83.t20))
+(step t83.t22 (cl @p_375 @p_365) :rule not_not)
+(step t83.t23 (cl @p_365) :rule th_resolution :premises (t83.t22 t83.t21))
+(step t83.t24 (cl (= @p_372 @p_365)) :rule not_simplify)
+(step t83.t25 (cl @p_365) :rule th_resolution :premises (t83.t23 t83.t24))
+(step t83 (cl @p_352 @p_365) :rule subproof :discharge (h1))
+(step t84 (cl @p_376 @p_342) :rule not_not)
+(step t85 (cl @p_342 @p_365) :rule th_resolution :premises (t84 t83))
+(step t86 (cl @p_377 @p_341) :rule or :premises (t82))
+(step t87 (cl (! (or @p_377 @p_365) :named @p_379) (! (not @p_377) :named @p_378)) :rule or_neg)
+(step t88 (cl (not @p_378) @p_70) :rule not_not)
+(step t89 (cl @p_379 @p_70) :rule th_resolution :premises (t88 t87))
+(step t90 (cl @p_379 @p_370) :rule or_neg)
+(step t91 (cl @p_379) :rule th_resolution :premises (t86 t85 t89 t90))
+(step t92 (cl @p_377 @p_365) :rule or :premises (t91))
+(step t93 (cl @p_365) :rule resolution :premises (t92 t26))
+(step t94 (cl (or @p_331 (! (not (! (= veriT_sk0 (! (fun_app$ uu$ veriT_sk2) :named @p_381)) :named @p_392)) :named @p_382))) :rule forall_inst :args ((:= veriT_vr46 veriT_sk2)))
+(step t95 (cl (or @p_193 (! (not (! (= z$ (! (abs_ExpList$ veriT_sk1) :named @p_380)) :named @p_389)) :named @p_383))) :rule forall_inst :args ((:= veriT_vr30 veriT_sk1)))
+(step t96 (cl (or (! (not @p_38) :named @p_384) (! (= @p_302 @p_380) :named @p_385))) :rule forall_inst :args ((:= veriT_vr3 veriT_sk1)))
+(step t97 (cl (or (! (not @p_23) :named @p_386) (! (= @p_369 @p_381) :named @p_387))) :rule forall_inst :args ((:= veriT_vr1 veriT_sk2)))
+(step t98 (cl @p_331 @p_382) :rule or :premises (t94))
+(step t99 (cl @p_193 @p_383) :rule or :premises (t95))
+(step t100 (cl @p_383) :rule resolution :premises (t99 t65))
+(step t101 (cl @p_384 @p_385) :rule or :premises (t96))
+(step t102 (cl @p_385) :rule resolution :premises (t101 t17))
+(step t103 (cl @p_386 @p_387) :rule or :premises (t97))
+(step t104 (cl @p_387) :rule resolution :premises (t103 t11))
+(step t105 (cl (! (= z$ z$) :named @p_388)) :rule eq_reflexive)
+(step t106 (cl (not @p_388) (! (not @p_300) :named @p_390) (! (not @p_385) :named @p_391) @p_389) :rule eq_transitive)
+(step t107 (cl @p_390 @p_391 @p_389) :rule th_resolution :premises (t106 t105))
+(step t108 (cl @p_390) :rule resolution :premises (t107 t100 t102))
+(step t109 (cl @p_370 (not @p_387) @p_392) :rule eq_transitive)
+(step t110 (cl @p_392) :rule resolution :premises (t109 t93 t104))
+(step t111 (cl @p_393) :rule resolution :premises (t77 t108 t81))
+(step t112 (cl @p_331) :rule resolution :premises (t98 t110))
+(step t113 (cl) :rule resolution :premises (t76 t111 t112))
+c24fc06f55d92aed7783d8234aedb7ced3e99be7 2 0
+(error "status is not unsat.")
+unknown
--- a/src/HOL/SMT_Examples/SMT_Examples_Verit.thy	Sun Aug 21 14:01:59 2022 +0000
+++ b/src/HOL/SMT_Examples/SMT_Examples_Verit.thy	Mon Aug 22 06:27:28 2022 +0200
@@ -15,7 +15,7 @@
 external_file \<open>SMT_Examples_Verit.certs\<close>
 
 declare [[smt_certificates = "SMT_Examples_Verit.certs"]]
-declare [[smt_read_only_certificates = true]]
+declare [[smt_read_only_certificates = false]]
 
 
 section \<open>Propositional and first-order logic\<close>
@@ -737,4 +737,82 @@
 
 lemma "g (Some (3::int)) = g (Some True)" by (smt (verit) g1 g2 g3 list.size)
 
+experiment
+begin
+
+lemma duplicate_goal: \<open>A \<Longrightarrow> A \<Longrightarrow> A\<close>
+  by auto
+
+datatype 'a M_nres = is_fail: FAIL | SPEC "'a \<Rightarrow> bool"
+
+definition "is_res m x \<equiv> case m of FAIL \<Rightarrow> True | SPEC P \<Rightarrow> P x"
+
+datatype ('a,'s) M_state = M_STATE (run: "'s \<Rightarrow> ('a\<times>'s) M_nres")
+
+(*Courtesy of Peter Lammich
+https://isabelle.zulipchat.com/#narrow/stream/247541-Mirror.3A-Isabelle-Users-Mailing-List/topic/.5Bisabelle.5D.20smt.20.28verit.29.3A.20exception.20THM.200.20raised.20.28line.20312.20.2E.2E.2E/near/290088165
+*)
+lemma "\<lbrakk>\<forall>x y. (\<forall>xa s. is_fail (run (x xa) s) \<or>
+		   is_fail (run (y xa) s) = is_fail (run (x xa) s) \<and>
+		   (\<forall>a b. is_res (run (y xa) s) (a, b) = is_res (run (x xa) s) (a, b)))
+\<longrightarrow>
+	   (\<forall>s. is_fail (run (B x) s) \<or>
+		is_fail (run (B y) s) = is_fail (run (B x) s) \<and>
+		(\<forall>a b. is_res (run (B y) s) (a, b) = is_res (run (B x) s) (a, b)));
+     \<And>y. \<forall>x ya. (\<forall>xa s. is_fail (run (x xa) s) \<or>
+			 is_fail (run (ya xa) s) = is_fail (run (x xa) s) \<and>
+			 (\<forall>a b. is_res (run (ya xa) s) (a, b) = is_res (run (x xa) s) (a, b)))
+\<longrightarrow>
+		 (\<forall>s. is_fail (run (C y x) s) \<or>
+		      is_fail (run (C y ya) s) = is_fail (run (C y x) s) \<and>
+		      (\<forall>a b. is_res (run (C y ya) s) (a, b) = is_res (run (C y x) s) (a,
+b)))\<rbrakk>
+    \<Longrightarrow> \<forall>x y. (\<forall>xa s.
+		  is_fail (run (x xa) s) \<or>
+		  is_fail (run (y xa) s) = is_fail (run (x xa) s) \<and>
+		  (\<forall>a b. is_res (run (y xa) s) (a, b) = is_res (run (x xa) s) (a, b)))
+\<longrightarrow>
+	      (\<forall>s. is_fail (run (B x) s) \<or>
+		   (\<exists>a b. is_res (run (B x) s) (a, b) \<and> is_fail (run (C a x) b)) \<or>
+		   (is_fail (run (B y) s) \<or> (\<exists>a b. is_res (run (B y) s) (a, b) \<and>
+is_fail (run (C a y) b))) =
+		   (is_fail (run (B x) s) \<or> (\<exists>a b. is_res (run (B x) s) (a, b) \<and>
+is_fail (run (C a x) b))) \<and>
+		   (\<forall>a b. (is_fail (run (B y) s) \<or>
+			   (\<exists>aa ba. is_res (run (B y) s) (aa, ba) \<and> is_res (run (C aa y)
+ba) (a, b))) =
+			  (is_fail (run (B x) s) \<or>
+			   (\<exists>aa ba. is_res (run (B x) s) (aa, ba) \<and> is_res (run (C aa x)
+ba) (a, b)))))"  
+  apply (rule duplicate_goal)
+  subgoal
+    supply [[verit_compress_proofs=true]]
+    by (smt (verit))
+  subgoal
+    supply [[verit_compress_proofs=false]]
+    by (smt (verit))
+  done
+
+(*Example of Reordering in skolemization*)
+lemma
+  fixes Abs_ExpList :: "'freeExp_list \<Rightarrow> 'exp_list" and
+    Abs_Exp:: "'freeExp_set \<Rightarrow> 'exp" and
+    exprel:: "('freeExp \<times> 'freeExp) set" and
+    map2 :: "('freeExp \<Rightarrow> 'exp) \<Rightarrow> 'freeExp_list \<Rightarrow> 'exp_list"
+  assumes "\<And>Xs. Abs_ExpList Xs \<equiv>  map2 (\<lambda>U. Abs_Exp (myImage exprel {U})) Xs"
+    "\<And>P z. (\<And>U. z = Abs_Exp (myImage exprel {U}) \<Longrightarrow> P) \<Longrightarrow> P"
+    "\<And>(ys::'exp_list) (f::'freeExp \<Rightarrow> _). (\<exists>xs. ys = map2 f xs) = (\<forall>y\<in>myset ys. \<exists>x. y = f x)"
+  shows "\<exists>Us. z = Abs_ExpList Us"
+  apply (rule duplicate_goal)
+  subgoal
+    supply [[verit_compress_proofs=true]]
+    using assms
+    by (smt (verit,del_insts))
+  subgoal
+    using assms
+    supply [[verit_compress_proofs=false]]
+    by (smt (verit,del_insts))
+  done
+
+end
 end
\ No newline at end of file
--- a/src/HOL/Tools/SMT/lethe_proof.ML	Sun Aug 21 14:01:59 2022 +0000
+++ b/src/HOL/Tools/SMT/lethe_proof.ML	Mon Aug 22 06:27:28 2022 +0200
@@ -48,6 +48,7 @@
   val simp_arith_rule : string
   val lethe_deep_skolemize_rule : string
   val lethe_def : string
+  val is_lethe_def : string -> bool
   val subproof_rule : string
   val local_input_rule : string
   val not_not_rule : string
@@ -145,6 +146,7 @@
 val th_resolution_rule = "th_resolution"
 val and_pos_rule = "and_pos"
 
+val is_lethe_def = String.isSuffix lethe_def
 val skolemization_steps = ["sko_forall", "sko_ex"]
 val is_skolemization = member (op =) skolemization_steps
 val keep_app_symbols = member (op =) [eq_congruent_pred_rule, eq_congruent_rule, ite_intro_rule, and_pos_rule]
@@ -546,10 +548,9 @@
 
       (* fix step *)
       val _ = if bounds <> [] then raise (Fail "found dangling variable in concl") else ()
-
       val skolem_defs = (if is_skolemization rule
          then map (fn id => id ^ lethe_def) (skolems_introduced_by_rule (SMTLIB.S (map fst args))) else [])
-      val skolems_of_subproof = (if is_skolemization rule
+      val skolems_of_subproof = (if compress andalso is_skolemization rule
          then flat (map collect_skolem_defs subproof) else [])
       val fixed_prems =
         prems @ (if is_assm_repetition id rule then [id] else []) @
--- a/src/HOL/Tools/SMT/lethe_replay_methods.ML	Sun Aug 21 14:01:59 2022 +0000
+++ b/src/HOL/Tools/SMT/lethe_replay_methods.ML	Mon Aug 22 06:27:28 2022 +0200
@@ -404,6 +404,14 @@
   #> extract_all_exists_quantified_names_q
 
 
+fun extract_all_forall_exists_quantified_names_q (Const(\<^const_name>\<open>HOL.Ex\<close>, _) $ Abs (name, _, t)) =
+      name :: (extract_all_forall_exists_quantified_names_q t)
+  | extract_all_forall_exists_quantified_names_q (Const(\<^const_name>\<open>HOL.All\<close>, _) $ Abs (name, _, t)) =
+      name :: (extract_all_forall_exists_quantified_names_q t)
+  | extract_all_forall_exists_quantified_names_q (t $ u) =
+      extract_all_forall_exists_quantified_names_q t @ extract_all_forall_exists_quantified_names_q u
+  | extract_all_forall_exists_quantified_names_q _ = []
+
 val extract_bind_names =
    HOLogic.dest_eq
    #> apply2 (fn (Free (name, _)) => name)
@@ -482,7 +490,8 @@
         in
            (Method.insert_tac ctxt [inst_thm]
            THEN' TRY' (fn i => assume_tac ctxt i)
-           THEN' TRY' (partial_simplify_tac ctxt @{thms eq_commute})) i
+           THEN' TRY' (partial_simplify_tac ctxt @{thms eq_commute ac_simps})
+           THEN' TRY' (blast_tac ctxt)) i
         end
      | instantiate_and_solve _ ({context = ctxt, prems = thms, ...}: Subgoal.focus) =
          replay_error ctxt "invalid application" Forall_Inst thms t
@@ -510,7 +519,12 @@
   resolve_tac ctxt implies_pos_thm)
 
 (* Skolemization *)
-
+local
+  fun split _ [] = ([], [])
+    | split f (a :: xs) =
+        split f xs
+        |> (if f a then apfst (curry (op ::) a) else apsnd (curry (op ::) a))
+in
 fun extract_rewrite_rule_assumption _ thms =
   let
     fun is_rewrite_rule thm =
@@ -521,23 +535,34 @@
       (case Thm.prop_of thm of
         \<^term>\<open>Trueprop\<close> $ (Const(\<^const_name>\<open>HOL.eq\<close>, _) $ Free(_, _) $ Free(_, _)) => true
       | _ => false)
-    val ctxt_eq =
+    val (ctxt_eq, other) =
       thms
-      |> filter is_context_rule
-    val rew =
-      thms
-      |> filter_out is_context_rule
-      |> filter is_rewrite_rule
+      |> split is_context_rule
+    val (rew, other) =
+      other
+      |> split is_rewrite_rule
   in
-    (ctxt_eq, rew)
+    (ctxt_eq, rew, other)
   end
+end
+(*
+Without compression, we have to rewrite skolems only once. However, it can happen than the same
+skolem constant is used multiple times with a different name under the forall.
 
+For strictness, we use the multiple rewriting only when compressing is activated.
+*)
 local
-  fun rewrite_all_skolems thm_indirect ctxt (SOME thm :: thms) =
-     EqSubst.eqsubst_tac ctxt [0] [thm_indirect OF [thm]]
-     THEN' (partial_simplify_tac ctxt (@{thms eq_commute}))
-     THEN' rewrite_all_skolems thm_indirect ctxt thms
-   | rewrite_all_skolems thm_indirect ctxt (NONE :: thms) = rewrite_all_skolems thm_indirect ctxt thms
+  fun rewrite_all_skolems thm_indirect ctxt ((v,SOME thm) :: thms) =
+     let
+       val rewrite_sk_thms =
+         List.mapPartial (fn tm => SOME (tm OF [thm]) handle THM _ => NONE) thm_indirect
+       val multiple_rew = if SMT_Config.compress_verit_proofs ctxt then REPEAT_CHANGED else fn x => x
+     in
+       multiple_rew (EqSubst.eqsubst_tac ctxt [0] rewrite_sk_thms
+         THEN' SOLVED' (K (HEADGOAL (partial_simplify_tac ctxt (@{thms eq_commute})))))
+       THEN' rewrite_all_skolems thm_indirect ctxt thms
+     end
+   | rewrite_all_skolems thm_indirect ctxt ((_,NONE) :: thms) = rewrite_all_skolems thm_indirect ctxt thms
    | rewrite_all_skolems _ _ [] = K (all_tac)
 
    fun extract_var_name (thm :: thms) =
@@ -552,30 +577,31 @@
 
 fun skolem_tac extractor thm1 thm2 ctxt thms t  =
   let
-    val (ctxt_eq, ts) = extract_rewrite_rule_assumption ctxt thms
+    val (ctxt_eq, ts, other) = extract_rewrite_rule_assumption ctxt thms
+
     fun ordered_definitions () =
       let
         val var_order = extractor t
         val thm_names_with_var = extract_var_name ts |> flat
-      in map (AList.lookup (op =) thm_names_with_var) var_order end
-
+      in map (fn v => (v, AList.lookup (op =) thm_names_with_var v)) var_order end
   in
     SMT_Replay_Methods.prove ctxt t (fn _ =>
       K (unfold_tac ctxt ctxt_eq)
-      THEN' ((SOLVED' (K (unfold_tac ctxt (map (fn thm => thm1 OF [@{thm sym} OF [thm]]) ts))))
-        ORELSE'
-          (rewrite_all_skolems thm2 ctxt (ordered_definitions ())
-          THEN' partial_simplify_tac ctxt @{thms eq_commute})))
+      THEN' rewrite_all_skolems thm2 ctxt (ordered_definitions ())
+      THEN' (eqsubst_all ctxt (map (fn thm => thm RS sym) other))
+      THEN_ALL_NEW TRY' (resolve_tac ctxt @{thms refl})
+      THEN' K (unfold_tac ctxt ctxt_eq)
+      THEN' TRY' (partial_simplify_tac ctxt (@{thms eq_commute})))
   end
 in
 
 val skolem_forall =
-  skolem_tac extract_all_forall_quantified_names @{thm verit_sko_forall_indirect}
-    @{thm verit_sko_forall_indirect2}
+  skolem_tac extract_all_forall_exists_quantified_names_q @{thm verit_sko_forall_indirect}
+    @{thms verit_sko_forall_indirect2  verit_sko_ex_indirect2}
 
 val skolem_ex =
-  skolem_tac extract_all_exists_quantified_names @{thm verit_sko_ex_indirect}
-    @{thm verit_sko_ex_indirect2}
+  skolem_tac extract_all_forall_exists_quantified_names_q @{thm verit_sko_ex_indirect}
+    @{thms verit_sko_ex_indirect2 verit_sko_forall_indirect2}
 
 end
 
--- a/src/HOL/Tools/SMT/smt_systems.ML	Sun Aug 21 14:01:59 2022 +0000
+++ b/src/HOL/Tools/SMT/smt_systems.ML	Mon Aug 22 06:27:28 2022 +0200
@@ -154,7 +154,7 @@
     "--proof-merge",
     "--disable-print-success",
     "--disable-banner"] @
-    Verit_Proof.veriT_current_strategy (Context.Proof ctxt) @
+    Verit_Strategies.veriT_current_strategy (Context.Proof ctxt) @
     (case SMT_Config.get_timeout ctxt of
       NONE => []
     | SOME t => ["--max-time=" ^ string_of_int (Time.toMilliseconds t)])
@@ -238,7 +238,7 @@
       else ()
     val ctxt =
       ctxt
-      |> (if stgy <> NONE then Context.proof_map (Verit_Proof.select_veriT_stgy (the stgy)) else I)
+      |> (if stgy <> NONE then Context.proof_map (Verit_Strategies.select_veriT_stgy (the stgy)) else I)
       |> Context.Proof
       |> SMT_Config.select_solver solver
       |> Context.proof_of
--- a/src/HOL/Tools/SMT/verit_proof.ML	Sun Aug 21 14:01:59 2022 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,895 +0,0 @@
-(*  Title:      HOL/Tools/SMT/Verit_Proof.ML
-    Author:     Mathias Fleury, ENS Rennes
-    Author:     Sascha Boehme, TU Muenchen
-
-VeriT proofs: parsing and abstract syntax tree.
-*)
-
-signature VERIT_PROOF =
-sig
-  (*proofs*)
-  datatype veriT_step = VeriT_Step of {
-    id: string,
-    rule: string,
-    prems: string list,
-    proof_ctxt: term list,
-    concl: term,
-    fixes: string list}
-
-  datatype veriT_replay_node = VeriT_Replay_Node of {
-    id: string,
-    rule: string,
-    args: term list,
-    prems: string list,
-    proof_ctxt: term list,
-    concl: term,
-    bounds: (string * typ) list,
-    declarations: (string * term) list,
-    insts: term Symtab.table,
-    subproof: (string * typ) list * term list * term list * veriT_replay_node list}
-
-  (*proof parser*)
-  val parse: typ Symtab.table -> term Symtab.table -> string list ->
-    Proof.context -> veriT_step list * Proof.context
-  val parse_replay: typ Symtab.table -> term Symtab.table -> string list ->
-    Proof.context -> veriT_replay_node list * Proof.context
-
-  val step_prefix : string
-  val input_rule: string
-  val keep_app_symbols: string -> bool
-  val keep_raw_lifting: string -> bool
-  val normalized_input_rule: string
-  val la_generic_rule : string
-  val rewrite_rule : string
-  val simp_arith_rule : string
-  val veriT_deep_skolemize_rule : string
-  val veriT_def : string
-  val subproof_rule : string
-  val local_input_rule : string
-  val not_not_rule : string
-  val contract_rule : string
-  val ite_intro_rule : string
-  val eq_congruent_rule : string
-  val eq_congruent_pred_rule : string
-  val skolemization_steps : string list
-  val theory_resolution2_rule: string
-  val equiv_pos2_rule: string
-  val th_resolution_rule: string
-  val and_pos_rule: string
-
-  val is_skolemization: string -> bool
-  val is_skolemization_step: veriT_replay_node -> bool
-
-  val number_of_steps: veriT_replay_node list -> int
-
-  (*Strategy related*)
-  val veriT_strategy : string Config.T
-  val veriT_current_strategy : Context.generic -> string list
-  val all_veriT_stgies: Context.generic -> string list;
-
-  val select_veriT_stgy: string -> Context.generic -> Context.generic;
-  val valid_veriT_stgy: string -> Context.generic -> bool;
-  val verit_add_stgy: string * string list -> Context.generic -> Context.generic
-  val verit_rm_stgy: string -> Context.generic -> Context.generic
-
-  (*Global tactic*)
-  val verit_tac: Proof.context -> thm list -> int -> tactic
-  val verit_tac_stgy: string -> Proof.context -> thm list -> int -> tactic
-end;
-
-structure Verit_Proof: VERIT_PROOF =
-struct
-
-open SMTLIB_Proof
-
-val veriT_strategy_default_name = "default"; (*FUDGE*)
-val veriT_strategy_del_insts_name = "del_insts"; (*FUDGE*)
-val veriT_strategy_rm_insts_name = "ccfv_SIG"; (*FUDGE*)
-val veriT_strategy_ccfv_insts_name = "ccfv_threshold"; (*FUDGE*)
-val veriT_strategy_best_name = "best"; (*FUDGE*)
-
-val veriT_strategy_best = ["--index-sorts", "--index-fresh-sorts", "--triggers-new",
-  "--triggers-sel-rm-specific"];
-val veriT_strategy_del_insts = ["--index-sorts", "--index-fresh-sorts", "--ccfv-breadth",
-  "--inst-deletion", "--index-SAT-triggers", "--inst-deletion-loops", "--inst-deletion-track-vars",
-  "--inst-deletion", "--index-SAT-triggers"];
-val veriT_strategy_rm_insts = ["--index-SIG", "--triggers-new", "--triggers-sel-rm-specific"];
-val veriT_strategy_ccfv_insts = ["--index-sorts", "--index-fresh-sorts", "--triggers-new",
-  "--triggers-sel-rm-specific", "--triggers-restrict-combine", "--inst-deletion",
-  "--index-SAT-triggers", "--inst-deletion-loops", "--inst-deletion-track-vars", "--inst-deletion",
-  "--index-SAT-triggers", "--inst-sorts-threshold=100000", "--ematch-exp=10000000",
-  "--ccfv-index=100000", "--ccfv-index-full=1000"]
-
-val veriT_strategy_default = [];
-
-type verit_strategy = {default_strategy: string, strategies: (string * string list) list}
-fun mk_verit_strategy default_strategy strategies : verit_strategy = {default_strategy=default_strategy,strategies=strategies}
-
-val empty_data = mk_verit_strategy veriT_strategy_best_name
-  [(veriT_strategy_default_name, veriT_strategy_default),
-   (veriT_strategy_del_insts_name, veriT_strategy_del_insts),
-   (veriT_strategy_rm_insts_name, veriT_strategy_rm_insts),
-   (veriT_strategy_ccfv_insts_name, veriT_strategy_ccfv_insts),
-   (veriT_strategy_best_name, veriT_strategy_best)]
-
-fun merge_data ({strategies=strategies1,...}:verit_strategy,
-    {default_strategy,strategies=strategies2}:verit_strategy) : verit_strategy =
-  mk_verit_strategy default_strategy (AList.merge (op =) (op =) (strategies1, strategies2))
-
-structure Data = Generic_Data
-(
-  type T = verit_strategy
-  val empty = empty_data
-  val merge = merge_data
-)
-
-fun veriT_current_strategy ctxt =
-  let
-    val {default_strategy,strategies} = (Data.get ctxt)
-  in
-    AList.lookup (op=) strategies default_strategy
-   |> the
-  end
-
-val veriT_strategy = Attrib.setup_config_string \<^binding>\<open>smt_verit_strategy\<close> (K veriT_strategy_best_name);
-
-fun valid_veriT_stgy stgy context =
-  let
-    val {strategies,...} = Data.get context
-  in
-    AList.defined (op =) strategies stgy
-  end
-
-fun select_veriT_stgy stgy context =
-  let
-    val {strategies,...} = Data.get context
-    val upd = Data.map (K (mk_verit_strategy stgy strategies))
-  in
-    if not (AList.defined (op =) strategies stgy) then
-      error ("Trying to select unknown veriT strategy: " ^ quote stgy)
-    else upd context
-  end
-
-fun verit_add_stgy stgy context =
-  let
-    val {default_strategy,strategies} = Data.get context
-  in
-    Data.map
-      (K (mk_verit_strategy default_strategy (AList.update (op =) stgy strategies)))
-      context
-  end
-
-fun verit_rm_stgy stgy context =
-  let
-    val {default_strategy,strategies} = Data.get context
-  in
-    Data.map
-      (K (mk_verit_strategy default_strategy (AList.delete (op =) stgy strategies)))
-      context
-  end
-
-fun all_veriT_stgies context =
-  let
-    val {strategies,...} = Data.get context
-   in
-    map fst strategies
-  end
-
-val select_verit = SMT_Config.select_solver "verit"
-fun verit_tac ctxt = SMT_Solver.smt_tac (Config.put SMT_Config.native_bv false ((Context.proof_map select_verit ctxt)))
-fun verit_tac_stgy stgy ctxt = verit_tac (Context.proof_of (select_veriT_stgy stgy (Context.Proof ctxt)))
-
-datatype raw_veriT_node = Raw_VeriT_Node of {
-  id: string,
-  rule: string,
-  args: SMTLIB.tree,
-  prems: string list,
-  concl: SMTLIB.tree,
-  declarations: (string * SMTLIB.tree) list,
-  subproof: raw_veriT_node list}
-
-fun mk_raw_node id rule args prems declarations concl subproof =
-  Raw_VeriT_Node {id = id, rule = rule, args = args, prems = prems, declarations = declarations,
-    concl = concl, subproof = subproof}
-
-datatype veriT_node = VeriT_Node of {
-  id: string,
-  rule: string,
-  prems: string list,
-  proof_ctxt: term list,
-  concl: term}
-
-fun mk_node id rule prems proof_ctxt concl =
-  VeriT_Node {id = id, rule = rule, prems = prems, proof_ctxt = proof_ctxt, concl = concl}
-
-datatype veriT_replay_node = VeriT_Replay_Node of {
-  id: string,
-  rule: string,
-  args: term list,
-  prems: string list,
-  proof_ctxt: term list,
-  concl: term,
-  bounds: (string * typ) list,
-  insts: term Symtab.table,
-  declarations: (string * term) list,
-  subproof: (string * typ) list * term list * term list * veriT_replay_node list}
-
-fun mk_replay_node id rule args prems proof_ctxt concl bounds insts declarations subproof =
-  VeriT_Replay_Node {id = id, rule = rule, args = args, prems = prems, proof_ctxt = proof_ctxt,
-    concl = concl, bounds = bounds, insts = insts, declarations = declarations,
-    subproof = subproof}
-
-datatype veriT_step = VeriT_Step of {
-  id: string,
-  rule: string,
-  prems: string list,
-  proof_ctxt: term list,
-  concl: term,
-  fixes: string list}
-
-fun mk_step id rule prems proof_ctxt concl fixes =
-  VeriT_Step {id = id, rule = rule, prems = prems, proof_ctxt = proof_ctxt, concl = concl,
-    fixes = fixes}
-
-val step_prefix = ".c"
-val input_rule = "input"
-val la_generic_rule = "la_generic"
-val normalized_input_rule = "__normalized_input" (*arbitrary*)
-val rewrite_rule = "__rewrite" (*arbitrary*)
-val subproof_rule = "subproof"
-val local_input_rule = "__local_input" (*arbitrary*)
-val simp_arith_rule = "simp_arith"
-val veriT_def = "__skolem_definition" (*arbitrary*)
-val not_not_rule = "not_not"
-val contract_rule = "contraction"
-val eq_congruent_pred_rule = "eq_congruent_pred"
-val eq_congruent_rule = "eq_congruent"
-val ite_intro_rule = "ite_intro"
-val default_skolem_rule = "sko_forall" (*arbitrary, but must be one of the skolems*)
-val theory_resolution2_rule = "__theory_resolution2" (*arbitrary*)
-val equiv_pos2_rule = "equiv_pos2"
-val th_resolution_rule = "th_resolution"
-val and_pos_rule = "and_pos"
-
-val skolemization_steps = ["sko_forall", "sko_ex"]
-val is_skolemization = member (op =) skolemization_steps
-val keep_app_symbols = member (op =) [eq_congruent_pred_rule, eq_congruent_rule, ite_intro_rule, and_pos_rule]
-val keep_raw_lifting = member (op =) [eq_congruent_pred_rule, eq_congruent_rule, ite_intro_rule, and_pos_rule]
-val is_SH_trivial = member (op =) [not_not_rule, contract_rule]
-
-fun is_skolemization_step (VeriT_Replay_Node {id, ...}) = is_skolemization id
-
-(* Even the veriT developers do not know if the following rule can still appear in proofs: *)
-val veriT_deep_skolemize_rule = "deep_skolemize"
-
-fun number_of_steps [] = 0
-  | number_of_steps ((VeriT_Replay_Node {subproof = (_, _, _, subproof), ...}) :: pf) =
-      1 + number_of_steps subproof + number_of_steps pf
-
-(* proof parser *)
-
-fun node_of p cx =
-  ([], cx)
-  ||>> `(with_fresh_names (term_of p))
-  |>> snd
-
-fun find_type_in_formula (Abs (v, T, u)) var_name =
-    if String.isPrefix var_name v then SOME T else find_type_in_formula u var_name
-  | find_type_in_formula (u $ v) var_name =
-    (case find_type_in_formula u var_name of
-      NONE => find_type_in_formula v var_name
-    | some_T => some_T)
-  | find_type_in_formula (Free(v, T)) var_name =
-    if String.isPrefix var_name v then SOME T else NONE
-  | find_type_in_formula _ _ = NONE
-
-fun synctactic_var_subst old_name new_name (u $ v) =
-    (synctactic_var_subst old_name new_name u $ synctactic_var_subst old_name new_name v)
-  | synctactic_var_subst old_name new_name (Abs (v, T, u)) =
-    Abs (if String.isPrefix old_name v then new_name else v, T,
-      synctactic_var_subst old_name new_name u)
-  | synctactic_var_subst old_name new_name (Free (v, T)) =
-     if String.isPrefix old_name v then Free (new_name, T) else Free (v, T)
-  | synctactic_var_subst _ _ t = t
-
-fun synctatic_rew_in_lhs_subst old_name new_name (Const(\<^const_name>\<open>HOL.eq\<close>, T) $ t1 $ t2) =
-     Const(\<^const_name>\<open>HOL.eq\<close>, T) $ synctactic_var_subst old_name new_name t1 $ t2
-  | synctatic_rew_in_lhs_subst old_name new_name (Const(\<^const_name>\<open>Trueprop\<close>, T) $ t1) =
-     Const(\<^const_name>\<open>Trueprop\<close>, T) $ (synctatic_rew_in_lhs_subst old_name new_name t1)
-  | synctatic_rew_in_lhs_subst _ _ t = t
-
-fun add_bound_variables_to_ctxt cx =
-  fold (update_binding o
-    (fn (s, SOME typ) => (s, Term (Free (s, type_of cx typ)))))
-
-local
-
-  fun extract_symbols bds =
-    bds
-    |> map (fn (SMTLIB.S [SMTLIB.Sym "=", SMTLIB.Sym x, SMTLIB.Sym y], typ) => [([x, y], typ)]
-             | t => raise (Fail ("match error " ^ @{make_string} t)))
-    |> flat
-
-  (* onepoint can bind a variable to another variable or to a constant *)
-  fun extract_qnt_symbols cx bds =
-    bds
-    |> map (fn (SMTLIB.S [SMTLIB.Sym "=", SMTLIB.Sym x, SMTLIB.Sym y], typ) =>
-                (case node_of (SMTLIB.Sym y) cx of
-                  ((_, []), _) => [([x], typ)]
-                | _ => [([x, y], typ)])
-             | (SMTLIB.S (SMTLIB.Sym "=" :: SMTLIB.Sym x :: _), typ) => [([x], typ)]
-             | t => raise (Fail ("match error " ^ @{make_string} t)))
-    |> flat
-
-  fun extract_symbols_map bds =
-    bds
-    |> map (fn (SMTLIB.S [SMTLIB.Sym "=", SMTLIB.Sym x, _], typ) => [([x], typ)])
-    |> flat
-in
-
-fun declared_csts _ "__skolem_definition" [(SMTLIB.S [SMTLIB.Sym x, typ, _], _)] = [(x, typ)]
-  | declared_csts _ "__skolem_definition" t = raise (Fail ("unrecognized skolem_definition " ^ @{make_string} t))
-  | declared_csts _ _ _ = []
-
-fun skolems_introduced_by_rule (SMTLIB.S bds) =
-   fold (fn (SMTLIB.S [SMTLIB.Sym "=", _, SMTLIB.Sym y]) => curry (op ::) y) bds []
-
-(*FIXME there is probably a way to use the information given by onepoint*)
-fun bound_vars_by_rule _ "bind" (bds) = extract_symbols bds
-  | bound_vars_by_rule cx "onepoint" bds = extract_qnt_symbols cx bds
-  | bound_vars_by_rule _ "sko_forall" bds = extract_symbols_map bds
-  | bound_vars_by_rule _ "sko_ex" bds = extract_symbols_map bds
-  | bound_vars_by_rule _ "__skolem_definition" [(SMTLIB.S [SMTLIB.Sym x, typ, _], _)] = [([x], SOME typ)]
-  | bound_vars_by_rule _ "__skolem_definition" [(SMTLIB.S [_, SMTLIB.Sym x, _], _)] = [([x], NONE)]
-  | bound_vars_by_rule _ _ _ = []
-
-(* VeriT adds "?" before some variables. *)
-fun remove_all_qm (SMTLIB.Sym v :: l) =
-    SMTLIB.Sym (perhaps (try (unprefix "?")) v) :: remove_all_qm l
-  | remove_all_qm (SMTLIB.S l :: l') = SMTLIB.S (remove_all_qm l) :: remove_all_qm l'
-  | remove_all_qm (SMTLIB.Key v :: l) = SMTLIB.Key v :: remove_all_qm l
-  | remove_all_qm (v :: l) = v :: remove_all_qm l
-  | remove_all_qm [] = []
-
-fun remove_all_qm2 (SMTLIB.Sym v) = SMTLIB.Sym (perhaps (try (unprefix "?")) v)
-  | remove_all_qm2 (SMTLIB.S l) = SMTLIB.S (remove_all_qm l)
-  | remove_all_qm2 (SMTLIB.Key v) = SMTLIB.Key v
-  | remove_all_qm2 v = v
-
-end
-
-datatype step_kind = ASSUME | ANCHOR | NO_STEP | NORMAL_STEP | SKOLEM
-
-fun parse_raw_proof_steps (limit : string option) (ls : SMTLIB.tree list) (cx : name_bindings) :
-     (raw_veriT_node list * SMTLIB.tree list * name_bindings) =
-  let
-    fun rotate_pair (a, (b, c)) = ((a, b), c)
-    fun step_kind [] = (NO_STEP, SMTLIB.S [], [])
-      | step_kind ((p as SMTLIB.S (SMTLIB.Sym "anchor" :: _)) :: l) = (ANCHOR, p, l)
-      | step_kind ((p as SMTLIB.S (SMTLIB.Sym "assume" :: _)) :: l) = (ASSUME, p, l)
-      | step_kind ((p as SMTLIB.S (SMTLIB.Sym "step" :: _)) :: l) = (NORMAL_STEP, p, l)
-      | step_kind ((p as SMTLIB.S (SMTLIB.Sym "define-fun" :: _)) :: l) = (SKOLEM, p, l)
-    fun parse_skolem (SMTLIB.S [SMTLIB.Sym "define-fun", SMTLIB.Sym id,  _, typ,
-           SMTLIB.S (SMTLIB.Sym "!" :: t :: [SMTLIB.Key _, SMTLIB.Sym name])]) cx =
-         (*replace the name binding by the constant instead of the full term in order to reduce
-           the size of the generated terms and therefore the reconstruction time*)
-         let val (l, cx) = (fst oo SMTLIB_Proof.extract_and_update_name_bindings) t cx
-            |> apsnd (SMTLIB_Proof.update_name_binding (name, SMTLIB.Sym id))
-         in
-           (mk_raw_node (id ^ veriT_def) veriT_def (SMTLIB.S [SMTLIB.Sym id, typ, l]) [] []
-              (SMTLIB.S [SMTLIB.Sym "=", SMTLIB.Sym id, l]) [], cx)
-         end
-      | parse_skolem (SMTLIB.S [SMTLIB.Sym "define-fun", SMTLIB.Sym id,  _, typ, SMTLIB.S l]) cx =
-         let val (l, cx) = (fst oo SMTLIB_Proof.extract_and_update_name_bindings) (SMTLIB.S l ) cx
-         in
-           (mk_raw_node (id ^ veriT_def) veriT_def (SMTLIB.S [SMTLIB.Sym id, typ, l]) [] []
-              (SMTLIB.S [SMTLIB.Sym "=", SMTLIB.Sym id, l]) [], cx)
-         end
-      | parse_skolem t _ = raise Fail ("unrecognized VeriT proof " ^ \<^make_string> t)
-    fun get_id_cx (SMTLIB.S ((SMTLIB.Sym _) :: (SMTLIB.Sym id) :: l), cx) = (id, (l, cx))
-      | get_id_cx t = raise Fail ("unrecognized VeriT proof " ^ \<^make_string> t)
-    fun get_id (SMTLIB.S ((SMTLIB.Sym _) :: (SMTLIB.Sym id) :: l)) = (id, l)
-      | get_id t = raise Fail ("unrecognized VeriT proof " ^ \<^make_string> t)
-    fun parse_source (SMTLIB.Key "premises" :: SMTLIB.S source ::l, cx) =
-        (SOME (map (fn (SMTLIB.Sym id) => id) source), (l, cx))
-      | parse_source (l, cx) = (NONE, (l, cx))
-    fun parse_rule (SMTLIB.Key "rule" :: SMTLIB.Sym r :: l, cx) = (r, (l, cx))
-      | parse_rule t = raise Fail ("unrecognized VeriT proof " ^ \<^make_string> t)
-    fun parse_anchor_step (SMTLIB.S (SMTLIB.Sym "anchor" :: SMTLIB.Key "step" :: SMTLIB.Sym r :: l), cx) = (r, (l, cx))
-      | parse_anchor_step t = raise Fail ("unrecognized VeriT proof " ^ \<^make_string> t)
-    fun parse_args (SMTLIB.Key "args" :: args :: l, cx) =
-          let val ((args, cx), _) = SMTLIB_Proof.extract_and_update_name_bindings args cx
-          in (args, (l, cx)) end
-      | parse_args (l, cx) = (SMTLIB.S [], (l, cx))
-    fun parse_and_clausify_conclusion (SMTLIB.S (SMTLIB.Sym "cl" :: []) :: l, cx) =
-          (SMTLIB.Sym "false", (l, cx))
-      | parse_and_clausify_conclusion (SMTLIB.S (SMTLIB.Sym "cl" :: concl) :: l, cx) =
-          let val (concl, cx) = fold_map (fst oo SMTLIB_Proof.extract_and_update_name_bindings) concl cx
-          in (SMTLIB.S (SMTLIB.Sym "or" :: concl), (l, cx)) end
-      | parse_and_clausify_conclusion t = raise Fail ("unrecognized VeriT proof " ^ \<^make_string> t)
-    val parse_normal_step =
-        get_id_cx
-        ##> parse_and_clausify_conclusion
-        #> rotate_pair
-        ##> parse_rule
-        #> rotate_pair
-        ##> parse_source
-        #> rotate_pair
-        ##> parse_args
-        #> rotate_pair
-
-    fun to_raw_node subproof ((((id, concl), rule), prems), args) =
-        mk_raw_node id rule args (the_default [] prems) [] concl subproof
-    fun at_discharge NONE _ = false
-      | at_discharge (SOME id) p = p |> get_id |> fst |> (fn id2 => id = id2)
-  in
-    case step_kind ls of
-        (NO_STEP, _, _) => ([],[], cx)
-      | (NORMAL_STEP, p, l) =>
-          if at_discharge limit p then ([], ls, cx) else
-            let
-              val (s, (_, cx)) =  (p, cx)
-                |> parse_normal_step
-                ||> (fn i => i)
-                |>>  (to_raw_node [])
-              val (rp, rl, cx) = parse_raw_proof_steps limit l cx
-          in (s :: rp, rl, cx) end
-      | (ASSUME, p, l) =>
-          let
-            val (id, t :: []) = p
-              |> get_id
-            val ((t, cx), _) = SMTLIB_Proof.extract_and_update_name_bindings t cx
-            val s = mk_raw_node id input_rule (SMTLIB.S []) [] [] t []
-            val (rp, rl, cx) = parse_raw_proof_steps limit l cx
-          in (s :: rp, rl, cx) end
-      | (ANCHOR, p, l) =>
-          let
-            val (anchor_id, (anchor_args, (_, cx))) = (p, cx) |> (parse_anchor_step ##> parse_args)
-            val (subproof, discharge_step :: remaining_proof, cx) = parse_raw_proof_steps (SOME anchor_id) l cx
-            val (curss, (_, cx)) = parse_normal_step (discharge_step, cx)
-            val s = to_raw_node subproof (fst curss, anchor_args)
-            val (rp, rl, cx) = parse_raw_proof_steps limit remaining_proof cx
-          in (s :: rp, rl, cx) end
-      | (SKOLEM, p, l) =>
-          let
-            val (s, cx) = parse_skolem p cx
-            val (rp, rl, cx) = parse_raw_proof_steps limit l cx
-          in (s :: rp, rl, cx) end
-  end
-
-fun proof_ctxt_of_rule "bind" t = t
-  | proof_ctxt_of_rule "sko_forall" t = t
-  | proof_ctxt_of_rule "sko_ex" t = t
-  | proof_ctxt_of_rule "let" t = t
-  | proof_ctxt_of_rule "onepoint" t = t
-  | proof_ctxt_of_rule _ _ = []
-
-fun args_of_rule "bind" t = t
-  | args_of_rule "la_generic" t = t
-  | args_of_rule "lia_generic" t = t
-  | args_of_rule _ _ = []
-
-fun insts_of_forall_inst "forall_inst" t = map (fn SMTLIB.S [_, SMTLIB.Sym x, a] => (x, a)) t
-  | insts_of_forall_inst _ _ = []
-
-fun id_of_last_step prems =
-  if null prems then []
-  else
-    let val VeriT_Replay_Node {id, ...} = List.last prems in [id] end
-
-fun extract_assumptions_from_subproof subproof =
-  let fun extract_assumptions_from_subproof (VeriT_Replay_Node {rule, concl, ...}) assms =
-    if rule = local_input_rule then concl :: assms else assms
-  in
-    fold extract_assumptions_from_subproof subproof []
-  end
-
-fun normalized_rule_name id rule =
-  (case (rule = input_rule, can SMTLIB_Interface.role_and_index_of_assert_name id) of
-    (true, true) => normalized_input_rule
-  | (true, _) => local_input_rule
-  | _ => rule)
-
-fun is_assm_repetition id rule =
-  rule = input_rule andalso can SMTLIB_Interface.role_and_index_of_assert_name id
-
-fun extract_skolem ([SMTLIB.Sym var, typ, choice]) = (var, typ, choice)
-  | extract_skolem t = raise Fail ("fail to parse type" ^ @{make_string} t)
-
-(* The preprocessing takes care of:
-     1. unfolding the shared terms
-     2. extract the declarations of skolems to make sure that there are not unfolded
-*)
-fun preprocess compress step =
-  let
-    fun expand_assms cs =
-      map (fn t => case AList.lookup (op =) cs t of NONE => t | SOME a => a)
-    fun expand_lonely_arguments (args as SMTLIB.S [SMTLIB.Sym "=", _, _]) = [args]
-      | expand_lonely_arguments (x as SMTLIB.S [SMTLIB.Sym var, _]) = [SMTLIB.S [SMTLIB.Sym "=", x, SMTLIB.Sym var]]
-
-    fun preprocess (Raw_VeriT_Node {id, rule, args, prems, concl, subproof, ...}) (cx, remap_assms)  =
-      let
-        val (skolem_names, stripped_args) = args
-          |> (fn SMTLIB.S args => args)
-          |> map
-              (fn SMTLIB.S [SMTLIB.Key "=", x, y] => SMTLIB.S [SMTLIB.Sym "=", x, y]
-                | x => x)
-          |> (rule = "bind" orelse rule = "onepoint") ? flat o (map expand_lonely_arguments)
-          |> `(if rule = veriT_def then single o extract_skolem else K [])
-          ||> SMTLIB.S
-        val (subproof, (cx, _)) = fold_map preprocess subproof (cx, remap_assms) |> apfst flat
-        val remap_assms = (if rule = "or" then (id, hd prems) :: remap_assms else remap_assms)
-        (* declare variables in the context *)
-        val declarations =
-           if rule = veriT_def
-           then skolem_names |> map (fn (name, _, choice) => (name, choice))
-           else []
-      in
-        if compress andalso rule = "or"
-        then ([], (cx, remap_assms))
-        else ([Raw_VeriT_Node {id = id, rule = rule, args = stripped_args,
-           prems = expand_assms remap_assms prems, declarations = declarations, concl = concl, subproof = subproof}],
-          (cx, remap_assms))
-      end
-  in preprocess step end
-
-fun filter_split _ [] = ([], [])
-  | filter_split f (a :: xs) =
-     (if f a then apfst (curry op :: a) else apsnd (curry op :: a)) (filter_split f xs)
-
-fun collect_skolem_defs (Raw_VeriT_Node {rule, subproof = subproof, args, ...}) =
-  (if is_skolemization rule then map (fn id => id ^ veriT_def) (skolems_introduced_by_rule args) else []) @
-  flat (map collect_skolem_defs subproof)
-
-fun extract_types_of_args (SMTLIB.S [var, typ, t as SMTLIB.S [SMTLIB.Sym "choice", _, _]]) =
-    (SMTLIB.S [var, typ, t], SOME typ)
-    |> single
- | extract_types_of_args (SMTLIB.S t) =
-  let
-    fun extract_types_of_arg (SMTLIB.S [eq, SMTLIB.S [var, typ], t]) = (SMTLIB.S [eq, var, t], SOME typ)
-      | extract_types_of_arg t = (t, NONE)
-  in
-    t
-    |> map extract_types_of_arg
-  end
-
-(*The postprocessing does:
-  1. translate the terms to Isabelle syntax, taking care of free variables
-  2. remove the ambiguity in the proof terms:
-       x \<leadsto> y |- x = x
-    means y = x. To remove ambiguity, we use the fact that y is a free variable and replace the term
-    by:
-      xy \<leadsto> y |- xy = x.
-    This is now does not have an ambiguity and we can safely move the "xy \<leadsto> y" to the proof
-    assumptions.
-*)
-fun postprocess_proof compress ctxt step cx =
-  let
-    fun postprocess (Raw_VeriT_Node {id, rule, args, prems, declarations, concl, subproof}) (cx, rew) =
-    let
-      val _ = (SMT_Config.verit_msg ctxt) (fn () => @{print} ("id =", id, "concl =", concl))
-
-      val (args) = extract_types_of_args args
-      val globally_bound_vars = declared_csts cx rule args
-      val cx = fold (update_binding o (fn (s, typ) => (s, Term (Free (s, type_of cx typ)))))
-           globally_bound_vars cx
-
-      (*find rebound variables specific to the LHS of the equivalence symbol*)
-      val bound_vars = bound_vars_by_rule cx rule args
-      val bound_vars_no_typ = map fst bound_vars
-      val rhs_vars =
-        fold (fn [t', t] => t <> t' ? (curry (op ::) t) | _ => fn x => x) bound_vars_no_typ []
-      fun not_already_bound cx t = SMTLIB_Proof.lookup_binding cx t = None andalso
-          not (member (op =) rhs_vars t)
-      val (shadowing_vars, rebound_lhs_vars) = bound_vars
-        |> filter_split (fn ([t, _], typ) => not_already_bound cx t | _ => true)
-        |>> map (apfst (hd))
-        |>> (fn vars => vars @ flat (map (fn ([_, t], typ) => [(t, typ)] | _ => []) bound_vars))
-      val subproof_rew = fold (fn [t, t'] => curry (op ::) (t, t ^ t'))
-        (map fst rebound_lhs_vars) rew
-      val subproof_rewriter = fold (fn (t, t') => synctatic_rew_in_lhs_subst t t')
-         subproof_rew
-
-      val ((concl, bounds), cx') = node_of concl cx
-
-      val extra_lhs_vars = map (fn ([a,b], typ) => (a, a^b, typ)) rebound_lhs_vars
-      val old_lhs_vars = map (fn (a, _, typ) => (a, typ)) extra_lhs_vars
-      val new_lhs_vars = map (fn (_, newvar, typ) => (newvar, typ)) extra_lhs_vars
-
-      (* postprocess conclusion *)
-      val concl = SMTLIB_Isar.unskolemize_names ctxt (subproof_rewriter concl)
-
-      val _ = (SMT_Config.verit_msg ctxt) (fn () => \<^print> ("id =", id, "concl =", concl))
-      val _ = (SMT_Config.verit_msg ctxt) (fn () => \<^print> ("id =", id, "cx' =", cx',
-        "bound_vars =", bound_vars))
-
-      val bound_tvars =
-        map (fn (s, SOME typ) => (s, type_of cx typ))
-         (shadowing_vars @ new_lhs_vars)
-      val subproof_cx =
-         add_bound_variables_to_ctxt cx (shadowing_vars @ new_lhs_vars) cx
-
-      fun could_unify (Bound i, Bound j) = i = j
-        | could_unify (Var v, Var v') = v = v'
-        | could_unify (Free v, Free v') = v = v'
-        | could_unify (Const (v, ty), Const (v', ty')) = v = v' andalso ty = ty'
-        | could_unify (Abs (_, ty, bdy), Abs (_, ty', bdy')) = ty = ty' andalso could_unify (bdy, bdy')
-        | could_unify (u $ v, u' $ v') = could_unify (u, u') andalso could_unify (v, v')
-        | could_unify _ = false
-      fun is_alpha_renaming t =
-          t
-          |> HOLogic.dest_Trueprop
-          |> HOLogic.dest_eq
-          |> could_unify
-        handle TERM _ => false
-      val alpha_conversion = rule = "bind" andalso is_alpha_renaming concl
-
-      val can_remove_subproof =
-        compress andalso (is_skolemization rule orelse alpha_conversion)
-      val (fixed_subproof : veriT_replay_node list, _) =
-         fold_map postprocess (if can_remove_subproof then [] else subproof)
-           (subproof_cx, subproof_rew)
-
-      val unsk_and_rewrite = SMTLIB_Isar.unskolemize_names ctxt o subproof_rewriter
-
-      (* postprocess assms *)
-      val stripped_args = map fst args
-      val sanitized_args = proof_ctxt_of_rule rule stripped_args
-
-      val arg_cx = add_bound_variables_to_ctxt cx (shadowing_vars @ old_lhs_vars) subproof_cx
-      val (termified_args, _) = fold_map node_of sanitized_args arg_cx |> apfst (map fst)
-      val normalized_args = map unsk_and_rewrite termified_args
-
-      val subproof_assms = proof_ctxt_of_rule rule normalized_args
-
-      (* postprocess arguments *)
-      val rule_args = args_of_rule rule stripped_args
-      val (termified_args, _) = fold_map term_of rule_args subproof_cx
-      val normalized_args = map unsk_and_rewrite termified_args
-      val rule_args = map subproof_rewriter normalized_args
-
-      val raw_insts = insts_of_forall_inst rule stripped_args
-      fun termify_term (x, t) cx = let val (t, cx) = term_of t cx in ((x, t), cx) end
-      val (termified_args, _) = fold_map termify_term raw_insts subproof_cx
-      val insts = Symtab.empty
-        |> fold (fn (x, t) => fn insts => Symtab.update_new (x, t) insts) termified_args
-        |> Symtab.map (K unsk_and_rewrite)
-
-      (* declarations *)
-      val (declarations, _) = fold_map termify_term declarations cx
-        |> apfst (map (apsnd unsk_and_rewrite))
-
-      (* fix step *)
-      val _ = if bounds <> [] then raise (Fail "found dangling variable in concl") else ()
-      val skolem_defs = (if is_skolemization rule
-         then map (fn id => id ^ veriT_def) (skolems_introduced_by_rule (SMTLIB.S (map fst args))) else [])
-      val skolems_of_subproof = (if is_skolemization rule
-         then flat (map collect_skolem_defs subproof) else [])
-      val fixed_prems =
-        prems @ (if is_assm_repetition id rule then [id] else []) @
-        skolem_defs @ skolems_of_subproof @ (id_of_last_step fixed_subproof)
-
-      (* fix subproof *)
-      val normalized_rule = normalized_rule_name id rule
-        |> (if compress andalso alpha_conversion then K "refl" else I)
-
-      val extra_assms2 =
-        (if rule = subproof_rule then extract_assumptions_from_subproof fixed_subproof else [])
-
-      val step = mk_replay_node id normalized_rule rule_args fixed_prems subproof_assms concl
-        [] insts declarations (bound_tvars, subproof_assms, extra_assms2, fixed_subproof)
-
-    in
-       (step, (cx', rew))
-    end
-  in
-    postprocess step (cx, [])
-    |> (fn (step, (cx, _)) => (step, cx))
-  end
-
-fun combine_proof_steps ((step1 : veriT_replay_node) :: step2 :: steps) =
-      let
-        val (VeriT_Replay_Node {id = id1, rule = rule1, args = args1, prems = prems1,
-            proof_ctxt = proof_ctxt1, concl = concl1, bounds = bounds1, insts = insts1,
-            declarations = declarations1,
-            subproof = (bound_sub1, assms_sub1, assms_extra1, subproof1)}) = step1
-        val (VeriT_Replay_Node {id = id2, rule = rule2, args = args2, prems = prems2,
-            proof_ctxt = proof_ctxt2, concl = concl2, bounds = bounds2, insts = insts2,
-            declarations = declarations2,
-            subproof = (bound_sub2, assms_sub2, assms_extra2, subproof2)}) = step2
-        val goals1 =
-          (case concl1 of
-            _ $ (Const (\<^const_name>\<open>HOL.disj\<close>, _) $ _ $
-                  (Const (\<^const_name>\<open>HOL.disj\<close>, _) $ (Const (\<^const_name>\<open>HOL.Not\<close>, _) $a) $ b)) => [a,b]
-          | _ => [])
-        val goal2 = (case concl2 of _ $ a => a)
-      in
-        if rule1 = equiv_pos2_rule andalso rule2 = th_resolution_rule andalso member (op =) prems2 id1
-          andalso member (op =) goals1 goal2
-        then
-          mk_replay_node id2 theory_resolution2_rule args2 (filter_out (curry (op =) id1) prems2)
-            proof_ctxt2 concl2 bounds2 insts2 declarations2
-            (bound_sub2, assms_sub2, assms_extra2, combine_proof_steps subproof2) ::
-          combine_proof_steps steps
-        else
-          mk_replay_node id1 rule1 args1 prems1
-            proof_ctxt1 concl1 bounds1 insts1 declarations1
-            (bound_sub1, assms_sub1, assms_extra1, combine_proof_steps subproof1) ::
-          combine_proof_steps (step2 :: steps)
-      end
-  | combine_proof_steps steps = steps
-
-
-val linearize_proof =
-  let
-    fun map_node_concl f (VeriT_Node {id, rule, prems, proof_ctxt, concl}) =
-       mk_node id rule prems proof_ctxt (f concl)
-    fun linearize (VeriT_Replay_Node {id = id, rule = rule, args = _, prems = prems,
-        proof_ctxt = proof_ctxt, concl = concl, bounds = bounds, insts = _, declarations = _,
-        subproof = (bounds', assms, inputs, subproof)}) =
-      let
-        val bounds = distinct (op =) bounds
-        val bounds' = distinct (op =) bounds'
-        fun mk_prop_of_term concl =
-          concl |> fastype_of concl = \<^typ>\<open>bool\<close> ? curry (op $) \<^term>\<open>Trueprop\<close>
-        fun remove_assumption_id assumption_id prems =
-          filter_out (curry (op =) assumption_id) prems
-        fun add_assumption assumption concl =
-          \<^Const>\<open>Pure.imp for \<open>mk_prop_of_term assumption\<close> \<open>mk_prop_of_term concl\<close>\<close>
-        fun inline_assumption assumption assumption_id
-            (VeriT_Node {id, rule, prems, proof_ctxt, concl}) =
-          mk_node id rule (remove_assumption_id assumption_id prems) proof_ctxt
-            (add_assumption assumption concl)
-        fun find_input_steps_and_inline [] = []
-          | find_input_steps_and_inline
-              (VeriT_Node {id = id', rule, prems, concl, ...} :: steps) =
-            if rule = input_rule then
-              find_input_steps_and_inline (map (inline_assumption concl id') steps)
-            else
-              mk_node (id') rule prems [] concl :: find_input_steps_and_inline steps
-
-        fun free_bounds bounds (concl) =
-          fold (fn (var, typ) => fn t => Logic.all (Free (var, typ)) t) bounds concl
-        val subproof = subproof
-          |> flat o map linearize
-          |> map (map_node_concl (fold add_assumption (assms @ inputs)))
-          |> map (map_node_concl (free_bounds (bounds @ bounds')))
-          |> find_input_steps_and_inline
-        val concl = free_bounds bounds concl
-      in
-        subproof @ [mk_node id rule prems proof_ctxt concl]
-      end
-  in linearize end
-
-fun rule_of (VeriT_Replay_Node {rule,...}) = rule
-fun subproof_of (VeriT_Replay_Node {subproof = (_, _, _, subproof),...}) = subproof
-
-
-(* Massage Skolems for Sledgehammer.
-
-We have to make sure that there is an "arrow" in the graph for skolemization steps.
-
-
-A. The normal easy case
-
-This function detects the steps of the form
-  P \<longleftrightarrow> Q :skolemization
-  Q       :resolution with P
-and replace them by
-  Q       :skolemization
-Throwing away the step "P \<longleftrightarrow> Q" completely. This throws away a lot of information, but it does not
-matter too much for Sledgehammer.
-
-
-B. Skolems in subproofs
-Supporting this is more or less hopeless as long as the Isar reconstruction of Sledgehammer
-does not support more features like definitions. veriT is able to generate proofs with skolemization
-happening in subproofs inside the formula.
-  (assume "A \<or> P"
-   ...
-   P \<longleftrightarrow> Q :skolemization in the subproof
-   ...)
-  hence A \<or> P \<longrightarrow> A \<or> Q :lemma
-  ...
-  R :something with some rule
-and replace them by
-  R :skolemization with some rule
-Without any subproof
-*)
-fun remove_skolem_definitions_proof steps =
-  let
-    fun replace_equivalent_by_imp (judgement $ ((Const(\<^const_name>\<open>HOL.eq\<close>, typ) $ arg1) $ arg2)) =
-       judgement $ ((Const(\<^const_name>\<open>HOL.implies\<close>, typ) $ arg1) $ arg2)
-     | replace_equivalent_by_imp a = a (*This case is probably wrong*)
-    fun remove_skolem_definitions (VeriT_Replay_Node {id = id, rule = rule, args = args,
-         prems = prems,
-        proof_ctxt = proof_ctxt, concl = concl, bounds = bounds, insts = insts,
-        declarations = declarations,
-        subproof = (vars, assms', extra_assms', subproof)}) (prems_to_remove, skolems) =
-    let
-      val prems = prems
-        |> filter_out (member (op =) prems_to_remove)
-      val trivial_step = is_SH_trivial rule
-      fun has_skolem_substep st NONE = if is_skolemization (rule_of st) then SOME (rule_of st)
-             else fold has_skolem_substep (subproof_of st) NONE
-        | has_skolem_substep _ a = a
-      val promote_to_skolem = exists (fn t => member (op =) skolems t) prems
-      val promote_from_assms = fold has_skolem_substep subproof NONE <> NONE
-      val promote_step = promote_to_skolem orelse promote_from_assms
-      val skolem_step_to_skip = is_skolemization rule orelse
-        (promote_from_assms andalso length prems > 1)
-      val is_skolem = is_skolemization rule orelse promote_step
-      val prems = prems
-        |> filter_out (fn t => member (op =) skolems t)
-        |> is_skolem ? filter_out (String.isPrefix id)
-      val rule = (if promote_step then default_skolem_rule else rule)
-      val subproof = subproof
-        |> (is_skolem ? K []) (*subproofs of skolemization steps are useless for SH*)
-        |> map (fst o (fn st => remove_skolem_definitions st (prems_to_remove, skolems)))
-             (*no new definitions in subproofs*)
-        |> flat
-      val concl = concl
-        |> is_skolem ? replace_equivalent_by_imp
-      val step = (if skolem_step_to_skip orelse rule = veriT_def orelse trivial_step then []
-        else mk_replay_node id rule args prems proof_ctxt concl bounds insts declarations
-            (vars, assms', extra_assms', subproof)
-          |> single)
-      val defs = (if rule = veriT_def orelse trivial_step then id :: prems_to_remove
-         else prems_to_remove)
-      val skolems = (if skolem_step_to_skip then id :: skolems else skolems)
-    in
-      (step, (defs, skolems))
-    end
-  in
-    fold_map remove_skolem_definitions steps ([], [])
-    |> fst
-    |> flat
-  end
-
-local
-  fun import_proof_and_post_process typs funs lines ctxt =
-    let
-      val compress = SMT_Config.compress_verit_proofs ctxt
-      val smtlib_lines_without_qm =
-        lines
-        |> map single
-        |> map SMTLIB.parse
-        |> map remove_all_qm2
-      val (raw_steps, _, _) =
-        parse_raw_proof_steps NONE smtlib_lines_without_qm SMTLIB_Proof.empty_name_binding
-
-      fun process step (cx, cx') =
-        let fun postprocess step (cx, cx') =
-          let val (step, cx) = postprocess_proof compress ctxt step cx
-          in (step, (cx, cx')) end
-        in uncurry (fold_map postprocess) (preprocess compress step (cx, cx')) end
-      val step =
-        (empty_context ctxt typs funs, [])
-        |> fold_map process raw_steps
-        |> (fn (steps, (cx, _)) => (flat steps, cx))
-        |> compress? apfst combine_proof_steps
-    in step end
-in
-
-fun parse typs funs lines ctxt =
-  let
-    val (u, env) = import_proof_and_post_process typs funs lines ctxt
-    val t = u
-       |> remove_skolem_definitions_proof
-       |> flat o (map linearize_proof)
-    fun node_to_step (VeriT_Node {id, rule, prems, concl, ...}) =
-      mk_step id rule prems [] concl []
-  in
-    (map node_to_step t, ctxt_of env)
-  end
-
-fun parse_replay typs funs lines ctxt =
-  let
-    val (u, env) = import_proof_and_post_process typs funs lines ctxt
-    val _ = (SMT_Config.verit_msg ctxt) (fn () => \<^print> u)
-  in
-    (u, ctxt_of env)
-  end
-end
-
-end;
--- a/src/HOL/Tools/SMT/verit_replay.ML	Sun Aug 21 14:01:59 2022 +0000
+++ b/src/HOL/Tools/SMT/verit_replay.ML	Mon Aug 22 06:27:28 2022 +0200
@@ -41,14 +41,14 @@
 
 fun replay_thm method_for rewrite_rules ll_defs ctxt assumed unchanged_prems prems nthms
     concl_transformation global_transformation args insts
-    (Verit_Proof.VeriT_Replay_Node {id, rule, concl, bounds, declarations = decls, ...}) =
+    (Lethe_Proof.Lethe_Replay_Node {id, rule, concl, bounds, declarations = decls, ...}) =
   let
     val _ = SMT_Config.verit_msg ctxt (fn () => \<^print> id)
     val rewrite = let val thy = Proof_Context.theory_of (empty_simpset ctxt) in
         Raw_Simplifier.rewrite_term thy rewrite_rules []
-        #> not (null ll_defs andalso Verit_Proof.keep_raw_lifting rule) ? SMTLIB_Isar.unlift_term ll_defs
+        #> not (null ll_defs andalso Lethe_Proof.keep_raw_lifting rule) ? SMTLIB_Isar.unlift_term ll_defs
       end
-    val rewrite_concl = if Verit_Proof.keep_app_symbols rule then
+    val rewrite_concl = if Lethe_Proof.keep_app_symbols rule then
           filter (curry Term.could_unify (Thm.concl_of @{thm SMT.fun_app_def}) o Thm.concl_of) rewrite_rules
         else rewrite_rules
     val post = let val thy = Proof_Context.theory_of (empty_simpset ctxt) in
@@ -63,7 +63,7 @@
       |> subst_only_free global_transformation
       |> post
   in
-    if rule = Verit_Proof.input_rule then
+    if rule = Lethe_Proof.input_rule then
       (case Symtab.lookup assumed id of
         SOME (_, thm) => thm
       | _ => raise Fail ("assumption " ^ @{make_string} id ^ " not found"))
@@ -77,20 +77,20 @@
       |> Simplifier.simplify (empty_simpset ctxt addsimps rewrite_rules)
   end
 
-fun add_used_asserts_in_step (Verit_Proof.VeriT_Replay_Node {prems,
+fun add_used_asserts_in_step (Lethe_Proof.Lethe_Replay_Node {prems,
     subproof = (_, _, _, subproof), ...}) =
   union (op =) (map_filter (try (snd o SMTLIB_Interface.role_and_index_of_assert_name)) prems @
      flat (map (fn x => add_used_asserts_in_step x []) subproof))
 
 fun remove_rewrite_rules_from_rules n =
-  (fn (step as Verit_Proof.VeriT_Replay_Node {id, ...}) =>
+  (fn (step as Lethe_Proof.Lethe_Replay_Node {id, ...}) =>
     (case try (snd o SMTLIB_Interface.role_and_index_of_assert_name) id of
       NONE => SOME step
     | SOME a => if a < n then NONE else SOME step))
 
 
 fun replay_theorem_step rewrite_rules ll_defs assumed inputs proof_prems
-  (step as Verit_Proof.VeriT_Replay_Node {id, rule, prems, bounds, args, insts,
+  (step as Lethe_Proof.Lethe_Replay_Node {id, rule, prems, bounds, args, insts,
      subproof = (fixes, assms, input, subproof), concl, ...}) state =
   let
     val (proofs, stats, ctxt, concl_tranformation, global_transformation) = state
@@ -104,9 +104,9 @@
        (ListPair.zip (map Free fixes, map Free (ListPair.zip (names, map snd fixes))))
 
     val post = let val thy = Proof_Context.theory_of (empty_simpset ctxt) in
-        Raw_Simplifier.rewrite_term thy ((if Verit_Proof.keep_raw_lifting rule then tl rewrite_rules else rewrite_rules)) []
+        Raw_Simplifier.rewrite_term thy ((if Lethe_Proof.keep_raw_lifting rule then tl rewrite_rules else rewrite_rules)) []
         #> Object_Logic.atomize_term ctxt
-        #> not (null ll_defs andalso Verit_Proof.keep_raw_lifting rule) ? SMTLIB_Isar.unlift_term ll_defs
+        #> not (null ll_defs andalso Lethe_Proof.keep_raw_lifting rule) ? SMTLIB_Isar.unlift_term ll_defs
         #> SMTLIB_Isar.unskolemize_names ctxt
         #> HOLogic.mk_Trueprop
       end
@@ -130,9 +130,10 @@
     (*for sko_ex and sko_forall, assumptions are in proofs',  but the definition of the skolem
        function is in proofs *)
     val nthms = prems
+      |> filter_out Lethe_Proof.is_lethe_def
       |> map (apsnd export_thm) o map_filter (Symtab.lookup (if (null subproof) then proofs else proofs'))
-    val nthms' = (if Verit_Proof.is_skolemization rule
-         then prems else [])
+    val nthms' = (if Lethe_Proof.is_skolemization rule then prems else [])
+      |> filter Lethe_Proof.is_lethe_def
       |> map_filter (Symtab.lookup proofs)
     val args = map (Term.subst_free concl_tranformation o subst_only_free global_transformation) args
     val insts = Symtab.map (K (Term.subst_free concl_tranformation o subst_only_free global_transformation)) insts
@@ -148,21 +149,12 @@
       SMT_Config.with_time_limit ctxt SMT_Config.reconstruction_step_timeout replay step
         handle Timeout.TIMEOUT _ => raise SMT_Failure.SMT SMT_Failure.Time_Out
     val stats' = Symtab.cons_list (rule, Time.toNanoseconds elapsed) stats
-(*     val _ = ((Time.toMilliseconds elapsed > 10 andalso (rule = "cong")) ? @{print})
-        ("WARNING slow " ^ id ^ @{make_string} rule ^ ": " ^ string_of_int (Time.toMilliseconds elapsed) ^ " "
-         ^ @{make_string} (proof_prems @ local_inputs))
-    val _ = ((Time.toMilliseconds elapsed > 10 andalso (rule = "cong")) ? @{print})
-        ( (proof_prems @ local_inputs))
-    val _ = ((Time.toMilliseconds elapsed > 10 andalso (rule = "cong")) ? @{print})
-        thm
-    val _ = ((Time.toMilliseconds elapsed > 40) ? @{print})
-        ("WARNING slow " ^ id ^ @{make_string} rule ^ ": " ^ string_of_int (Time.toMilliseconds elapsed)) *)
     val proofs = Symtab.update (id, (map fst bounds, thm)) proofs
   in (proofs, stats', ctxt,
        concl_tranformation, sub_global_rew) end
 
 fun replay_definition_step rewrite_rules ll_defs _ _ _
-  (Verit_Proof.VeriT_Replay_Node {id, declarations = raw_declarations, subproof = (_, _, _, subproof), ...}) state =
+  (Lethe_Proof.Lethe_Replay_Node {id, declarations = raw_declarations, subproof = (_, _, _, subproof), ...}) state =
   let
     val _ = if null subproof then ()
           else raise (Fail ("unrecognized veriT proof, definition has a subproof"))
@@ -213,15 +205,15 @@
       SMT_Config.with_time_limit ctxt SMT_Config.reconstruction_step_timeout replay
          (fn _ => Method.insert_tac ctxt (map snd assms) THEN' Classical.fast_tac ctxt)
         handle Timeout.TIMEOUT _ => raise SMT_Failure.SMT SMT_Failure.Time_Out
-    val stats' = Symtab.cons_list (Verit_Proof.input_rule, Time.toNanoseconds elapsed) stats
+    val stats' = Symtab.cons_list (Lethe_Proof.input_rule, Time.toNanoseconds elapsed) stats
   in
     (thm, stats')
   end
 
 
 fun replay_step rewrite_rules ll_defs assumed inputs proof_prems
-  (step as Verit_Proof.VeriT_Replay_Node {rule, ...}) state =
-  if rule = Verit_Proof.veriT_def
+  (step as Lethe_Proof.Lethe_Replay_Node {rule, ...}) state =
+  if rule = Lethe_Proof.lethe_def
   then replay_definition_step rewrite_rules ll_defs assumed inputs proof_prems step state
   else replay_theorem_step rewrite_rules ll_defs assumed inputs proof_prems step state
 
@@ -240,13 +232,13 @@
 
     val start0 = Timing.start ()
     val (actual_steps, ctxt2) =
-      Verit_Proof.parse_replay typs terms output ctxt
+      Lethe_Proof.parse_replay typs terms output ctxt
     val parsing_time = Time.toNanoseconds (#elapsed (Timing.result start0))
 
     fun step_of_assume (j, (_, th)) =
-      Verit_Proof.VeriT_Replay_Node {
+      Lethe_Proof.Lethe_Replay_Node {
         id = SMTLIB_Interface.assert_name_of_role_and_index SMT_Util.Axiom (id_of_index j),
-        rule = Verit_Proof.input_rule,
+        rule = Lethe_Proof.input_rule,
         args = [],
         prems = [],
         proof_ctxt = [],
@@ -267,9 +259,9 @@
 
     val assm_steps = map step_of_assume used_assm_js
 
-    fun extract (Verit_Proof.VeriT_Replay_Node {id, rule, concl, bounds, ...}) =
+    fun extract (Lethe_Proof.Lethe_Replay_Node {id, rule, concl, bounds, ...}) =
          (id, rule, concl, map fst bounds)
-    fun cond rule = rule = Verit_Proof.input_rule
+    fun cond rule = rule = Lethe_Proof.input_rule
     val add_asssert = SMT_Replay.add_asserted Symtab.update Symtab.empty extract cond
     val ((_, _), (ctxt3, assumed)) =
       add_asssert outer_ctxt rewrite_rules (map (apfst fst) assms)
@@ -292,10 +284,10 @@
       ctxt3
       |> put_simpset (SMT_Replay.make_simpset ctxt3 [])
       |> Config.put SAT.solver (Config.get ctxt3 SMT_Config.sat_solver)
-    val len = Verit_Proof.number_of_steps actual_steps
+    val len = Lethe_Proof.number_of_steps actual_steps
     fun steps_with_depth _ [] = []
-      | steps_with_depth i (p :: ps) = (i +  Verit_Proof.number_of_steps [p], p) ::
-          steps_with_depth (i +  Verit_Proof.number_of_steps [p]) ps
+      | steps_with_depth i (p :: ps) = (i +  Lethe_Proof.number_of_steps [p], p) ::
+          steps_with_depth (i +  Lethe_Proof.number_of_steps [p]) ps
     val actual_steps = steps_with_depth 0 actual_steps
     val start = Timing.start ()
     val print_runtime_statistics = SMT_Replay.intermediate_statistics ctxt4 start len
@@ -307,7 +299,7 @@
       fold (blockwise (replay_step rewrite_rules ll_defs assumed [] [])) actual_steps
         (1, (assumed, stats, ctxt4, [], global_transformation))
     val total = Time.toMilliseconds (#elapsed (Timing.result start))
-    val (_, (_, Verit_Proof.VeriT_Replay_Node {id, ...})) = split_last actual_steps
+    val (_, (_, Lethe_Proof.Lethe_Replay_Node {id, ...})) = split_last actual_steps
     val _ = print_runtime_statistics len
     val thm_with_defs = Symtab.lookup proofs id |> the |> snd
       |> singleton (Proof_Context.export ctxt5 outer_ctxt)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/HOL/Tools/SMT/verit_strategies.ML	Mon Aug 22 06:27:28 2022 +0200
@@ -0,0 +1,126 @@
+(*  Title:      HOL/Tools/SMT/Verit_Proof.ML
+    Author:     Mathias Fleury, ENS Rennes, MPI, JKU, Freiburg University
+
+VeriT proofs: parsing and abstract syntax tree.
+*)
+
+signature VERIT_STRATEGIES =
+sig
+  (*Strategy related*)
+  val veriT_strategy : string Config.T
+  val veriT_current_strategy : Context.generic -> string list
+  val all_veriT_stgies: Context.generic -> string list;
+
+  val select_veriT_stgy: string -> Context.generic -> Context.generic;
+  val valid_veriT_stgy: string -> Context.generic -> bool;
+  val verit_add_stgy: string * string list -> Context.generic -> Context.generic
+  val verit_rm_stgy: string -> Context.generic -> Context.generic
+
+  (*Global tactic*)
+  val verit_tac: Proof.context -> thm list -> int -> tactic
+  val verit_tac_stgy: string -> Proof.context -> thm list -> int -> tactic
+end;
+
+structure Verit_Strategies: VERIT_STRATEGIES =
+struct
+
+open SMTLIB_Proof
+
+val veriT_strategy_default_name = "default"; (*FUDGE*)
+val veriT_strategy_del_insts_name = "del_insts"; (*FUDGE*)
+val veriT_strategy_rm_insts_name = "ccfv_SIG"; (*FUDGE*)
+val veriT_strategy_ccfv_insts_name = "ccfv_threshold"; (*FUDGE*)
+val veriT_strategy_best_name = "best"; (*FUDGE*)
+
+val veriT_strategy_best = ["--index-sorts", "--index-fresh-sorts", "--triggers-new",
+  "--triggers-sel-rm-specific"];
+val veriT_strategy_del_insts = ["--index-sorts", "--index-fresh-sorts", "--ccfv-breadth",
+  "--inst-deletion", "--index-SAT-triggers", "--inst-deletion-loops", "--inst-deletion-track-vars",
+  "--inst-deletion", "--index-SAT-triggers"];
+val veriT_strategy_rm_insts = ["--index-SIG", "--triggers-new", "--triggers-sel-rm-specific"];
+val veriT_strategy_ccfv_insts = ["--index-sorts", "--index-fresh-sorts", "--triggers-new",
+  "--triggers-sel-rm-specific", "--triggers-restrict-combine", "--inst-deletion",
+  "--index-SAT-triggers", "--inst-deletion-loops", "--inst-deletion-track-vars", "--inst-deletion",
+  "--index-SAT-triggers", "--inst-sorts-threshold=100000", "--ematch-exp=10000000",
+  "--ccfv-index=100000", "--ccfv-index-full=1000"]
+
+val veriT_strategy_default = [];
+
+type verit_strategy = {default_strategy: string, strategies: (string * string list) list}
+fun mk_verit_strategy default_strategy strategies : verit_strategy = {default_strategy=default_strategy,strategies=strategies}
+
+val empty_data = mk_verit_strategy veriT_strategy_best_name
+  [(veriT_strategy_default_name, veriT_strategy_default),
+   (veriT_strategy_del_insts_name, veriT_strategy_del_insts),
+   (veriT_strategy_rm_insts_name, veriT_strategy_rm_insts),
+   (veriT_strategy_ccfv_insts_name, veriT_strategy_ccfv_insts),
+   (veriT_strategy_best_name, veriT_strategy_best)]
+
+fun merge_data ({strategies=strategies1,...}:verit_strategy,
+    {default_strategy,strategies=strategies2}:verit_strategy) : verit_strategy =
+  mk_verit_strategy default_strategy (AList.merge (op =) (op =) (strategies1, strategies2))
+
+structure Data = Generic_Data
+(
+  type T = verit_strategy
+  val empty = empty_data
+  val merge = merge_data
+)
+
+fun veriT_current_strategy ctxt =
+  let
+    val {default_strategy,strategies} = (Data.get ctxt)
+  in
+    AList.lookup (op=) strategies default_strategy
+   |> the
+  end
+
+val veriT_strategy = Attrib.setup_config_string \<^binding>\<open>smt_verit_strategy\<close> (K veriT_strategy_best_name);
+
+fun valid_veriT_stgy stgy context =
+  let
+    val {strategies,...} = Data.get context
+  in
+    AList.defined (op =) strategies stgy
+  end
+
+fun select_veriT_stgy stgy context =
+  let
+    val {strategies,...} = Data.get context
+    val upd = Data.map (K (mk_verit_strategy stgy strategies))
+  in
+    if not (AList.defined (op =) strategies stgy) then
+      error ("Trying to select unknown veriT strategy: " ^ quote stgy)
+    else upd context
+  end
+
+fun verit_add_stgy stgy context =
+  let
+    val {default_strategy,strategies} = Data.get context
+  in
+    Data.map
+      (K (mk_verit_strategy default_strategy (AList.update (op =) stgy strategies)))
+      context
+  end
+
+fun verit_rm_stgy stgy context =
+  let
+    val {default_strategy,strategies} = Data.get context
+  in
+    Data.map
+      (K (mk_verit_strategy default_strategy (AList.delete (op =) stgy strategies)))
+      context
+  end
+
+fun all_veriT_stgies context =
+  let
+    val {strategies,...} = Data.get context
+   in
+    map fst strategies
+  end
+
+val select_verit = SMT_Config.select_solver "verit"
+fun verit_tac ctxt = SMT_Solver.smt_tac (Config.put SMT_Config.native_bv false ((Context.proof_map select_verit ctxt)))
+fun verit_tac_stgy stgy ctxt = verit_tac (Context.proof_of (select_veriT_stgy stgy (Context.Proof ctxt)))
+
+end;
--- a/src/HOL/Tools/Sledgehammer/sledgehammer_isar.ML	Sun Aug 21 14:01:59 2022 +0000
+++ b/src/HOL/Tools/Sledgehammer/sledgehammer_isar.ML	Mon Aug 22 06:27:28 2022 +0200
@@ -54,7 +54,7 @@
 val vampire_skolemisation_rule = "skolemisation"
 val veriT_la_generic_rule = "la_generic"
 val veriT_simp_arith_rule = "simp_arith"
-val veriT_skolemize_rules = Verit_Proof.skolemization_steps
+val veriT_skolemize_rules = Lethe_Proof.skolemization_steps
 val z3_skolemize_rule = Z3_Proof.string_of_rule Z3_Proof.Skolemize
 val z3_th_lemma_rule_prefix = Z3_Proof.string_of_rule (Z3_Proof.Th_Lemma "")
 val zipperposition_cnf_rule = "cnf"
--- a/src/HOL/Tools/Sledgehammer/sledgehammer_proof_methods.ML	Sun Aug 21 14:01:59 2022 +0000
+++ b/src/HOL/Tools/Sledgehammer/sledgehammer_proof_methods.ML	Mon Aug 22 06:27:28 2022 +0200
@@ -127,7 +127,7 @@
       end
 
     fun tac_of_smt SMT_Z3 = SMT_Solver.smt_tac
-      | tac_of_smt (SMT_Verit strategy) = Verit_Proof.verit_tac_stgy strategy
+      | tac_of_smt (SMT_Verit strategy) = Verit_Strategies.verit_tac_stgy strategy
   in
     (case meth of
       Metis_Method options => tac_of_metis options
--- a/src/HOL/Tools/Sledgehammer/sledgehammer_prover.ML	Sun Aug 21 14:01:59 2022 +0000
+++ b/src/HOL/Tools/Sledgehammer/sledgehammer_prover.ML	Mon Aug 22 06:27:28 2022 +0200
@@ -221,7 +221,7 @@
 
     val smt_methodss =
       if smt_proofs then
-        [map (SMT_Method o SMT_Verit) (Verit_Proof.all_veriT_stgies (Context.Proof ctxt)),
+        [map (SMT_Method o SMT_Verit) (Verit_Strategies.all_veriT_stgies (Context.Proof ctxt)),
          [SMT_Method SMT_Z3]]
       else
         []