updated SMT certificates
authorboehmes
Wed, 03 Nov 2010 17:02:53 +0100
changeset 40333 12a06ad29681
parent 40332 5edeb5d269fa
child 40334 69930308b896
updated SMT certificates
src/HOL/Boogie/Examples/Boogie_Dijkstra.certs
src/HOL/Boogie/Examples/Boogie_Max.certs
src/HOL/Boogie/Examples/VCC_Max.certs
src/HOL/Multivariate_Analysis/Integration.certs
src/HOL/SMT_Examples/SMT_Examples.certs
src/HOL/SMT_Examples/SMT_Tests.certs
src/HOL/SMT_Examples/SMT_Word_Examples.certs
--- a/src/HOL/Boogie/Examples/Boogie_Dijkstra.certs	Wed Nov 03 16:44:38 2010 +0100
+++ b/src/HOL/Boogie/Examples/Boogie_Dijkstra.certs	Wed Nov 03 17:02:53 2010 +0100
@@ -1,4 +1,4 @@
-a959f1dced399224414912ad7379705a61749faa 6889 0
+6752602a8162146a4b4b0b817f42d730f1852d5d 6889 0
 #2 := false
 decl f11 :: (-> S5 S2 S1)
 decl ?v1!7 :: (-> S2 S2)
--- a/src/HOL/Boogie/Examples/Boogie_Max.certs	Wed Nov 03 16:44:38 2010 +0100
+++ b/src/HOL/Boogie/Examples/Boogie_Max.certs	Wed Nov 03 17:02:53 2010 +0100
@@ -1,4 +1,4 @@
-16ee32e23503be38842c16c90807e66120a960ee 2224 0
+dea36391893064c022de7bc923e15ef446cb4303 2224 0
 #2 := false
 #8 := 0::int
 decl f5 :: (-> int int)
--- a/src/HOL/Boogie/Examples/VCC_Max.certs	Wed Nov 03 16:44:38 2010 +0100
+++ b/src/HOL/Boogie/Examples/VCC_Max.certs	Wed Nov 03 17:02:53 2010 +0100
@@ -1,4 +1,4 @@
-5815fb85125ba62bb3b4a150604c8978e5a08a22 7862 0
+9e8f6c5e5fd53eee967069dced75f48858a605e7 7862 0
 #2 := false
 decl f111 :: (-> S4 S5 int)
 decl f67 :: (-> S5 int S3 S5)
--- a/src/HOL/Multivariate_Analysis/Integration.certs	Wed Nov 03 16:44:38 2010 +0100
+++ b/src/HOL/Multivariate_Analysis/Integration.certs	Wed Nov 03 17:02:53 2010 +0100
@@ -1,4 +1,4 @@
-19e9a49723add29f06290682aca290aa2ab968ea 238 0
+2e15025784d0676586e79b418a67bcb9811380a1 238 0
 #2 := false
 #48 := 0::real
 decl f19 :: (-> S3 S10 real)
@@ -237,7 +237,7 @@
 #486 := [unit-resolution #460 #485]: #453
 [th-lemma #479 #259 #257 #474 #258 #486]: false
 unsat
-96c3a1d2dea133da23272bb1832adcfffc19c650 333 0
+4c0d1f43a6268b5d3a850361d3ff86d073eaf489 333 0
 #2 := false
 #11 := 0::real
 decl ?v2!1 :: real
@@ -571,7 +571,7 @@
 #408 := [lemma #407]: #230
 [th-lemma #406 #301 #408 #396 #303]: false
 unsat
-d083434592d4f729dd1c100279aa204b663fa35c 57 0
+40822b724c71d6702c01ad1e865c13dca0ab3c21 57 0
 #2 := false
 decl f13 :: (-> S4 S4 S5)
 #44 := (:var 0 S4)
@@ -629,7 +629,7 @@
 #264 := [quant-inst]: #263
 [unit-resolution #264 #269 #258]: false
 unsat
-93a3d21a7f84dc839f14b9a0cfcafdfff6c6b0f1 318 0
+ae79dfdacb760a3554ce388b846d335064f674de 318 0
 #2 := false
 #25 := 0::real
 decl f8 :: (-> S4 S2 real)
@@ -948,7 +948,7 @@
 #622 := [th-lemma]: #621
 [unit-resolution #622 #619 #604]: false
 unsat
-26bfbe5c6decad8b4a2114b85a11ff3552d6b060 295 0
+4c36877468848170cffdf0ddcda5eb522e99ab42 295 0
 #2 := false
 #25 := 0::real
 decl f8 :: (-> S4 S2 real)
@@ -1244,7 +1244,7 @@
 #694 := [th-lemma]: #693
 [unit-resolution #694 #691 #677]: false
 unsat
-5d75e298a98eb55cd39dacd22665bd3062cf5345 204 0
+f2fb6a78bd5ef0d3bd81c73f0edb01f05b9ead4b 204 0
 #2 := false
 #46 := 0::real
 decl f5 :: (-> S3 S2 real)
@@ -1449,7 +1449,7 @@
 #533 := [unit-resolution #532 #153]: #473
 [th-lemma #533 #529 #514]: false
 unsat
-7b235442f6856a575f67cb04d6eaa03042f5336e 870 0
+c57edc9b53558e5e0a7337a056a91568e455bc48 870 0
 #2 := false
 #11 := 0::real
 decl f5 :: real
--- a/src/HOL/SMT_Examples/SMT_Examples.certs	Wed Nov 03 16:44:38 2010 +0100
+++ b/src/HOL/SMT_Examples/SMT_Examples.certs	Wed Nov 03 17:02:53 2010 +0100
@@ -1,13 +1,4 @@
-d4b1481d70f20d4d6280999633c905e21d180d13 8 0
-#2 := false
-#1 := true
-#8 := (not true)
-#26 := (iff #8 false)
-#27 := [rewrite]: #26
-#25 := [asserted]: #8
-[mp #25 #27]: false
-unsat
-a38979487be0aafcf2d387180e92dfd3bd43e483 33 0
+24d44e2684a632b0246b194cc850faec2cea7de6 33 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -41,7 +32,16 @@
 #29 := [asserted]: #12
 [mp #29 #49]: false
 unsat
-fd75276ee28b486a6ea1b6b677d04008959d13f8 37 0
+1b7b7e7109fa2efdf94c204be8d611210920badb 8 0
+#2 := false
+#1 := true
+#8 := (not true)
+#26 := (iff #8 false)
+#27 := [rewrite]: #26
+#25 := [asserted]: #8
+[mp #25 #27]: false
+unsat
+10a83d48b539d27c174c61f5874470265d21b40f 37 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -79,7 +79,7 @@
 #29 := [asserted]: #12
 [mp #29 #53]: false
 unsat
-58aaefc3b25d8181c01a2139430686aeca861bf3 66 0
+060c210941c0fd9eca58c8250fc66d664e976010 66 0
 #2 := false
 decl f4 :: S1
 #10 := f4
@@ -146,9 +146,9 @@
 #71 := [and-elim #69]: #40
 [mp #71 #85]: false
 unsat
-a3969d96ad7c1fdd20f7d69abeb13b18bac4be8d 1 0
-unsat
-694292afe609b4087c0435b347aed1c0c0b6b45b 94 0
+b0eed80076353895afe2bbf37d588b79cf593079 1 0
+unsat
+d37af75fba79a43c8aa95dbef345ea660c999f99 94 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -243,7 +243,7 @@
 #39 := [asserted]: #22
 [mp #39 #108]: false
 unsat
-fcb0f1f1909bdd097de1e485a000708289f9f1ed 72 0
+b3ee7b71753d028d8ffbc5d42df5f0f79660f6e7 72 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -316,7 +316,7 @@
 #36 := [asserted]: #19
 [mp #36 #88]: false
 unsat
-36c95d1da5779fd86d36cb33e0f80e4f14e6c4f0 234 0
+b6f4097a3d567e9383135805312389841b9ed5f3 234 0
 #2 := false
 decl f6 :: S1
 #14 := f6
@@ -551,7 +551,7 @@
 #96 := [mp #69 #95]: #91
 [mp #96 #299]: false
 unsat
-44ca45de077963316e54f5cdfef5cb8cd66ac906 52 0
+75e07bc80c3184013212c0a5c60b827b399474ad 52 0
 #2 := false
 decl f4 :: (-> S2 S2 S2)
 #16 := (:var 1 S2)
@@ -604,7 +604,7 @@
 #118 := [quant-inst]: #204
 [unit-resolution #118 #53 #541]: false
 unsat
-f79d03683394ca6e785cbd8e87f4249c3d42307a 2578 0
+836f826330ec23da3f93f44a06ef6c00563d7781 2578 0
 #2 := false
 decl f35 :: S1
 #112 := f35
@@ -3183,7 +3183,7 @@
 #3638 := [unit-resolution #705 #3637 #3636 #3635]: #683
 [unit-resolution #1968 #3638 #3634]: false
 unsat
-3221f6bae508cb0c6bc508c2b8b4600cdb00669d 95 0
+49266526e51dee0fe0083e5120f86525e2ef1056 95 0
 #2 := false
 decl f3 :: (-> int S1)
 decl ?v0!0 :: int
@@ -3279,7 +3279,7 @@
 #102 := [and-elim #101]: #76
 [unit-resolution #102 #115]: false
 unsat
-517d7705593795e4a28f7687bc92edbaaad5e6a6 146 0
+107e72fe657296bfbc7688086b83c6164eff0b08 146 0
 #2 := false
 decl f3 :: (-> S1 S2 S1)
 #9 := (:var 0 S2)
@@ -3426,7 +3426,7 @@
 #261 := [quant-inst]: #256
 [unit-resolution #261 #584 #284]: false
 unsat
-f7796908cca3a39a93067ec7456dca4edfe09069 146 2
+2bb8a8ad07066951b9c2ff8c6c6ea8a4b3a62bfc 146 2
 #2 := false
 decl f3 :: (-> S1 S2 S1)
 #9 := (:var 0 S2)
@@ -3575,7 +3575,7 @@
 unsat
 WARNING: failed to find a pattern for quantifier (quantifier id: k!13)
 
-3d560cfeafa07e8fb4e5aedbf244ed81193a1bdd 91 0
+3415c51851ea95b52ee39d82ddb23d7a42cd9b2f 91 0
 #2 := false
 decl f3 :: (-> S2 S1)
 decl f4 :: S2
@@ -3667,7 +3667,7 @@
 #162 := [quant-inst]: #248
 [unit-resolution #162 #582 #79]: false
 unsat
-6f4135b5f443c9489ab6f839e6371eb6c05021a1 17 0
+44eecf236b490147dbc51a13ab3759021603fcea 17 0
 #2 := false
 #8 := 3::int
 #9 := (= 3::int 3::int)
@@ -3685,7 +3685,7 @@
 #27 := [asserted]: #10
 [mp #27 #36]: false
 unsat
-1fb88686c084cbd29d5379055cf31c165231f0d2 17 0
+f79c070f64eae6123a31ed43ab22ff256427a856 17 0
 #2 := false
 #8 := 3::real
 #9 := (= 3::real 3::real)
@@ -3703,7 +3703,7 @@
 #27 := [asserted]: #10
 [mp #27 #36]: false
 unsat
-4439cb9b553ba6a7d3d7adaf0bccb7b403389495 26 0
+4ebfd0cdcde15d352023497277a471fa091558e8 26 0
 #2 := false
 #11 := 4::int
 #9 := 1::int
@@ -3730,7 +3730,7 @@
 #30 := [asserted]: #13
 [mp #30 #45]: false
 unsat
-f4b4baf086c1953b46b6c8516c9a7e45f6c086ee 41 0
+c45eaaff3b4218ae166b1ee5b57daee45f751625 41 0
 #2 := false
 decl f3 :: int
 #8 := f3
@@ -3772,7 +3772,7 @@
 #33 := [asserted]: #16
 [mp #33 #57]: false
 unsat
-5926d4083f7d2a89c57531d8e87a5d554a39421a 35 0
+c12d97c9fd2930565ac865f67ef562b3c45fbf6a 35 0
 #2 := false
 #9 := 3::int
 #10 := 8::int
@@ -3808,7 +3808,7 @@
 #31 := [asserted]: #14
 [mp #31 #56]: false
 unsat
-53ebe62bcea7dc90158b3082dda2089fed123703 209 0
+7cb5a788981ee8a217912588519fd956ced665e2 209 0
 #2 := false
 #11 := 0::real
 decl f4 :: real
@@ -4018,7 +4018,7 @@
 #231 := [unit-resolution #159 #230]: #150
 [th-lemma #125 #220 #227 #231]: false
 unsat
-cbc9c5a04b9570a386fb97f8ff4491630835be54 42 0
+1e234cc93c775a7f92c9808afe1122152dd4b38c 42 0
 #2 := false
 decl f3 :: (-> S1 S2)
 decl f1 :: S1
@@ -4061,7 +4061,7 @@
 #32 := [asserted]: #15
 [mp #32 #58]: false
 unsat
-732b399d3ae1d48d68db7a2b4fb14062c7ea7650 54 0
+b18c0c1cf966295783ca6ddab09d2dabebd74ff7 54 0
 #2 := false
 #13 := 1::int
 decl f3 :: int
@@ -4116,7 +4116,7 @@
 #33 := [asserted]: #16
 [mp #33 #72]: false
 unsat
-a511ac5eff75bd85fb28de979615bdeb27073e2f 63 0
+3db1a0441939b3cc14e2a4efb4f74cab6c664bd5 63 0
 #2 := false
 #15 := 0::int
 decl f4 :: int
@@ -4180,7 +4180,7 @@
 #81 := [mp #57 #80]: #68
 [mp #81 #93]: false
 unsat
-5e99525435673f50d9e2cedb056a3eef3ca48d0f 35 0
+08fc4e7efc68a91cbed93f860a54fb029c71bcbb 35 0
 #2 := false
 #10 := 5::int
 #8 := 2::int
@@ -4216,7 +4216,7 @@
 #30 := [asserted]: #13
 [mp #30 #54]: false
 unsat
-cb1ff2dbd74d2844a905d03c2bb5dfdcef7b3703 45 0
+3adb493c0d9d387d1aebf7bcb353d3c00a0851a0 45 0
 #2 := false
 #15 := 4::real
 decl f4 :: real
@@ -4262,7 +4262,7 @@
 #65 := [mp #41 #64]: #56
 [th-lemma #65 #52 #43]: false
 unsat
-7357ea99a84507698d605d047a8912506786b005 59 0
+5ee51bc5647785432ba0c87ce1c0376c614df467 59 0
 #2 := false
 #20 := (not false)
 decl f4 :: int
@@ -4322,7 +4322,7 @@
 #39 := [asserted]: #22
 [mp #39 #76]: false
 unsat
-a2e7fe792ce7e828740707e47e962b9013bfaa8c 43 0
+28a095b5ca08adc7ff0222dfacd76cf43a8ba449 43 0
 #2 := false
 decl f3 :: int
 #8 := f3
@@ -4366,7 +4366,7 @@
 #31 := [asserted]: #14
 [mp #31 #62]: false
 unsat
-f746fa8e8060fa7d6624d49afb6c22d0c2467190 86 0
+d13adc55a1937ef83f29c016ef8623fe1fda09eb 86 0
 #2 := false
 decl f3 :: int
 #9 := f3
@@ -4453,7 +4453,7 @@
 #104 := [unit-resolution #82 #103 #96 #87]: #65
 [unit-resolution #104 #117]: false
 unsat
-96de0a1de3d9897dfb99656d5dd83bfdb80fa75e 551 0
+372a6ad969cb318322945cf566c5d0dc9eaab120 551 0
 #2 := false
 #174 := 0::int
 decl f4 :: int
@@ -5005,7 +5005,7 @@
 #617 := [unit-resolution #411 #614]: #421
 [unit-resolution #601 #617 #593 #616]: false
 unsat
-be4350e057381018abf4a5df1b96e44aa5440970 2109 0
+79f1383c7c06e3e99fb5b45b946ee8edd0a67644 2109 0
 #2 := false
 #10 := 0::int
 decl f3 :: int
@@ -7115,7 +7115,7 @@
 #2119 := [unit-resolution #2118 #2109 #2056 #2114 #2113 #2112 #2096 #2108]: #945
 [unit-resolution #1969 #2119 #2109 #2096 #2042 #2105 #2108]: false
 unsat
-9371d51a82e0a1300620d46b4e7e3f2e34923066 52 0
+e5059b0c3e879c6b6b3ce8026895b93ab92e0728 52 0
 #2 := false
 #12 := 1::real
 decl f3 :: real
@@ -7168,7 +7168,7 @@
 #34 := [asserted]: #17
 [mp #34 #70]: false
 unsat
-7d808a299ec3aa6543955e0b52da2db4f14e2ebc 348 0
+58d0d0a0a699999905091a630166f1e00b881d19 348 0
 #2 := false
 #11 := 0::int
 decl f5 :: int
@@ -7517,7 +7517,7 @@
 #638 := [unit-resolution #642 #647]: #643
 [unit-resolution #638 #640 #637]: false
 unsat
-a58c3bad13ae6ef8848c31ae2ecb4d141ea9bdc6 354 0
+4fc7df80f9cc116a2a88bcb88017dc9b0c75f7fc 354 0
 #2 := false
 #11 := 0::int
 decl f5 :: int
@@ -7872,7 +7872,7 @@
 #626 := [unit-resolution #621 #634]: #753
 [unit-resolution #626 #619 #508]: false
 unsat
-cfd6420dc9709ceb6bf8be602fb4605c1ddb5222 101 0
+391853aefaeecebad29422aff20420b5c8400b71 101 0
 #2 := false
 #9 := 0::real
 decl f3 :: real
@@ -7974,7 +7974,7 @@
 #120 := [th-lemma]: #119
 [unit-resolution #120 #116 #109 #43]: false
 unsat
-957b603c67e0eb51df6576d5eeddcc6aa6ccd469 943 0
+fee0ab8e0ed90b0d56c8dc3103c9526d6f1496af 943 0
 #2 := false
 #49 := 1::int
 decl f4 :: (-> int int int)
@@ -8918,7 +8918,7 @@
 #1294 := [unit-resolution #1107 #1293 #1239]: #405
 [unit-resolution #1252 #1294 #1292]: false
 unsat
-e0bd8674b0a8871e3484c1aaf5e9760d6cdde8fa 24 0
+a36cefa1a79f7b6b132d839263e2dbea9c7e87fc 24 0
 #2 := false
 #8 := (exists (vars (?v0 int)) false)
 #9 := (not #8)
@@ -8943,7 +8943,7 @@
 #27 := [asserted]: #10
 [mp #27 #43]: false
 unsat
-20e7b35733689b5c0fe416fc2b22bfe44b252442 24 0
+54fcba387e363cf8083d4867a9793bbccb7a0314 24 0
 #2 := false
 #8 := (exists (vars (?v0 real)) false)
 #9 := (not #8)
@@ -8968,13 +8968,13 @@
 #27 := [asserted]: #10
 [mp #27 #43]: false
 unsat
-c605fee711b129b0bde66fbd9b8f8cc9ce226e9a 1 0
-unsat
-e58017e3173d9778bc4b43bd6c7d6554fa96991e 1 0
-unsat
-0e0dcf19cd5b120a9f262cfa9c01b662a315ee94 1 0
-unsat
-1781c1a480d6415ddb235a621259ce2092732ba5 67 0
+fb9fab32fe487ed4f4e3d6fe3002d02a0faf856f 1 0
+unsat
+04a6b607d97a19c61cf9fb86541a5de438beb133 1 0
+unsat
+12094d1935a50c8a07214f044f89a779adda7144 1 0
+unsat
+5e524c2f74a70173d25f03f6292e4c1715c27295 67 0
 #2 := false
 #9 := 0::int
 #12 := 1::int
@@ -9042,7 +9042,7 @@
 #143 := [trans #141 #80]: #142
 [mp #143 #145]: false
 unsat
-cb54bc1c8221ce33a204ef4756c350ab3a9165fd 82 0
+8d9412b39d1e4ff552ff059a2a38b571d1cc91d5 82 0
 #2 := false
 #9 := (:var 0 int)
 #11 := 0::int
@@ -9125,7 +9125,7 @@
 #35 := [asserted]: #18
 [mp #35 #101]: false
 unsat
-05e26467c63b2926bb1206f4d9498749ac8572cd 78 0
+27ab42ad2d8b0d1fd722c36b1b4da113e0100061 78 0
 #2 := false
 #9 := (:var 0 int)
 #11 := 2::int
@@ -9204,7 +9204,7 @@
 #36 := [asserted]: #19
 [mp #36 #97]: false
 unsat
-9a25b8cd095131859f14e6e15166f75f654f8b36 61 0
+df217f217128f3754a777d8b086332e1f6ca39ed 61 0
 #2 := false
 #13 := (:var 0 int)
 #8 := 2::int
@@ -9266,7 +9266,7 @@
 #35 := [asserted]: #18
 [mp #35 #80]: false
 unsat
-b845be4ad91437fd7de4e1e43e09de89dff87060 111 0
+ae3d6219d877e775dfed10c63209e257accf66b7 111 0
 #2 := false
 #8 := 2::int
 decl ?v0!1 :: int
@@ -9378,7 +9378,7 @@
 #189 := [th-lemma]: #188
 [unit-resolution #189 #132 #130 #131]: false
 unsat
-d516d2245b3e1198319c778f5d87f60364d9480b 89 0
+13bee6926c3836fd51ee6bc754d5c22e812fc512 89 0
 #2 := false
 #8 := 0::int
 decl ?v0!0 :: int
@@ -9468,7 +9468,7 @@
 #172 := [unit-resolution #157 #95]: #171
 [unit-resolution #172 #170 #167]: false
 unsat
-16973ba3459b683ba763cfd9d1b131b50880d52b 83 2
+d8021ae1b4589558d9fd489bf446659dddb6bd92 83 2
 #2 := false
 #9 := 0::int
 #8 := (:var 0 int)
@@ -9554,7 +9554,7 @@
 unsat
 WARNING: failed to find a pattern for quantifier (quantifier id: k!9)
 
-6a2477ce7e396f5a6b8350494c34556e3187382b 180 2
+d2e44415b02dc3e73faa264730b98a3e42a2c4b7 180 2
 #2 := false
 #16 := 3::int
 #37 := -1::int
@@ -9737,7 +9737,7 @@
 unsat
 WARNING: failed to find a pattern for quantifier (quantifier id: k!9)
 
-2c2ba5876a1ae5b4aacba3ec088a92e8517d1db5 68 0
+4b7d931172988b3d273106901290917cf166502b 68 0
 #2 := false
 #16 := 1::int
 #13 := (:var 1 int)
@@ -9806,7 +9806,7 @@
 #37 := [asserted]: #20
 [mp #37 #88]: false
 unsat
-3bc68a4890101c78401460850d978a5b784ef891 107 0
+3bad73f4a46430e1cd795e36a5d12f24c1d02fca 107 0
 #2 := false
 #8 := 0::int
 decl ?v1!1 :: int
@@ -9914,7 +9914,7 @@
 #128 := [and-elim #106]: #93
 [th-lemma #128 #129 #130]: false
 unsat
-69398382e4236c1f3e9ea09ef96d5056d4f3fa6e 117 0
+87d0780ec63c3625f21f826c074cd13be4d62e3f 117 0
 #2 := false
 #8 := 0::int
 decl ?v1!1 :: int
@@ -10032,7 +10032,7 @@
 #193 := [unit-resolution #192 #115]: #103
 [unit-resolution #193 #135]: false
 unsat
-4e8319ba61c4c37d1677e9a262b47203f2bf5468 148 0
+8cf44aadad8c0d87f2f57333fcb342b5ab385732 148 0
 #2 := false
 #149 := (not false)
 #11 := 0::int
@@ -10181,7 +10181,7 @@
 #163 := [mp #131 #162]: #158
 [mp #163 #186]: false
 unsat
-a21b19aa84de923d8a0d2dc0af8016cd64248558 67 0
+505b296c347b1d80912f4657132db5ad5ac9be4f 67 0
 #2 := false
 #8 := (:var 0 int)
 #9 := (pattern #8)
@@ -10249,9 +10249,9 @@
 #35 := [asserted]: #18
 [mp #35 #85]: false
 unsat
-53ac944328a76df2270bb4117390a226d92d4e8d 1 0
-unsat
-80d97536e18b652f6d95d83165f7e113fa8206dd 75 0
+69b5f9a8c6931a47249060824265e608f534018d 1 0
+unsat
+153386649b53dd5f988fd1bc7b72bcd290f53da9 75 0
 #2 := false
 #10 := 1::int
 decl f5 :: int
@@ -10327,7 +10327,7 @@
 #37 := [asserted]: #20
 [mp #37 #91]: false
 unsat
-1290567b7974f50913459a9370404d1fb27c5c04 62 0
+68a3071b380f0f7c03304499d1f2835f0bf361c3 62 0
 #2 := false
 decl f4 :: real
 #10 := f4
@@ -10390,7 +10390,7 @@
 #37 := [asserted]: #20
 [mp #37 #79]: false
 unsat
-539e99c284f7a3ed7bb350da08f51bfa73f9e832 141 0
+b6399504e06b7554863175061a53aa7486cc9086 141 0
 #2 := false
 decl f6 :: int
 #13 := f6
@@ -10532,7 +10532,7 @@
 #50 := [asserted]: #33
 [mp #50 #155]: false
 unsat
-95f708529404688f5c32519f5db83b1972672eb0 252 0
+161d4df3b39a91bf1bc07402c22e85ffba8398b2 252 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -10785,7 +10785,7 @@
 #544 := [unit-resolution #537 #456]: #562
 [th-lemma #460 #544 #542 #551]: false
 unsat
-069a886d4e32ad09f893e803be1b967f3568fe31 227 0
+2eacc8bb83fecb0fe81d96fc93fc64a7d11a9e4d 227 0
 #2 := false
 #27 := 3::int
 decl f4 :: (-> S2 int)
@@ -11013,7 +11013,7 @@
 #607 := [unit-resolution #602 #605]: #632
 [th-lemma #161 #607 #160]: false
 unsat
-dc0cfb9f55d790de5cad944289080b012df32109 367 0
+61d261a95e60947f23f698475332084ad9cfd094 367 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -11381,7 +11381,7 @@
 #461 := [th-lemma]: #460
 [unit-resolution #461 #469 #457]: false
 unsat
-1119baa29d78de9d8299759a1e2778fd64cb45ac 299 0
+ddf1adc32377020a68931e791f8d3bc93a479493 299 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -11681,7 +11681,7 @@
 #603 := [unit-resolution #617 #615]: #685
 [th-lemma #625 #190 #603 #630]: false
 unsat
-bc26a0abfecc650600742f8182ea35bd8e9c0657 458 0
+044639db28fa915f30475668c634e5237efaa068 458 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -12140,7 +12140,7 @@
 #355 := [unit-resolution #374 #372]: #373
 [unit-resolution #355 #328]: false
 unsat
-d28cb53d0b19f6ffbd9f6906e69a9e4028ab5365 161 0
+35a0968e29848376b1a21560a270f15f6d19aed4 161 0
 #2 := false
 #13 := 0::int
 decl f5 :: int
@@ -12302,7 +12302,7 @@
 #366 := [unit-resolution #644 #660]: #652
 [th-lemma #661 #366 #266]: false
 unsat
-3bdd721710ce740508c48327f8e9174f1a8cdb9c 604 0
+30478456884b028b09fee79763641a90a5f3dc95 604 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -12907,7 +12907,7 @@
 #1005 := [unit-resolution #599 #859]: #455
 [unit-resolution #1005 #1004 #994]: false
 unsat
-9702672d0e4ef4f07fbabb8ea1413e6a7036c6b3 61 0
+b7294e8991937b94c2eeb87ee3638d9d5f007d01 61 0
 #2 := false
 decl f7 :: S3
 #12 := f7
@@ -12969,7 +12969,7 @@
 #59 := [not-or-elim #58]: #57
 [unit-resolution #59 #251]: false
 unsat
-eb96c266a8e3d434df367635dd7c28e36177b61a 116 0
+0eb592b66cd32b0b3c146dc31bf114d3abca5113 116 0
 #2 := false
 decl f10 :: (-> S5 S3)
 decl f7 :: S5
@@ -13086,7 +13086,7 @@
 #81 := [not-or-elim #78]: #80
 [unit-resolution #81 #612]: false
 unsat
-9aa5c4fb11199431a576a38868b15130e8351add 192 0
+919519ba12504066a1609e5f376b9f35de340ebd 192 0
 #2 := false
 decl f6 :: (-> S3 S2 S4)
 decl f3 :: S2
@@ -13279,7 +13279,7 @@
 #73 := [not-or-elim #70]: #72
 [unit-resolution #73 #505]: false
 unsat
-25babfdee044def80821e354fcd8abca6147a0b0 80 0
+0e78b14dde5af897ffb16aaeab92efe89c61b5d1 80 0
 #2 := false
 decl f6 :: (-> S2 S3 S1)
 decl f5 :: S3
@@ -13360,7 +13360,7 @@
 #75 := [not-or-elim #69]: #74
 [mp #75 #96]: false
 unsat
-608cd0071a67598a13af0858c9e1341886caf8cc 128 0
+df98f2515329e244654c3b6826b0db995088c21e 128 0
 #2 := false
 decl f3 :: (-> S2 S2)
 #15 := (:var 0 S2)
@@ -13489,7 +13489,7 @@
 #224 := [quant-inst]: #566
 [unit-resolution #224 #575 #583]: false
 unsat
-737f3f173e29756f346a0a821d7647d108111546 469 0
+be52fda02d5daa6359d2f1d2bccf2f909cea5a49 469 0
 #2 := false
 decl f8 :: (-> S2 S4 S4)
 decl f9 :: S4
@@ -13959,7 +13959,7 @@
 #173 := [asserted]: #43
 [unit-resolution #173 #814]: false
 unsat
-5cfea173c08e120333c1dea606b9463cfcc6450a 38 0
+ee30427d464b4fb3f94aa1806f026182963de849 38 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -13998,7 +13998,7 @@
 #31 := [asserted]: #14
 [mp #31 #54]: false
 unsat
-9cf33fdca403c6c514f1cd0e17b6b0a250477095 366 0
+bb6927e05e73f0d1fe00658a23b5a23277a4c6fa 366 0
 #2 := false
 decl f3 :: (-> int S2)
 #41 := 6::int
@@ -14365,7 +14365,7 @@
 #187 := [asserted]: #44
 [unit-resolution #187 #404]: false
 unsat
-f72e33edaef326a0ed844a14ae54b706945ff4d5 1271 0
+760a08d06b818c4b3a173eacf882e5d9145febb7 1271 0
 #2 := false
 decl f6 :: (-> int int int)
 #12 := 2::int
@@ -15637,7 +15637,7 @@
 #615 := [unit-resolution #638 #1762]: #367
 [unit-resolution #615 #1764]: false
 unsat
-59b518b007738eb00dbca158af8db9e067af1dee 76 0
+1739856e83271d60ba99b4dd0f8fab6bba11b19a 76 0
 #2 := false
 decl f3 :: (-> int S1)
 #12 := (:var 0 int)
@@ -15714,7 +15714,7 @@
 #689 := [quant-inst]: #688
 [unit-resolution #689 #158 #1022]: false
 unsat
-997a0c6c7b0815f9412f3484edb90c328a2f5296 478 0
+e1c7435780cfee6dd8c9bac28159418631b73635 478 0
 #2 := false
 decl f7 :: (-> S4 S2)
 decl f8 :: (-> S1 S4)
--- a/src/HOL/SMT_Examples/SMT_Tests.certs	Wed Nov 03 16:44:38 2010 +0100
+++ b/src/HOL/SMT_Examples/SMT_Tests.certs	Wed Nov 03 17:02:53 2010 +0100
@@ -1,4 +1,4 @@
-d4b1481d70f20d4d6280999633c905e21d180d13 8 0
+1b7b7e7109fa2efdf94c204be8d611210920badb 8 0
 #2 := false
 #1 := true
 #8 := (not true)
@@ -7,7 +7,7 @@
 #25 := [asserted]: #8
 [mp #25 #27]: false
 unsat
-a38979487be0aafcf2d387180e92dfd3bd43e483 33 0
+24d44e2684a632b0246b194cc850faec2cea7de6 33 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -41,7 +41,7 @@
 #29 := [asserted]: #12
 [mp #29 #49]: false
 unsat
-ac5b1925e47f9c59b180fdccd321c68a4a01a710 16 0
+e13aa83df86f7aa731de8803590214f1f328e559 16 0
 #2 := false
 #8 := (not false)
 #9 := (not #8)
@@ -58,7 +58,7 @@
 #26 := [asserted]: #9
 [mp #26 #35]: false
 unsat
-b2faf72eaa234b8ac1acedfef5768f99ca3da86b 41 0
+f420673acb14abe98ee018177f96f582264715f6 41 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -100,7 +100,7 @@
 #30 := [asserted]: #13
 [mp #30 #57]: false
 unsat
-b13645ce0b47b432b924b38e0bebde6cbcb236f9 21 0
+1ca9ca5e02de1f4179a12b1248e2289c51261af2 21 0
 #2 := false
 #1 := true
 #8 := (not true)
@@ -122,7 +122,7 @@
 #27 := [asserted]: #10
 [mp #27 #40]: false
 unsat
-fa3a2c67c2833da196c4009cb283e94a9f22829b 65 0
+cdbc0ed6463ef1f60801c650813ddb76e5fc1674 65 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -188,7 +188,7 @@
 #33 := [asserted]: #16
 [mp #33 #81]: false
 unsat
-8ec60d0baade8bddd39b6e00ec153f6bd8949184 16 0
+717a63b9f4d0d299b9c3ce33521d4ac56124d7b8 16 0
 #2 := false
 #1 := true
 #8 := (and true true)
@@ -205,7 +205,7 @@
 #26 := [asserted]: #9
 [mp #26 #35]: false
 unsat
-85a9b542a9c6d64e778f2449f892d6d55e153689 29 0
+c378fcdabec52ebd4390861a6f8953415c34a0b9 29 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -235,7 +235,7 @@
 #28 := [asserted]: #11
 [mp #28 #45]: false
 unsat
-b448617db1567a507fc596f5b21ade645ca6e0f9 16 0
+383085ca96bed3199fce8a7516860e635411bc13 16 0
 #2 := false
 #1 := true
 #8 := (or true false)
@@ -252,7 +252,7 @@
 #26 := [asserted]: #9
 [mp #26 #35]: false
 unsat
-a21434fdffa6243cc7410eb0aff669b84c5be474 41 0
+b8d5743ec1146548a209ace4cd6155117ecb0983 41 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -294,7 +294,7 @@
 #30 := [asserted]: #13
 [mp #30 #57]: false
 unsat
-bf545ecaa58049cbf454eac70ee3077f64564cca 16 0
+bfcbf10bac83ae3af48158f2275ff2d80613bb1c 16 0
 #2 := false
 #1 := true
 #8 := (implies false true)
@@ -311,7 +311,7 @@
 #26 := [asserted]: #9
 [mp #26 #35]: false
 unsat
-a6a664cc4c3ff45fb3211b72c0f520208b902c9b 47 0
+1318ba8c39667bffead89e0e37453cef395b803a 47 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -359,7 +359,7 @@
 #32 := [asserted]: #15
 [mp #32 #62]: false
 unsat
-9a169ba4d23a9080465edad5616230c8b4e1ef98 149 0
+3613b4af790179e90308b88e5d17e375488860dc 149 0
 #2 := false
 decl f5 :: S1
 #12 := f5
@@ -509,7 +509,7 @@
 #109 := [def-axiom]: #108
 [unit-resolution #109 #165 #164 #161]: false
 unsat
-d99e41f56c960ba88eb8ca95c5a49bd2181a7626 47 0
+f66e70c965ea5e45c5d8d8afc12c5c9d8f438bbf 47 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -557,7 +557,7 @@
 #32 := [asserted]: #15
 [mp #32 #62]: false
 unsat
-8d07b6d671ef5c9eedcaa35c22d5f1c7124504cb 66 0
+6a02b3f460d6b73a1c8bb9bc10adaf8bab0c8e8d 66 0
 #2 := false
 decl f3 :: S1
 #8 := f3
@@ -624,7 +624,7 @@
 #95 := [unit-resolution #86 #65]: #94
 [unit-resolution #95 #93 #92]: false
 unsat
-a8e5086b6e21c7bf961a22426cb7ae14847089d7 55 0
+6ad20e70359f46e3ce1c064a3b8026cad7cd2ff8 55 0
 #2 := false
 decl f3 :: S1
 #8 := f3
@@ -680,7 +680,7 @@
 #71 := [and-elim #70]: #33
 [mp #71 #77]: false
 unsat
-415ad6a91bb75e131bb05d34f1965ab914825b25 67 0
+6b05ab468934ffcc0e31bde41bfd81d0a9deefeb 67 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -748,7 +748,7 @@
 #38 := [asserted]: #21
 [mp #38 #80]: false
 unsat
-e2d0843914ae918fb9bd06a2d6949232327217fa 55 0
+2b253648b79acb0e52fb9e262cb32419808d9871 55 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -804,7 +804,7 @@
 #33 := [asserted]: #16
 [mp #33 #70]: false
 unsat
-8b8741030ee2ece2c8d6b3906a1951bc56d9b885 67 0
+641947287e52d98b055b0c416150e15eb1a766da 67 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -872,7 +872,7 @@
 #38 := [asserted]: #21
 [mp #38 #80]: false
 unsat
-00d9c16458cf2825e776c32505a513a412ede70f 55 0
+9b964feeca237f6b2088e905866f89fe7614b790 55 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -928,7 +928,7 @@
 #33 := [asserted]: #16
 [mp #33 #70]: false
 unsat
-a0ca672c65c25c024851f833f39bfb2c705ec387 186 0
+d314e49b3b13f8d1c45bdec28f1a923eafa9dd30 186 0
 #2 := false
 decl f5 :: S1
 #12 := f5
@@ -1115,7 +1115,7 @@
 #118 := [def-axiom]: #117
 [unit-resolution #118 #203 #201]: false
 unsat
-bca31cbd8bb6114896c32a11dfae7025f2fc07b1 49 0
+9edb7fb964a6bff17daa4ba37de7c9c60f75b958 49 0
 #2 := false
 decl f3 :: S1
 #8 := f3
@@ -1165,7 +1165,41 @@
 #63 := [and-elim #61]: #34
 [mp #63 #69]: false
 unsat
-f5031e01f448cd128a3cce562b470d23d1a8bc59 54 0
+a7388049ad99f131accb8444cd89b6a9c1fac45f 33 0
+#2 := false
+decl f1 :: S1
+#4 := f1
+decl f3 :: S1
+#8 := f3
+#9 := (= f3 f1)
+#10 := (not #9)
+#11 := (ite #9 #9 #10)
+#12 := (not #11)
+#48 := (iff #12 false)
+#1 := true
+#43 := (not true)
+#46 := (iff #43 false)
+#47 := [rewrite]: #46
+#44 := (iff #12 #43)
+#41 := (iff #11 true)
+#30 := (= f1 f3)
+#33 := (not #30)
+#36 := (ite #30 #30 #33)
+#39 := (iff #36 true)
+#40 := [rewrite]: #39
+#37 := (iff #11 #36)
+#34 := (iff #10 #33)
+#31 := (iff #9 #30)
+#32 := [rewrite]: #31
+#35 := [monotonicity #32]: #34
+#38 := [monotonicity #32 #32 #35]: #37
+#42 := [trans #38 #40]: #41
+#45 := [monotonicity #42]: #44
+#49 := [trans #45 #47]: #48
+#29 := [asserted]: #12
+[mp #29 #49]: false
+unsat
+60c47bbe18daad2442ee45433370ee0806f6bb96 54 0
 #2 := false
 decl f3 :: S1
 #8 := f3
@@ -1220,7 +1254,7 @@
 #68 := [and-elim #66]: #34
 [mp #68 #74]: false
 unsat
-6bcac7ed9b4a6f3af0933f64ee0cb316b51a44ed 33 0
+39f56c1d543d6413fc0dc639b2b6f15664655196 33 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -1228,7 +1262,7 @@
 #8 := f3
 #9 := (= f3 f1)
 #10 := (not #9)
-#11 := (ite #9 #9 #10)
+#11 := (ite #10 #10 #9)
 #12 := (not #11)
 #48 := (iff #12 false)
 #1 := true
@@ -1239,22 +1273,22 @@
 #41 := (iff #11 true)
 #30 := (= f1 f3)
 #33 := (not #30)
-#36 := (ite #30 #30 #33)
+#36 := (ite #33 #33 #30)
 #39 := (iff #36 true)
 #40 := [rewrite]: #39
 #37 := (iff #11 #36)
-#34 := (iff #10 #33)
 #31 := (iff #9 #30)
 #32 := [rewrite]: #31
+#34 := (iff #10 #33)
 #35 := [monotonicity #32]: #34
-#38 := [monotonicity #32 #32 #35]: #37
+#38 := [monotonicity #35 #35 #32]: #37
 #42 := [trans #38 #40]: #41
 #45 := [monotonicity #42]: #44
 #49 := [trans #45 #47]: #48
 #29 := [asserted]: #12
 [mp #29 #49]: false
 unsat
-38d7d5f12a8c933e456bba4a04c7645f4c87ea49 60 0
+4262551db767bfb5375132641dc2c0e90be1daa4 60 0
 #2 := false
 decl f4 :: S1
 #10 := f4
@@ -1315,41 +1349,26 @@
 #70 := [mp #35 #67]: #64
 [mp #70 #68]: false
 unsat
-be3ab8b5e09f8f942728ba1af0512891f56e0c5b 33 0
-#2 := false
-decl f1 :: S1
-#4 := f1
-decl f3 :: S1
-#8 := f3
-#9 := (= f3 f1)
+6a7b76cfae07a340fb39c8963a01cd95eedd8bf9 18 0
+#2 := false
+decl f3 :: S2
+#8 := f3
+#9 := (= f3 f3)
 #10 := (not #9)
-#11 := (ite #10 #10 #9)
-#12 := (not #11)
-#48 := (iff #12 false)
-#1 := true
-#43 := (not true)
-#46 := (iff #43 false)
-#47 := [rewrite]: #46
-#44 := (iff #12 #43)
-#41 := (iff #11 true)
-#30 := (= f1 f3)
-#33 := (not #30)
-#36 := (ite #33 #33 #30)
-#39 := (iff #36 true)
-#40 := [rewrite]: #39
-#37 := (iff #11 #36)
-#31 := (iff #9 #30)
-#32 := [rewrite]: #31
-#34 := (iff #10 #33)
-#35 := [monotonicity #32]: #34
-#38 := [monotonicity #35 #35 #32]: #37
-#42 := [trans #38 #40]: #41
-#45 := [monotonicity #42]: #44
-#49 := [trans #45 #47]: #48
-#29 := [asserted]: #12
-[mp #29 #49]: false
-unsat
-27121de8ceb5985c14cca2c4563e9cad4d2ebd3c 79 0
+#35 := (iff #10 false)
+#1 := true
+#30 := (not true)
+#33 := (iff #30 false)
+#34 := [rewrite]: #33
+#31 := (iff #10 #30)
+#28 := (iff #9 true)
+#29 := [rewrite]: #28
+#32 := [monotonicity #29]: #31
+#36 := [trans #32 #34]: #35
+#27 := [asserted]: #10
+[mp #27 #36]: false
+unsat
+09afbbf0eb362cf37facfae99f9d6f31556e820b 79 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -1429,26 +1448,37 @@
 #36 := [asserted]: #19
 [mp #36 #93]: false
 unsat
-aa78c56be2c8312419ab25323cf112e3e8809e9f 18 0
+902a92cdc108cc8b99cf8896d6549c8ca538e3d0 29 0
 #2 := false
 decl f3 :: S2
 #8 := f3
-#9 := (= f3 f3)
-#10 := (not #9)
-#35 := (iff #10 false)
-#1 := true
-#30 := (not true)
-#33 := (iff #30 false)
-#34 := [rewrite]: #33
-#31 := (iff #10 #30)
-#28 := (iff #9 true)
-#29 := [rewrite]: #28
-#32 := [monotonicity #29]: #31
-#36 := [trans #32 #34]: #35
-#27 := [asserted]: #10
-[mp #27 #36]: false
-unsat
-dc14c19019afcaa63507e4b503184496ed6bfd2f 94 0
+decl f4 :: S2
+#9 := f4
+#11 := (= f4 f3)
+#10 := (= f3 f4)
+#12 := (implies #10 #11)
+#13 := (not #12)
+#45 := (iff #13 false)
+#1 := true
+#40 := (not true)
+#43 := (iff #40 false)
+#44 := [rewrite]: #43
+#41 := (iff #13 #40)
+#38 := (iff #12 true)
+#33 := (implies #10 #10)
+#36 := (iff #33 true)
+#37 := [rewrite]: #36
+#34 := (iff #12 #33)
+#31 := (iff #11 #10)
+#32 := [rewrite]: #31
+#35 := [monotonicity #32]: #34
+#39 := [trans #35 #37]: #38
+#42 := [monotonicity #39]: #41
+#46 := [trans #42 #44]: #45
+#30 := [asserted]: #13
+[mp #30 #46]: false
+unsat
+be971aad38d2b7ade1dc5cd9703570a52b3c13d8 94 0
 #2 := false
 decl f5 :: S1
 #13 := f5
@@ -1543,37 +1573,42 @@
 #96 := [not-or-elim #89]: #70
 [mp #96 #112]: false
 unsat
-8d3a435e96c2d773a90e94525d09aa8a352d27d6 29 0
-#2 := false
+adac1ab250a9687a951445e1ab79aef512dbc4ce 34 0
+#2 := false
+decl f5 :: S2
+#11 := f5
 decl f3 :: S2
 #8 := f3
+#14 := (= f3 f5)
 decl f4 :: S2
 #9 := f4
-#11 := (= f4 f3)
+#12 := (= f4 f5)
+#58 := (iff #12 #14)
+#56 := (iff #14 #12)
 #10 := (= f3 f4)
-#12 := (implies #10 #11)
-#13 := (not #12)
-#45 := (iff #13 false)
-#1 := true
-#40 := (not true)
-#43 := (iff #40 false)
-#44 := [rewrite]: #43
-#41 := (iff #13 #40)
-#38 := (iff #12 true)
-#33 := (implies #10 #10)
-#36 := (iff #33 true)
+#13 := (and #10 #12)
+#34 := (not #13)
+#35 := (or #34 #14)
+#38 := (not #35)
+#15 := (implies #13 #14)
+#16 := (not #15)
+#39 := (iff #16 #38)
+#36 := (iff #15 #35)
 #37 := [rewrite]: #36
-#34 := (iff #12 #33)
-#31 := (iff #11 #10)
-#32 := [rewrite]: #31
-#35 := [monotonicity #32]: #34
-#39 := [trans #35 #37]: #38
-#42 := [monotonicity #39]: #41
-#46 := [trans #42 #44]: #45
-#30 := [asserted]: #13
-[mp #30 #46]: false
-unsat
-682b764e75beeea86518e9d265c22d014c6c1f1d 114 0
+#40 := [monotonicity #37]: #39
+#33 := [asserted]: #16
+#43 := [mp #33 #40]: #38
+#41 := [not-or-elim #43]: #13
+#42 := [and-elim #41]: #10
+#57 := [monotonicity #42]: #56
+#59 := [symm #57]: #58
+#44 := [and-elim #41]: #12
+#54 := [mp #44 #59]: #14
+#45 := (not #14)
+#46 := [not-or-elim #43]: #45
+[unit-resolution #46 #54]: false
+unsat
+e22b0ec4c7a382fdc38d1cae4e9ead0e7119241c 114 0
 #2 := false
 decl f5 :: S1
 #13 := f5
@@ -1688,42 +1723,35 @@
 #136 := [unit-resolution #109 #135]: #87
 [unit-resolution #93 #136 #134]: false
 unsat
-7d6e447cf6e1145f4f9a866bcc3cde4710e17c79 34 0
-#2 := false
-decl f5 :: S2
-#11 := f5
+fecb07c630f2b4838d9143ebd9c448ef1d8c0d9f 27 0
+#2 := false
+decl f5 :: (-> S2 S2)
+decl f4 :: S2
+#9 := f4
+#12 := (f5 f4)
 decl f3 :: S2
 #8 := f3
-#14 := (= f3 f5)
-decl f4 :: S2
-#9 := f4
-#12 := (= f4 f5)
-#58 := (iff #12 #14)
-#56 := (iff #14 #12)
+#11 := (f5 f3)
+#13 := (= #11 #12)
 #10 := (= f3 f4)
-#13 := (and #10 #12)
-#34 := (not #13)
-#35 := (or #34 #14)
-#38 := (not #35)
-#15 := (implies #13 #14)
-#16 := (not #15)
-#39 := (iff #16 #38)
-#36 := (iff #15 #35)
-#37 := [rewrite]: #36
-#40 := [monotonicity #37]: #39
-#33 := [asserted]: #16
-#43 := [mp #33 #40]: #38
-#41 := [not-or-elim #43]: #13
-#42 := [and-elim #41]: #10
-#57 := [monotonicity #42]: #56
-#59 := [symm #57]: #58
-#44 := [and-elim #41]: #12
-#54 := [mp #44 #59]: #14
-#45 := (not #14)
-#46 := [not-or-elim #43]: #45
-[unit-resolution #46 #54]: false
-unsat
-c134dad603b5004748b4c36796dfbdf41bc232cc 121 0
+#33 := (not #10)
+#34 := (or #33 #13)
+#37 := (not #34)
+#14 := (implies #10 #13)
+#15 := (not #14)
+#38 := (iff #15 #37)
+#35 := (iff #14 #34)
+#36 := [rewrite]: #35
+#39 := [monotonicity #36]: #38
+#32 := [asserted]: #15
+#42 := [mp #32 #39]: #37
+#40 := [not-or-elim #42]: #10
+#51 := [monotonicity #40]: #13
+#41 := (not #13)
+#43 := [not-or-elim #42]: #41
+[unit-resolution #43 #51]: false
+unsat
+bd0235065d3ae8e8f7120ef8c728cacf6335092d 121 0
 #2 := false
 decl f5 :: S1
 #13 := f5
@@ -1845,16 +1873,17 @@
 #99 := [not-or-elim #92]: #98
 [mp #99 #138]: false
 unsat
-810792c4ea80c0bc3287d99f969f1a65dc039da5 27 0
-#2 := false
-decl f5 :: (-> S2 S2)
+d0fff77820573b42e578c359c531050dc8cc1cb7 31 0
+#2 := false
+decl f5 :: (-> S2 S2 S3)
+decl f3 :: S2
+#8 := f3
 decl f4 :: S2
 #9 := f4
-#12 := (f5 f4)
-decl f3 :: S2
-#8 := f3
-#11 := (f5 f3)
+#12 := (f5 f4 f3)
+#11 := (f5 f3 f4)
 #13 := (= #11 #12)
+#53 := (= #12 #11)
 #10 := (= f3 f4)
 #33 := (not #10)
 #34 := (or #33 #13)
@@ -1868,12 +1897,15 @@
 #32 := [asserted]: #15
 #42 := [mp #32 #39]: #37
 #40 := [not-or-elim #42]: #10
-#51 := [monotonicity #40]: #13
+#51 := (= f4 f3)
+#52 := [symm #40]: #51
+#54 := [monotonicity #52 #40]: #53
+#49 := [symm #54]: #13
 #41 := (not #13)
 #43 := [not-or-elim #42]: #41
-[unit-resolution #43 #51]: false
-unsat
-7afff0259006c1c4b6a802d510f1b96695b3e9ad 110 0
+[unit-resolution #43 #49]: false
+unsat
+b0ca15f9e66f88090a8bcf746cc11c5e9df6c55c 110 0
 #2 := false
 decl f4 :: S1
 #10 := f4
@@ -1984,39 +2016,71 @@
 #84 := [and-elim #83]: #44
 [mp #84 #129]: false
 unsat
-09e564f98c53b63bab667092b7072fa2b674fa08 31 0
-#2 := false
-decl f5 :: (-> S2 S2 S3)
-decl f3 :: S2
-#8 := f3
+18f8f90b1403ab11e524a667a0fd98ca5bbf61ca 63 0
+#2 := false
+decl f3 :: (-> S2 S2)
 decl f4 :: S2
-#9 := f4
-#12 := (f5 f4 f3)
-#11 := (f5 f3 f4)
-#13 := (= #11 #12)
-#53 := (= #12 #11)
-#10 := (= f3 f4)
-#33 := (not #10)
-#34 := (or #33 #13)
-#37 := (not #34)
-#14 := (implies #10 #13)
-#15 := (not #14)
-#38 := (iff #15 #37)
-#35 := (iff #14 #34)
-#36 := [rewrite]: #35
-#39 := [monotonicity #36]: #38
-#32 := [asserted]: #15
-#42 := [mp #32 #39]: #37
-#40 := [not-or-elim #42]: #10
-#51 := (= f4 f3)
-#52 := [symm #40]: #51
-#54 := [monotonicity #52 #40]: #53
-#49 := [symm #54]: #13
-#41 := (not #13)
-#43 := [not-or-elim #42]: #41
-[unit-resolution #43 #49]: false
-unsat
-83b90287eef3783de4d8fa4aad70d03dd0abddbf 127 0
+#8 := f4
+#9 := (f3 f4)
+#46 := (= f4 #9)
+#10 := (f3 #9)
+#12 := (f3 #10)
+#78 := (= #12 #9)
+#76 := (= #9 #12)
+#37 := (= f4 #10)
+#13 := (f3 #12)
+#14 := (f3 #13)
+#40 := (= f4 #14)
+#43 := (and #37 #40)
+#52 := (not #43)
+#53 := (or #52 #46)
+#58 := (not #53)
+#17 := (= #9 f4)
+#15 := (= #14 f4)
+#11 := (= #10 f4)
+#16 := (and #11 #15)
+#18 := (implies #16 #17)
+#19 := (not #18)
+#59 := (iff #19 #58)
+#56 := (iff #18 #53)
+#49 := (implies #43 #46)
+#54 := (iff #49 #53)
+#55 := [rewrite]: #54
+#50 := (iff #18 #49)
+#47 := (iff #17 #46)
+#48 := [rewrite]: #47
+#44 := (iff #16 #43)
+#41 := (iff #15 #40)
+#42 := [rewrite]: #41
+#38 := (iff #11 #37)
+#39 := [rewrite]: #38
+#45 := [monotonicity #39 #42]: #44
+#51 := [monotonicity #45 #48]: #50
+#57 := [trans #51 #55]: #56
+#60 := [monotonicity #57]: #59
+#36 := [asserted]: #19
+#63 := [mp #36 #60]: #58
+#61 := [not-or-elim #63]: #43
+#62 := [and-elim #61]: #37
+#77 := [monotonicity #62]: #76
+#79 := [symm #77]: #78
+#81 := (= f4 #12)
+#67 := (= #14 #12)
+#70 := (= #12 #14)
+#72 := (= #10 #13)
+#74 := (= #13 #10)
+#75 := [monotonicity #79]: #74
+#73 := [symm #75]: #72
+#71 := [monotonicity #73]: #70
+#80 := [symm #71]: #67
+#64 := [and-elim #61]: #40
+#82 := [trans #64 #80]: #81
+#83 := [trans #82 #79]: #46
+#65 := (not #46)
+#66 := [not-or-elim #63]: #65
+[unit-resolution #66 #83]: false
+unsat
+a46bdf5ddd9c6bc8726e86b886e63d5fce2aa764 127 0
 #2 := false
 decl f5 :: S1
 #13 := f5
@@ -2144,138 +2208,7 @@
 #149 := [unit-resolution #131 #147]: #97
 [unit-resolution #108 #149 #148]: false
 unsat
-f97c055cc3b87ad54efe59b6c22e3e3633409f7e 63 0
-#2 := false
-decl f3 :: (-> S2 S2)
-decl f4 :: S2
-#8 := f4
-#9 := (f3 f4)
-#46 := (= f4 #9)
-#10 := (f3 #9)
-#12 := (f3 #10)
-#78 := (= #12 #9)
-#76 := (= #9 #12)
-#37 := (= f4 #10)
-#13 := (f3 #12)
-#14 := (f3 #13)
-#40 := (= f4 #14)
-#43 := (and #37 #40)
-#52 := (not #43)
-#53 := (or #52 #46)
-#58 := (not #53)
-#17 := (= #9 f4)
-#15 := (= #14 f4)
-#11 := (= #10 f4)
-#16 := (and #11 #15)
-#18 := (implies #16 #17)
-#19 := (not #18)
-#59 := (iff #19 #58)
-#56 := (iff #18 #53)
-#49 := (implies #43 #46)
-#54 := (iff #49 #53)
-#55 := [rewrite]: #54
-#50 := (iff #18 #49)
-#47 := (iff #17 #46)
-#48 := [rewrite]: #47
-#44 := (iff #16 #43)
-#41 := (iff #15 #40)
-#42 := [rewrite]: #41
-#38 := (iff #11 #37)
-#39 := [rewrite]: #38
-#45 := [monotonicity #39 #42]: #44
-#51 := [monotonicity #45 #48]: #50
-#57 := [trans #51 #55]: #56
-#60 := [monotonicity #57]: #59
-#36 := [asserted]: #19
-#63 := [mp #36 #60]: #58
-#61 := [not-or-elim #63]: #43
-#62 := [and-elim #61]: #37
-#77 := [monotonicity #62]: #76
-#79 := [symm #77]: #78
-#81 := (= f4 #12)
-#67 := (= #14 #12)
-#70 := (= #12 #14)
-#72 := (= #10 #13)
-#74 := (= #13 #10)
-#75 := [monotonicity #79]: #74
-#73 := [symm #75]: #72
-#71 := [monotonicity #73]: #70
-#80 := [symm #71]: #67
-#64 := [and-elim #61]: #40
-#82 := [trans #64 #80]: #81
-#83 := [trans #82 #79]: #46
-#65 := (not #46)
-#66 := [not-or-elim #63]: #65
-[unit-resolution #66 #83]: false
-unsat
-a7f2c916e2192b153aaac29ea6f75d0842fd84d2 66 0
-#2 := false
-decl f3 :: S1
-#8 := f3
-decl f1 :: S1
-#4 := f1
-#33 := (= f1 f3)
-decl f4 :: S1
-#10 := f4
-#36 := (= f1 f4)
-#42 := (not #33)
-#43 := (or #42 #36)
-#51 := (not #43)
-#52 := (or #33 #51)
-#82 := (iff #52 #51)
-#77 := (or false #51)
-#80 := (iff #77 #51)
-#81 := [rewrite]: #80
-#78 := (iff #52 #77)
-#75 := (iff #33 false)
-#60 := (not #52)
-#61 := (or #33 #60)
-#66 := (not #61)
-#9 := (= f3 f1)
-#11 := (= f4 f1)
-#12 := (implies #9 #11)
-#13 := (implies #12 #9)
-#14 := (implies #13 #9)
-#15 := (not #14)
-#67 := (iff #15 #66)
-#64 := (iff #14 #61)
-#57 := (implies #52 #33)
-#62 := (iff #57 #61)
-#63 := [rewrite]: #62
-#58 := (iff #14 #57)
-#34 := (iff #9 #33)
-#35 := [rewrite]: #34
-#55 := (iff #13 #52)
-#48 := (implies #43 #33)
-#53 := (iff #48 #52)
-#54 := [rewrite]: #53
-#49 := (iff #13 #48)
-#46 := (iff #12 #43)
-#39 := (implies #33 #36)
-#44 := (iff #39 #43)
-#45 := [rewrite]: #44
-#40 := (iff #12 #39)
-#37 := (iff #11 #36)
-#38 := [rewrite]: #37
-#41 := [monotonicity #35 #38]: #40
-#47 := [trans #41 #45]: #46
-#50 := [monotonicity #47 #35]: #49
-#56 := [trans #50 #54]: #55
-#59 := [monotonicity #56 #35]: #58
-#65 := [trans #59 #63]: #64
-#68 := [monotonicity #65]: #67
-#32 := [asserted]: #15
-#71 := [mp #32 #68]: #66
-#69 := [not-or-elim #71]: #42
-#76 := [iff-false #69]: #75
-#79 := [monotonicity #76]: #78
-#83 := [trans #79 #81]: #82
-#70 := [not-or-elim #71]: #52
-#84 := [mp #70 #83]: #51
-#74 := [not-or-elim #84]: #33
-[unit-resolution #69 #74]: false
-unsat
-0b20a1cbaefe018fa6502d17013ec89dc657717b 195 0
+937f73f84ea1ebaa68a1a0ee6c81cfd2f4fda91b 195 0
 #2 := false
 decl f6 :: S2
 #13 := f6
@@ -2471,7 +2404,74 @@
 #209 := [unit-resolution #118 #208]: #116
 [unit-resolution #209 #210]: false
 unsat
-d398c106ccd0941d46bab8e5feda32347dd02740 156 0
+622e9d57e1cdc32316cdcbb8529fc67f719c97a9 66 0
+#2 := false
+decl f3 :: S1
+#8 := f3
+decl f1 :: S1
+#4 := f1
+#33 := (= f1 f3)
+decl f4 :: S1
+#10 := f4
+#36 := (= f1 f4)
+#42 := (not #33)
+#43 := (or #42 #36)
+#51 := (not #43)
+#52 := (or #33 #51)
+#82 := (iff #52 #51)
+#77 := (or false #51)
+#80 := (iff #77 #51)
+#81 := [rewrite]: #80
+#78 := (iff #52 #77)
+#75 := (iff #33 false)
+#60 := (not #52)
+#61 := (or #33 #60)
+#66 := (not #61)
+#9 := (= f3 f1)
+#11 := (= f4 f1)
+#12 := (implies #9 #11)
+#13 := (implies #12 #9)
+#14 := (implies #13 #9)
+#15 := (not #14)
+#67 := (iff #15 #66)
+#64 := (iff #14 #61)
+#57 := (implies #52 #33)
+#62 := (iff #57 #61)
+#63 := [rewrite]: #62
+#58 := (iff #14 #57)
+#34 := (iff #9 #33)
+#35 := [rewrite]: #34
+#55 := (iff #13 #52)
+#48 := (implies #43 #33)
+#53 := (iff #48 #52)
+#54 := [rewrite]: #53
+#49 := (iff #13 #48)
+#46 := (iff #12 #43)
+#39 := (implies #33 #36)
+#44 := (iff #39 #43)
+#45 := [rewrite]: #44
+#40 := (iff #12 #39)
+#37 := (iff #11 #36)
+#38 := [rewrite]: #37
+#41 := [monotonicity #35 #38]: #40
+#47 := [trans #41 #45]: #46
+#50 := [monotonicity #47 #35]: #49
+#56 := [trans #50 #54]: #55
+#59 := [monotonicity #56 #35]: #58
+#65 := [trans #59 #63]: #64
+#68 := [monotonicity #65]: #67
+#32 := [asserted]: #15
+#71 := [mp #32 #68]: #66
+#69 := [not-or-elim #71]: #42
+#76 := [iff-false #69]: #75
+#79 := [monotonicity #76]: #78
+#83 := [trans #79 #81]: #82
+#70 := [not-or-elim #71]: #52
+#84 := [mp #70 #83]: #51
+#74 := [not-or-elim #84]: #33
+[unit-resolution #69 #74]: false
+unsat
+2e293f73ef5ad101901501ab2dcfcefd193999bd 156 0
 #2 := false
 decl f5 :: S1
 #13 := f5
@@ -2628,44 +2628,7 @@
 #114 := [def-axiom]: #113
 [unit-resolution #114 #172 #170]: false
 unsat
-ba53dbe39a10406601e0a359b3a1de14129ef1a1 36 0
-#2 := false
-decl f5 :: S2
-#10 := f5
-decl f3 :: S2
-#8 := f3
-#12 := (= f3 f5)
-#13 := (not #12)
-decl f4 :: S2
-#9 := f4
-#11 := (distinct f3 f4 f5)
-#33 := (not #11)
-#34 := (or #33 #13)
-#37 := (not #34)
-#14 := (implies #11 #13)
-#15 := (not #14)
-#38 := (iff #15 #37)
-#35 := (iff #14 #34)
-#36 := [rewrite]: #35
-#39 := [monotonicity #36]: #38
-#32 := [asserted]: #15
-#42 := [mp #32 #39]: #37
-#41 := [not-or-elim #42]: #12
-#52 := (= f4 f5)
-#53 := (not #52)
-#50 := (= f3 f4)
-#51 := (not #50)
-#48 := (and #51 #13 #53)
-#40 := [not-or-elim #42]: #11
-#58 := (or #33 #48)
-#59 := [def-axiom]: #58
-#62 := [unit-resolution #59 #40]: #48
-#49 := (not #48)
-#45 := (or #49 #13)
-#43 := [def-axiom]: #45
-[unit-resolution #43 #62 #41]: false
-unsat
-78ae843b278e5f0cc65999ee60776dec7c9f683f 114 0
+ab1dfd2f679d7dbdde93be399a76ec5036d3899f 114 0
 #2 := false
 decl f5 :: S1
 #13 := f5
@@ -2780,85 +2743,7 @@
 #101 := [mp #36 #100]: #94
 [mp #101 #130]: false
 unsat
-08e0778705271e8f33e9bdf3c26b749a4c39eda2 77 0
-#2 := false
-decl f4 :: S2
-#9 := f4
-decl f3 :: S2
-#8 := f3
-#81 := (= f3 f4)
-decl f6 :: S2
-#12 := f6
-#36 := (= f4 f6)
-#100 := (iff #36 #81)
-#98 := (iff #81 #36)
-#13 := (= f6 f4)
-#37 := (iff #13 #36)
-#97 := [commutativity]: #37
-#95 := (iff #81 #13)
-#14 := (= f3 f6)
-#42 := (not #36)
-#15 := (not #14)
-decl f5 :: S2
-#10 := f5
-#11 := (distinct f3 f4 f5)
-#51 := (not #11)
-#60 := (or #51 #15 #42)
-#63 := (not #60)
-#16 := (implies #13 #15)
-#17 := (implies #11 #16)
-#18 := (not #17)
-#66 := (iff #18 #63)
-#43 := (or #15 #42)
-#52 := (or #51 #43)
-#57 := (not #52)
-#64 := (iff #57 #63)
-#61 := (iff #52 #60)
-#62 := [rewrite]: #61
-#65 := [monotonicity #62]: #64
-#58 := (iff #18 #57)
-#55 := (iff #17 #52)
-#48 := (implies #11 #43)
-#53 := (iff #48 #52)
-#54 := [rewrite]: #53
-#49 := (iff #17 #48)
-#46 := (iff #16 #43)
-#39 := (implies #36 #15)
-#44 := (iff #39 #43)
-#45 := [rewrite]: #44
-#40 := (iff #16 #39)
-#38 := [rewrite]: #37
-#41 := [monotonicity #38]: #40
-#47 := [trans #41 #45]: #46
-#50 := [monotonicity #47]: #49
-#56 := [trans #50 #54]: #55
-#59 := [monotonicity #56]: #58
-#67 := [trans #59 #65]: #66
-#35 := [asserted]: #18
-#68 := [mp #35 #67]: #63
-#70 := [not-or-elim #68]: #14
-#96 := [monotonicity #70]: #95
-#99 := [trans #96 #97]: #98
-#101 := [symm #99]: #100
-#71 := [not-or-elim #68]: #36
-#102 := [mp #71 #101]: #81
-#82 := (not #81)
-#79 := (= f4 f5)
-#80 := (not #79)
-#83 := (= f3 f5)
-#84 := (not #83)
-#77 := (and #82 #84 #80)
-#69 := [not-or-elim #68]: #11
-#89 := (or #51 #77)
-#90 := [def-axiom]: #89
-#93 := [unit-resolution #90 #69]: #77
-#78 := (not #77)
-#75 := (or #78 #82)
-#76 := [def-axiom]: #75
-#94 := [unit-resolution #76 #93]: #82
-[unit-resolution #94 #102]: false
-unsat
-016fee2f7f490b7727a4579bedbeaa0a03271f5c 198 0
+2bb827008c60da1ea2c111246c9460521c7fdcf1 198 0
 #2 := false
 decl f5 :: S1
 #14 := f5
@@ -3057,36 +2942,7 @@
 #141 := [not-or-elim #136]: #93
 [mp #141 #215]: false
 unsat
-32fbe7827173348f5f83cc50b7e41574fd04dba5 28 0
-#2 := false
-decl f4 :: S2
-#9 := f4
-decl f3 :: S2
-#8 := f3
-#10 := (distinct f3 f4 f3 f4)
-#11 := (not #10)
-#12 := (not #11)
-#44 := (iff #12 false)
-#1 := true
-#39 := (not true)
-#42 := (iff #39 false)
-#43 := [rewrite]: #42
-#40 := (iff #12 #39)
-#37 := (iff #11 true)
-#32 := (not false)
-#35 := (iff #32 true)
-#36 := [rewrite]: #35
-#33 := (iff #11 #32)
-#30 := (iff #10 false)
-#31 := [rewrite]: #30
-#34 := [monotonicity #31]: #33
-#38 := [trans #34 #36]: #37
-#41 := [monotonicity #38]: #40
-#45 := [trans #41 #43]: #44
-#29 := [asserted]: #12
-[mp #29 #45]: false
-unsat
-3e0305075f83d65498b4a11b8ca72526b8e2d46d 134 0
+6ab97d6ee969f9713508f655f280864782914283 134 0
 #2 := false
 decl f5 :: S1
 #14 := f5
@@ -3221,38 +3077,44 @@
 #121 := [not-or-elim #116]: #81
 [mp #121 #151]: false
 unsat
-00d94d0af0e9abf6798a28ecb39a441c7c299833 30 0
-#2 := false
-decl f4 :: S2
-#9 := f4
+9cc560481317ca8682cca4f4dca87fc7141c9928 36 0
+#2 := false
+decl f5 :: S2
+#10 := f5
 decl f3 :: S2
 #8 := f3
-#10 := (= f3 f4)
-#11 := (not #10)
-#12 := (not #11)
-#13 := (implies #10 #12)
-#14 := (not #13)
-#46 := (iff #14 false)
-#1 := true
-#41 := (not true)
-#44 := (iff #41 false)
-#45 := [rewrite]: #44
-#42 := (iff #14 #41)
-#39 := (iff #13 true)
-#34 := (implies #10 #10)
-#37 := (iff #34 true)
-#38 := [rewrite]: #37
-#35 := (iff #13 #34)
-#32 := (iff #12 #10)
-#33 := [rewrite]: #32
-#36 := [monotonicity #33]: #35
-#40 := [trans #36 #38]: #39
-#43 := [monotonicity #40]: #42
-#47 := [trans #43 #45]: #46
-#31 := [asserted]: #14
-[mp #31 #47]: false
-unsat
-78ecef8a6265ee63380698aee66f7437c6eb9791 162 0
+#12 := (= f3 f5)
+#13 := (not #12)
+decl f4 :: S2
+#9 := f4
+#11 := (distinct f3 f4 f5)
+#33 := (not #11)
+#34 := (or #33 #13)
+#37 := (not #34)
+#14 := (implies #11 #13)
+#15 := (not #14)
+#38 := (iff #15 #37)
+#35 := (iff #14 #34)
+#36 := [rewrite]: #35
+#39 := [monotonicity #36]: #38
+#32 := [asserted]: #15
+#42 := [mp #32 #39]: #37
+#41 := [not-or-elim #42]: #12
+#52 := (= f4 f5)
+#53 := (not #52)
+#50 := (= f3 f4)
+#51 := (not #50)
+#48 := (and #51 #13 #53)
+#40 := [not-or-elim #42]: #11
+#58 := (or #33 #48)
+#59 := [def-axiom]: #58
+#62 := [unit-resolution #59 #40]: #48
+#49 := (not #48)
+#45 := (or #49 #13)
+#43 := [def-axiom]: #45
+[unit-resolution #43 #62 #41]: false
+unsat
+d6c8bfd9e0a388a9f9feea361765c0999d6f6245 162 0
 #2 := false
 decl f5 :: S1
 #12 := f5
@@ -3415,48 +3277,85 @@
 #178 := [unit-resolution #128 #177]: #70
 [unit-resolution #136 #178 #176 #168]: false
 unsat
-11d1529c7a7d7cf3014e0031300d5be1524ea6df 40 0
-#2 := false
-decl f5 :: S2
-#11 := f5
+4a0a614367c2678ce3a689bf35cf13d010d59c1c 77 0
+#2 := false
 decl f4 :: S2
 #9 := f4
 decl f3 :: S2
 #8 := f3
-#14 := (distinct f3 f4 f5)
+#81 := (= f3 f4)
+decl f6 :: S2
+#12 := f6
+#36 := (= f4 f6)
+#100 := (iff #36 #81)
+#98 := (iff #81 #36)
+#13 := (= f6 f4)
+#37 := (iff #13 #36)
+#97 := [commutativity]: #37
+#95 := (iff #81 #13)
+#14 := (= f3 f6)
+#42 := (not #36)
 #15 := (not #14)
-#12 := (= f3 f5)
-#10 := (= f3 f4)
-#13 := (and #10 #12)
-#35 := (not #13)
-#36 := (or #35 #15)
-#39 := (not #36)
+decl f5 :: S2
+#10 := f5
+#11 := (distinct f3 f4 f5)
+#51 := (not #11)
+#60 := (or #51 #15 #42)
+#63 := (not #60)
 #16 := (implies #13 #15)
-#17 := (not #16)
-#40 := (iff #17 #39)
-#37 := (iff #16 #36)
+#17 := (implies #11 #16)
+#18 := (not #17)
+#66 := (iff #18 #63)
+#43 := (or #15 #42)
+#52 := (or #51 #43)
+#57 := (not #52)
+#64 := (iff #57 #63)
+#61 := (iff #52 #60)
+#62 := [rewrite]: #61
+#65 := [monotonicity #62]: #64
+#58 := (iff #18 #57)
+#55 := (iff #17 #52)
+#48 := (implies #11 #43)
+#53 := (iff #48 #52)
+#54 := [rewrite]: #53
+#49 := (iff #17 #48)
+#46 := (iff #16 #43)
+#39 := (implies #36 #15)
+#44 := (iff #39 #43)
+#45 := [rewrite]: #44
+#40 := (iff #16 #39)
 #38 := [rewrite]: #37
 #41 := [monotonicity #38]: #40
-#34 := [asserted]: #17
-#44 := [mp #34 #41]: #39
-#46 := [not-or-elim #44]: #14
-#58 := (= f4 f5)
-#59 := (not #58)
-#57 := (not #12)
-#56 := (not #10)
-#54 := (and #56 #57 #59)
-#55 := (not #54)
-#42 := [not-or-elim #44]: #13
-#43 := [and-elim #42]: #10
-#52 := (or #55 #56)
-#53 := [def-axiom]: #52
-#66 := [unit-resolution #53 #43]: #55
-#62 := (or #15 #54)
-#63 := [def-axiom]: #62
-#67 := [unit-resolution #63 #66]: #15
-[unit-resolution #67 #46]: false
-unsat
-cbabdc011b8a302b61906c6191f0d7af27e25599 54 0
+#47 := [trans #41 #45]: #46
+#50 := [monotonicity #47]: #49
+#56 := [trans #50 #54]: #55
+#59 := [monotonicity #56]: #58
+#67 := [trans #59 #65]: #66
+#35 := [asserted]: #18
+#68 := [mp #35 #67]: #63
+#70 := [not-or-elim #68]: #14
+#96 := [monotonicity #70]: #95
+#99 := [trans #96 #97]: #98
+#101 := [symm #99]: #100
+#71 := [not-or-elim #68]: #36
+#102 := [mp #71 #101]: #81
+#82 := (not #81)
+#79 := (= f4 f5)
+#80 := (not #79)
+#83 := (= f3 f5)
+#84 := (not #83)
+#77 := (and #82 #84 #80)
+#69 := [not-or-elim #68]: #11
+#89 := (or #51 #77)
+#90 := [def-axiom]: #89
+#93 := [unit-resolution #90 #69]: #77
+#78 := (not #77)
+#75 := (or #78 #82)
+#76 := [def-axiom]: #75
+#94 := [unit-resolution #76 #93]: #82
+[unit-resolution #94 #102]: false
+unsat
+0758d598d78862cf824e4f1011456a0914ccf6a2 54 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -3511,41 +3410,36 @@
 #31 := [asserted]: #14
 [mp #31 #69]: false
 unsat
-8585364a9de57f2c76854513f54ec42d9a599f64 33 0
-#2 := false
-decl f3 :: S2
-#8 := f3
-decl f5 :: S2
-#10 := f5
+1c0d1ac708791c5472b4c7d4618f1f27059a330a 28 0
+#2 := false
 decl f4 :: S2
 #9 := f4
-decl f6 :: S2
-#11 := f6
-#13 := (distinct f6 f4 f5 f3)
-#12 := (distinct f3 f4 f5 f6)
-#14 := (implies #12 #13)
-#15 := (not #14)
-#47 := (iff #15 false)
-#1 := true
-#42 := (not true)
-#45 := (iff #42 false)
-#46 := [rewrite]: #45
-#43 := (iff #15 #42)
-#40 := (iff #14 true)
-#35 := (implies #12 #12)
-#38 := (iff #35 true)
-#39 := [rewrite]: #38
-#36 := (iff #14 #35)
-#33 := (iff #13 #12)
-#34 := [rewrite]: #33
-#37 := [monotonicity #34]: #36
-#41 := [trans #37 #39]: #40
-#44 := [monotonicity #41]: #43
-#48 := [trans #44 #46]: #47
-#32 := [asserted]: #15
-[mp #32 #48]: false
-unsat
-ae8651ca265765f3bb029935ca54bf350a439257 144 0
+decl f3 :: S2
+#8 := f3
+#10 := (distinct f3 f4 f3 f4)
+#11 := (not #10)
+#12 := (not #11)
+#44 := (iff #12 false)
+#1 := true
+#39 := (not true)
+#42 := (iff #39 false)
+#43 := [rewrite]: #42
+#40 := (iff #12 #39)
+#37 := (iff #11 true)
+#32 := (not false)
+#35 := (iff #32 true)
+#36 := [rewrite]: #35
+#33 := (iff #11 #32)
+#30 := (iff #10 false)
+#31 := [rewrite]: #30
+#34 := [monotonicity #31]: #33
+#38 := [trans #34 #36]: #37
+#41 := [monotonicity #38]: #40
+#45 := [trans #41 #43]: #44
+#29 := [asserted]: #12
+[mp #29 #45]: false
+unsat
+d823881369082411f62355b0e1a48f25c2d70d32 144 0
 #2 := false
 decl f5 :: S1
 #12 := f5
@@ -3690,99 +3584,38 @@
 #126 := [not-or-elim #121]: #102
 [mp #126 #161]: false
 unsat
-a785d8d462362aedcc845e3ec87cbb8d13b87ae7 91 0
-#2 := false
-decl f5 :: S2
-#10 := f5
+2b10f8f450bda227c77b2302c26fe079a9366159 30 0
+#2 := false
 decl f4 :: S2
 #9 := f4
 decl f3 :: S2
 #8 := f3
-#13 := (distinct f3 f4 f5)
-#67 := (= f4 f5)
-#68 := (not #67)
-#63 := (= f3 f5)
-#64 := (not #63)
-#61 := (= f3 f4)
-#62 := (not #61)
-#93 := (and #62 #64 #68)
-decl f6 :: S2
-#11 := f6
-#71 := (= f5 f6)
-#72 := (not #71)
-#69 := (= f4 f6)
-#70 := (not #69)
-#65 := (= f3 f6)
-#66 := (not #65)
-#73 := (and #62 #64 #66 #68 #70 #72)
-#12 := (distinct f3 f4 f5 f6)
-#14 := (distinct f4 f5 f6)
-#15 := (and #13 #14)
-#35 := (not #12)
-#36 := (or #35 #15)
-#39 := (not #36)
-#16 := (implies #12 #15)
-#17 := (not #16)
-#40 := (iff #17 #39)
-#37 := (iff #16 #36)
+#10 := (= f3 f4)
+#11 := (not #10)
+#12 := (not #11)
+#13 := (implies #10 #12)
+#14 := (not #13)
+#46 := (iff #14 false)
+#1 := true
+#41 := (not true)
+#44 := (iff #41 false)
+#45 := [rewrite]: #44
+#42 := (iff #14 #41)
+#39 := (iff #13 true)
+#34 := (implies #10 #10)
+#37 := (iff #34 true)
 #38 := [rewrite]: #37
-#41 := [monotonicity #38]: #40
-#34 := [asserted]: #17
-#44 := [mp #34 #41]: #39
-#42 := [not-or-elim #44]: #12
-#89 := (or #35 #73)
-#90 := [def-axiom]: #89
-#121 := [unit-resolution #90 #42]: #73
-#74 := (not #73)
-#75 := (or #74 #62)
-#76 := [def-axiom]: #75
-#122 := [unit-resolution #76 #121]: #62
-#81 := (or #74 #68)
-#82 := [def-axiom]: #81
-#123 := [unit-resolution #82 #121]: #68
-#77 := (or #74 #64)
-#78 := [def-axiom]: #77
-#124 := [unit-resolution #78 #121]: #64
-#101 := (or #93 #61 #63 #67)
-#102 := [def-axiom]: #101
-#125 := [unit-resolution #102 #124 #123 #122]: #93
-#94 := (not #93)
-#105 := (or #13 #94)
-#106 := [def-axiom]: #105
-#126 := [unit-resolution #106 #125]: #13
-#107 := (and #68 #70 #72)
-#85 := (or #74 #72)
-#86 := [def-axiom]: #85
-#127 := [unit-resolution #86 #121]: #72
-#83 := (or #74 #70)
-#84 := [def-axiom]: #83
-#128 := [unit-resolution #84 #121]: #70
-#115 := (or #107 #67 #69 #71)
-#116 := [def-axiom]: #115
-#129 := [unit-resolution #116 #128 #127 #123]: #107
-#108 := (not #107)
-#119 := (or #14 #108)
-#120 := [def-axiom]: #119
-#130 := [unit-resolution #120 #129]: #14
-#54 := (not #14)
-#53 := (not #13)
-#55 := (or #53 #54)
-#43 := (not #15)
-#58 := (iff #43 #55)
-#56 := (not #55)
-#49 := (not #56)
-#46 := (iff #49 #55)
-#57 := [rewrite]: #46
-#50 := (iff #43 #49)
-#51 := (iff #15 #56)
-#52 := [rewrite]: #51
-#48 := [monotonicity #52]: #50
-#59 := [trans #48 #57]: #58
-#45 := [not-or-elim #44]: #43
-#60 := [mp #45 #59]: #55
-[unit-resolution #60 #130 #126]: false
-unsat
-f037e85f433fe4b6db0edebe38d7599d0d5f9a56 121 0
+#35 := (iff #13 #34)
+#32 := (iff #12 #10)
+#33 := [rewrite]: #32
+#36 := [monotonicity #33]: #35
+#40 := [trans #36 #38]: #39
+#43 := [monotonicity #40]: #42
+#47 := [trans #43 #45]: #46
+#31 := [asserted]: #14
+[mp #31 #47]: false
+unsat
+8bc104940e4bdef62a563b12c192439ecd08c6c2 121 0
 #2 := false
 decl f5 :: S1
 #13 := f5
@@ -3904,7 +3737,48 @@
 #115 := [not-or-elim #109]: #90
 [mp #115 #138]: false
 unsat
-a79fa106ccc873005f00005d34ba1798389c2876 123 0
+c9f554ce0537c03818658e81b19fe84ceb0185a6 40 0
+#2 := false
+decl f5 :: S2
+#11 := f5
+decl f4 :: S2
+#9 := f4
+decl f3 :: S2
+#8 := f3
+#14 := (distinct f3 f4 f5)
+#15 := (not #14)
+#12 := (= f3 f5)
+#10 := (= f3 f4)
+#13 := (and #10 #12)
+#35 := (not #13)
+#36 := (or #35 #15)
+#39 := (not #36)
+#16 := (implies #13 #15)
+#17 := (not #16)
+#40 := (iff #17 #39)
+#37 := (iff #16 #36)
+#38 := [rewrite]: #37
+#41 := [monotonicity #38]: #40
+#34 := [asserted]: #17
+#44 := [mp #34 #41]: #39
+#46 := [not-or-elim #44]: #14
+#58 := (= f4 f5)
+#59 := (not #58)
+#57 := (not #12)
+#56 := (not #10)
+#54 := (and #56 #57 #59)
+#55 := (not #54)
+#42 := [not-or-elim #44]: #13
+#43 := [and-elim #42]: #10
+#52 := (or #55 #56)
+#53 := [def-axiom]: #52
+#66 := [unit-resolution #53 #43]: #55
+#62 := (or #15 #54)
+#63 := [def-axiom]: #62
+#67 := [unit-resolution #63 #66]: #15
+[unit-resolution #67 #46]: false
+unsat
+43b0ec204044e8a9ddd46de106038d6a70829412 123 0
 #2 := false
 decl f4 :: S1
 #10 := f4
@@ -4028,7 +3902,41 @@
 #92 := [not-or-elim #91]: #72
 [mp #92 #141]: false
 unsat
-7e097d3ef4e0c4927519d96187a725503177b49b 60 0
+b4be7a04408986e429b4f7b85392a0d8faa4a56b 33 0
+#2 := false
+decl f3 :: S2
+#8 := f3
+decl f5 :: S2
+#10 := f5
+decl f4 :: S2
+#9 := f4
+decl f6 :: S2
+#11 := f6
+#13 := (distinct f6 f4 f5 f3)
+#12 := (distinct f3 f4 f5 f6)
+#14 := (implies #12 #13)
+#15 := (not #14)
+#47 := (iff #15 false)
+#1 := true
+#42 := (not true)
+#45 := (iff #42 false)
+#46 := [rewrite]: #45
+#43 := (iff #15 #42)
+#40 := (iff #14 true)
+#35 := (implies #12 #12)
+#38 := (iff #35 true)
+#39 := [rewrite]: #38
+#36 := (iff #14 #35)
+#33 := (iff #13 #12)
+#34 := [rewrite]: #33
+#37 := [monotonicity #34]: #36
+#41 := [trans #37 #39]: #40
+#44 := [monotonicity #41]: #43
+#48 := [trans #44 #46]: #47
+#32 := [asserted]: #15
+[mp #32 #48]: false
+unsat
+65d147f6ee969d919cd3b4f850a39f6a343f10f2 60 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -4089,33 +3997,99 @@
 #34 := [asserted]: #17
 [mp #34 #75]: false
 unsat
-273a6dc6f10616be4347838d6cbb54a0b0ad5636 25 0
-#2 := false
-#8 := (:var 0 S2)
-#9 := (= #8 #8)
-#10 := (forall (vars (?v0 S2)) #9)
-#11 := (not #10)
-#43 := (iff #11 false)
-#1 := true
-#38 := (not true)
-#41 := (iff #38 false)
-#42 := [rewrite]: #41
-#39 := (iff #11 #38)
-#36 := (iff #10 true)
-#31 := (forall (vars (?v0 S2)) true)
-#34 := (iff #31 true)
-#35 := [elim-unused]: #34
-#32 := (iff #10 #31)
-#29 := (iff #9 true)
-#30 := [rewrite]: #29
-#33 := [quant-intro #30]: #32
-#37 := [trans #33 #35]: #36
-#40 := [monotonicity #37]: #39
-#44 := [trans #40 #42]: #43
-#28 := [asserted]: #11
-[mp #28 #44]: false
-unsat
-cb74096d43b27b6df4bed4b142ce429518455d83 121 0
+58054335ac968ebfdfe24a066ff933b0b06bebaf 91 0
+#2 := false
+decl f5 :: S2
+#10 := f5
+decl f4 :: S2
+#9 := f4
+decl f3 :: S2
+#8 := f3
+#13 := (distinct f3 f4 f5)
+#67 := (= f4 f5)
+#68 := (not #67)
+#63 := (= f3 f5)
+#64 := (not #63)
+#61 := (= f3 f4)
+#62 := (not #61)
+#93 := (and #62 #64 #68)
+decl f6 :: S2
+#11 := f6
+#71 := (= f5 f6)
+#72 := (not #71)
+#69 := (= f4 f6)
+#70 := (not #69)
+#65 := (= f3 f6)
+#66 := (not #65)
+#73 := (and #62 #64 #66 #68 #70 #72)
+#12 := (distinct f3 f4 f5 f6)
+#14 := (distinct f4 f5 f6)
+#15 := (and #13 #14)
+#35 := (not #12)
+#36 := (or #35 #15)
+#39 := (not #36)
+#16 := (implies #12 #15)
+#17 := (not #16)
+#40 := (iff #17 #39)
+#37 := (iff #16 #36)
+#38 := [rewrite]: #37
+#41 := [monotonicity #38]: #40
+#34 := [asserted]: #17
+#44 := [mp #34 #41]: #39
+#42 := [not-or-elim #44]: #12
+#89 := (or #35 #73)
+#90 := [def-axiom]: #89
+#121 := [unit-resolution #90 #42]: #73
+#74 := (not #73)
+#75 := (or #74 #62)
+#76 := [def-axiom]: #75
+#122 := [unit-resolution #76 #121]: #62
+#81 := (or #74 #68)
+#82 := [def-axiom]: #81
+#123 := [unit-resolution #82 #121]: #68
+#77 := (or #74 #64)
+#78 := [def-axiom]: #77
+#124 := [unit-resolution #78 #121]: #64
+#101 := (or #93 #61 #63 #67)
+#102 := [def-axiom]: #101
+#125 := [unit-resolution #102 #124 #123 #122]: #93
+#94 := (not #93)
+#105 := (or #13 #94)
+#106 := [def-axiom]: #105
+#126 := [unit-resolution #106 #125]: #13
+#107 := (and #68 #70 #72)
+#85 := (or #74 #72)
+#86 := [def-axiom]: #85
+#127 := [unit-resolution #86 #121]: #72
+#83 := (or #74 #70)
+#84 := [def-axiom]: #83
+#128 := [unit-resolution #84 #121]: #70
+#115 := (or #107 #67 #69 #71)
+#116 := [def-axiom]: #115
+#129 := [unit-resolution #116 #128 #127 #123]: #107
+#108 := (not #107)
+#119 := (or #14 #108)
+#120 := [def-axiom]: #119
+#130 := [unit-resolution #120 #129]: #14
+#54 := (not #14)
+#53 := (not #13)
+#55 := (or #53 #54)
+#43 := (not #15)
+#58 := (iff #43 #55)
+#56 := (not #55)
+#49 := (not #56)
+#46 := (iff #49 #55)
+#57 := [rewrite]: #46
+#50 := (iff #43 #49)
+#51 := (iff #15 #56)
+#52 := [rewrite]: #51
+#48 := [monotonicity #52]: #50
+#59 := [trans #48 #57]: #58
+#45 := [not-or-elim #44]: #43
+#60 := [mp #45 #59]: #55
+[unit-resolution #60 #130 #126]: false
+unsat
+baf592f0a849ff17a84a15f9f01a6198981eb2cc 121 0
 #2 := false
 decl f5 :: S1
 #12 := f5
@@ -4237,42 +4211,33 @@
 #115 := [not-or-elim #109]: #90
 [mp #115 #138]: false
 unsat
-2b9ce0054ea55ee81c55715bd6d24aa6896b491c 34 0
-#2 := false
-decl f1 :: S1
-#4 := f1
-decl f3 :: (-> S2 S1)
+99555255ecbea462034ff141a5c25be38b45dd0f 25 0
+#2 := false
 #8 := (:var 0 S2)
-#9 := (f3 #8)
-#10 := (= #9 f1)
-#11 := (forall (vars (?v0 S2)) #10)
-#12 := (iff #11 #11)
-#13 := (not #12)
-#49 := (iff #13 false)
-#1 := true
-#44 := (not true)
-#47 := (iff #44 false)
-#48 := [rewrite]: #47
-#45 := (iff #13 #44)
-#42 := (iff #12 true)
-#31 := (= f1 #9)
-#34 := (forall (vars (?v0 S2)) #31)
-#37 := (iff #34 #34)
-#40 := (iff #37 true)
-#41 := [rewrite]: #40
-#38 := (iff #12 #37)
-#35 := (iff #11 #34)
+#9 := (= #8 #8)
+#10 := (forall (vars (?v0 S2)) #9)
+#11 := (not #10)
+#43 := (iff #11 false)
+#1 := true
+#38 := (not true)
+#41 := (iff #38 false)
+#42 := [rewrite]: #41
+#39 := (iff #11 #38)
+#36 := (iff #10 true)
+#31 := (forall (vars (?v0 S2)) true)
+#34 := (iff #31 true)
+#35 := [elim-unused]: #34
 #32 := (iff #10 #31)
-#33 := [rewrite]: #32
-#36 := [quant-intro #33]: #35
-#39 := [monotonicity #36 #36]: #38
-#43 := [trans #39 #41]: #42
-#46 := [monotonicity #43]: #45
-#50 := [trans #46 #48]: #49
-#30 := [asserted]: #13
-[mp #30 #50]: false
-unsat
-f67715569c1aa586d3c8e9a94e103b17f1f34614 84 0
+#29 := (iff #9 true)
+#30 := [rewrite]: #29
+#33 := [quant-intro #30]: #32
+#37 := [trans #33 #35]: #36
+#40 := [monotonicity #37]: #39
+#44 := [trans #40 #42]: #43
+#28 := [asserted]: #11
+[mp #28 #44]: false
+unsat
+882516ca3718492c49c1d6f4497b372b324593e7 84 0
 #2 := false
 decl f4 :: S1
 #10 := f4
@@ -4357,7 +4322,90 @@
 #96 := [unit-resolution #85 #93]: #83
 [unit-resolution #96 #101 #100]: false
 unsat
-4905f6794c524726db3be755d752d3ea53fc4f9a 95 0
+38463bf62ec87c56bbacd6ee7e49d6b7b9e553c8 34 0
+#2 := false
+decl f1 :: S1
+#4 := f1
+decl f3 :: (-> S2 S1)
+#8 := (:var 0 S2)
+#9 := (f3 #8)
+#10 := (= #9 f1)
+#11 := (forall (vars (?v0 S2)) #10)
+#12 := (iff #11 #11)
+#13 := (not #12)
+#49 := (iff #13 false)
+#1 := true
+#44 := (not true)
+#47 := (iff #44 false)
+#48 := [rewrite]: #47
+#45 := (iff #13 #44)
+#42 := (iff #12 true)
+#31 := (= f1 #9)
+#34 := (forall (vars (?v0 S2)) #31)
+#37 := (iff #34 #34)
+#40 := (iff #37 true)
+#41 := [rewrite]: #40
+#38 := (iff #12 #37)
+#35 := (iff #11 #34)
+#32 := (iff #10 #31)
+#33 := [rewrite]: #32
+#36 := [quant-intro #33]: #35
+#39 := [monotonicity #36 #36]: #38
+#43 := [trans #39 #41]: #42
+#46 := [monotonicity #43]: #45
+#50 := [trans #46 #48]: #49
+#30 := [asserted]: #13
+[mp #30 #50]: false
+unsat
+c1b8de1fea5b45b3a67eb085640285bc1cfbb463 47 0
+#2 := false
+decl f1 :: S1
+#4 := f1
+decl f3 :: S1
+#8 := f3
+#9 := (= f3 f1)
+decl f4 :: S1
+#10 := f4
+#11 := (= f4 f1)
+#13 := (iff #11 #9)
+#12 := (iff #9 #11)
+#14 := (iff #12 #13)
+#15 := (not #14)
+#61 := (iff #15 false)
+#1 := true
+#56 := (not true)
+#59 := (iff #56 false)
+#60 := [rewrite]: #59
+#57 := (iff #15 #56)
+#54 := (iff #14 true)
+#36 := (= f1 f4)
+#33 := (= f1 f3)
+#39 := (iff #33 #36)
+#49 := (iff #39 #39)
+#52 := (iff #49 true)
+#53 := [rewrite]: #52
+#50 := (iff #14 #49)
+#47 := (iff #13 #39)
+#42 := (iff #36 #33)
+#45 := (iff #42 #39)
+#46 := [rewrite]: #45
+#43 := (iff #13 #42)
+#34 := (iff #9 #33)
+#35 := [rewrite]: #34
+#37 := (iff #11 #36)
+#38 := [rewrite]: #37
+#44 := [monotonicity #38 #35]: #43
+#48 := [trans #44 #46]: #47
+#40 := (iff #12 #39)
+#41 := [monotonicity #35 #38]: #40
+#51 := [monotonicity #41 #48]: #50
+#55 := [trans #51 #53]: #54
+#58 := [monotonicity #55]: #57
+#62 := [trans #58 #60]: #61
+#32 := [asserted]: #15
+[mp #32 #62]: false
+unsat
+1709b6be330c8fe39899c2448147237ac354e6ac 95 0
 #2 := false
 decl f3 :: (-> S2 S1)
 decl ?v0!0 :: S2
@@ -4453,55 +4501,49 @@
 #102 := [and-elim #101]: #76
 [unit-resolution #102 #115]: false
 unsat
-8abc924327822787c2f5c4e6e7680303fbae57f8 47 0
+f7433bc79c74698b7150f9252f1663dfbc7714ae 41 0
 #2 := false
 decl f1 :: S1
 #4 := f1
 decl f3 :: S1
 #8 := f3
 #9 := (= f3 f1)
-decl f4 :: S1
-#10 := f4
-#11 := (= f4 f1)
-#13 := (iff #11 #9)
-#12 := (iff #9 #11)
-#14 := (iff #12 #13)
-#15 := (not #14)
-#61 := (iff #15 false)
-#1 := true
-#56 := (not true)
-#59 := (iff #56 false)
-#60 := [rewrite]: #59
-#57 := (iff #15 #56)
-#54 := (iff #14 true)
-#36 := (= f1 f4)
-#33 := (= f1 f3)
-#39 := (iff #33 #36)
-#49 := (iff #39 #39)
-#52 := (iff #49 true)
-#53 := [rewrite]: #52
-#50 := (iff #14 #49)
-#47 := (iff #13 #39)
-#42 := (iff #36 #33)
-#45 := (iff #42 #39)
-#46 := [rewrite]: #45
-#43 := (iff #13 #42)
-#34 := (iff #9 #33)
-#35 := [rewrite]: #34
-#37 := (iff #11 #36)
-#38 := [rewrite]: #37
-#44 := [monotonicity #38 #35]: #43
-#48 := [trans #44 #46]: #47
-#40 := (iff #12 #39)
-#41 := [monotonicity #35 #38]: #40
-#51 := [monotonicity #41 #48]: #50
-#55 := [trans #51 #53]: #54
-#58 := [monotonicity #55]: #57
-#62 := [trans #58 #60]: #61
-#32 := [asserted]: #15
-[mp #32 #62]: false
-unsat
-48a51f989350a0e584db03a2950a272906be29b0 300 0
+#10 := (not #9)
+#11 := (iff #9 #10)
+#12 := (not #11)
+#13 := (not #12)
+#56 := (iff #13 false)
+#1 := true
+#51 := (not true)
+#54 := (iff #51 false)
+#55 := [rewrite]: #54
+#52 := (iff #13 #51)
+#49 := (iff #12 true)
+#44 := (not false)
+#47 := (iff #44 true)
+#48 := [rewrite]: #47
+#45 := (iff #12 #44)
+#42 := (iff #11 false)
+#31 := (= f1 f3)
+#34 := (not #31)
+#37 := (iff #31 #34)
+#40 := (iff #37 false)
+#41 := [rewrite]: #40
+#38 := (iff #11 #37)
+#35 := (iff #10 #34)
+#32 := (iff #9 #31)
+#33 := [rewrite]: #32
+#36 := [monotonicity #33]: #35
+#39 := [monotonicity #33 #36]: #38
+#43 := [trans #39 #41]: #42
+#46 := [monotonicity #43]: #45
+#50 := [trans #46 #48]: #49
+#53 := [monotonicity #50]: #52
+#57 := [trans #53 #55]: #56
+#30 := [asserted]: #13
+[mp #30 #57]: false
+unsat
+9e92d358b4d87bdfb0816755e800e46f3d76b51e 300 0
 #2 := false
 decl f4 :: (-> S2 S1)
 decl ?v0!1 :: S2
@@ -4802,49 +4844,68 @@
 #609 := [quant-inst]: #615
 [unit-resolution #609 #257 #603]: false
 unsat
-3731fdf00230f94750072246058d6aec5d30ad57 41 0
+4f091688bc1fe0b9d20810549460b1f682c6b9ee 60 0
 #2 := false
 decl f1 :: S1
 #4 := f1
 decl f3 :: S1
 #8 := f3
 #9 := (= f3 f1)
-#10 := (not #9)
-#11 := (iff #9 #10)
-#12 := (not #11)
-#13 := (not #12)
-#56 := (iff #13 false)
-#1 := true
-#51 := (not true)
-#54 := (iff #51 false)
-#55 := [rewrite]: #54
-#52 := (iff #13 #51)
-#49 := (iff #12 true)
-#44 := (not false)
-#47 := (iff #44 true)
-#48 := [rewrite]: #47
-#45 := (iff #12 #44)
-#42 := (iff #11 false)
-#31 := (= f1 f3)
-#34 := (not #31)
-#37 := (iff #31 #34)
-#40 := (iff #37 false)
-#41 := [rewrite]: #40
-#38 := (iff #11 #37)
-#35 := (iff #10 #34)
-#32 := (iff #9 #31)
-#33 := [rewrite]: #32
-#36 := [monotonicity #33]: #35
-#39 := [monotonicity #33 #36]: #38
-#43 := [trans #39 #41]: #42
-#46 := [monotonicity #43]: #45
-#50 := [trans #46 #48]: #49
-#53 := [monotonicity #50]: #52
-#57 := [trans #53 #55]: #56
-#30 := [asserted]: #13
-[mp #30 #57]: false
-unsat
-8d1c135b088bf498c079d2958e8764a8092679cf 201 0
+#14 := (not #9)
+decl f4 :: S1
+#10 := f4
+#11 := (= f4 f1)
+#13 := (not #11)
+#15 := (implies #13 #14)
+#12 := (implies #9 #11)
+#16 := (iff #12 #15)
+#17 := (not #16)
+#74 := (iff #17 false)
+#1 := true
+#69 := (not true)
+#72 := (iff #69 false)
+#73 := [rewrite]: #72
+#70 := (iff #17 #69)
+#67 := (iff #16 true)
+#38 := (= f1 f4)
+#35 := (= f1 f3)
+#44 := (not #35)
+#45 := (or #44 #38)
+#62 := (iff #45 #45)
+#65 := (iff #62 true)
+#66 := [rewrite]: #65
+#63 := (iff #16 #62)
+#60 := (iff #15 #45)
+#50 := (not #38)
+#55 := (implies #50 #44)
+#58 := (iff #55 #45)
+#59 := [rewrite]: #58
+#56 := (iff #15 #55)
+#53 := (iff #14 #44)
+#36 := (iff #9 #35)
+#37 := [rewrite]: #36
+#54 := [monotonicity #37]: #53
+#51 := (iff #13 #50)
+#39 := (iff #11 #38)
+#40 := [rewrite]: #39
+#52 := [monotonicity #40]: #51
+#57 := [monotonicity #52 #54]: #56
+#61 := [trans #57 #59]: #60
+#48 := (iff #12 #45)
+#41 := (implies #35 #38)
+#46 := (iff #41 #45)
+#47 := [rewrite]: #46
+#42 := (iff #12 #41)
+#43 := [monotonicity #37 #40]: #42
+#49 := [trans #43 #47]: #48
+#64 := [monotonicity #49 #61]: #63
+#68 := [trans #64 #66]: #67
+#71 := [monotonicity #68]: #70
+#75 := [trans #71 #73]: #74
+#34 := [asserted]: #17
+[mp #34 #75]: false
+unsat
+27355f82e9f880139491584519c5f457388ba8e4 201 0
 #2 := false
 decl f3 :: (-> S2 S1)
 #8 := (:var 0 S2)
@@ -5046,68 +5107,80 @@
 #211 := [quant-inst]: #320
 [unit-resolution #211 #595 #319]: false
 unsat
-c4682bd721e64af9e51bd86d6d03d59662baa782 60 0
+45c3801b7a47fb920cbab9584d402164b65dd356 72 0
 #2 := false
 decl f1 :: S1
 #4 := f1
 decl f3 :: S1
 #8 := f3
 #9 := (= f3 f1)
-#14 := (not #9)
-decl f4 :: S1
-#10 := f4
-#11 := (= f4 f1)
-#13 := (not #11)
-#15 := (implies #13 #14)
-#12 := (implies #9 #11)
-#16 := (iff #12 #15)
-#17 := (not #16)
-#74 := (iff #17 false)
-#1 := true
-#69 := (not true)
-#72 := (iff #69 false)
-#73 := [rewrite]: #72
-#70 := (iff #17 #69)
-#67 := (iff #16 true)
-#38 := (= f1 f4)
-#35 := (= f1 f3)
-#44 := (not #35)
-#45 := (or #44 #38)
-#62 := (iff #45 #45)
-#65 := (iff #62 true)
-#66 := [rewrite]: #65
-#63 := (iff #16 #62)
-#60 := (iff #15 #45)
-#50 := (not #38)
-#55 := (implies #50 #44)
-#58 := (iff #55 #45)
-#59 := [rewrite]: #58
-#56 := (iff #15 #55)
-#53 := (iff #14 #44)
-#36 := (iff #9 #35)
-#37 := [rewrite]: #36
-#54 := [monotonicity #37]: #53
-#51 := (iff #13 #50)
-#39 := (iff #11 #38)
-#40 := [rewrite]: #39
-#52 := [monotonicity #40]: #51
-#57 := [monotonicity #52 #54]: #56
-#61 := [trans #57 #59]: #60
-#48 := (iff #12 #45)
-#41 := (implies #35 #38)
-#46 := (iff #41 #45)
-#47 := [rewrite]: #46
-#42 := (iff #12 #41)
-#43 := [monotonicity #37 #40]: #42
-#49 := [trans #43 #47]: #48
-#64 := [monotonicity #49 #61]: #63
-#68 := [trans #64 #66]: #67
-#71 := [monotonicity #68]: #70
-#75 := [trans #71 #73]: #74
-#34 := [asserted]: #17
-[mp #34 #75]: false
-unsat
-c2e19ee7461e4fbfe65c34d98111e3914f852baf 244 0
+#10 := (iff #9 #9)
+#11 := (iff #9 #10)
+#12 := (iff #9 #11)
+#13 := (iff #9 #12)
+#14 := (iff #9 #13)
+#15 := (iff #9 #14)
+#16 := (iff #9 #15)
+#17 := (iff #9 #16)
+#18 := (iff #9 #17)
+#19 := (not #18)
+#87 := (iff #19 false)
+#1 := true
+#82 := (not true)
+#85 := (iff #82 false)
+#86 := [rewrite]: #85
+#83 := (iff #19 #82)
+#80 := (iff #18 true)
+#37 := (= f1 f3)
+#40 := (iff #37 #37)
+#43 := (iff #40 true)
+#44 := [rewrite]: #43
+#78 := (iff #18 #40)
+#76 := (iff #17 #37)
+#47 := (iff #37 true)
+#50 := (iff #47 #37)
+#51 := [rewrite]: #50
+#74 := (iff #17 #47)
+#72 := (iff #16 true)
+#70 := (iff #16 #40)
+#68 := (iff #15 #37)
+#66 := (iff #15 #47)
+#64 := (iff #14 true)
+#62 := (iff #14 #40)
+#60 := (iff #13 #37)
+#58 := (iff #13 #47)
+#56 := (iff #12 true)
+#54 := (iff #12 #40)
+#52 := (iff #11 #37)
+#48 := (iff #11 #47)
+#45 := (iff #10 true)
+#41 := (iff #10 #40)
+#38 := (iff #9 #37)
+#39 := [rewrite]: #38
+#42 := [monotonicity #39 #39]: #41
+#46 := [trans #42 #44]: #45
+#49 := [monotonicity #39 #46]: #48
+#53 := [trans #49 #51]: #52
+#55 := [monotonicity #39 #53]: #54
+#57 := [trans #55 #44]: #56
+#59 := [monotonicity #39 #57]: #58
+#61 := [trans #59 #51]: #60
+#63 := [monotonicity #39 #61]: #62
+#65 := [trans #63 #44]: #64
+#67 := [monotonicity #39 #65]: #66
+#69 := [trans #67 #51]: #68
+#71 := [monotonicity #39 #69]: #70
+#73 := [trans #71 #44]: #72
+#75 := [monotonicity #39 #73]: #74
+#77 := [trans #75 #51]: #76
+#79 := [monotonicity #39 #77]: #78
+#81 := [trans #79 #44]: #80
+#84 := [monotonicity #81]: #83
+#88 := [trans #84 #86]: #87
+#36 := [asserted]: #19
+[mp #36 #88]: false
+unsat
+392dbae729e3baf705095d1fa80eee1de09292e0 244 0
 #2 := false
 decl f3 :: (-> S2 S1)
 decl ?v0!0 :: S2
@@ -5352,80 +5425,33 @@
 #616 := [mp #343 #237]: #621
 [unit-resolution #616 #629 #330]: false
 unsat
-36d1352b395221a431006c238d124165e2b745a3 72 0
-#2 := false
-decl f1 :: S1
-#4 := f1
-decl f3 :: S1
-#8 := f3
-#9 := (= f3 f1)
-#10 := (iff #9 #9)
-#11 := (iff #9 #10)
-#12 := (iff #9 #11)
-#13 := (iff #9 #12)
-#14 := (iff #9 #13)
-#15 := (iff #9 #14)
-#16 := (iff #9 #15)
-#17 := (iff #9 #16)
-#18 := (iff #9 #17)
-#19 := (not #18)
-#87 := (iff #19 false)
-#1 := true
-#82 := (not true)
-#85 := (iff #82 false)
-#86 := [rewrite]: #85
-#83 := (iff #19 #82)
-#80 := (iff #18 true)
-#37 := (= f1 f3)
-#40 := (iff #37 #37)
-#43 := (iff #40 true)
-#44 := [rewrite]: #43
-#78 := (iff #18 #40)
-#76 := (iff #17 #37)
-#47 := (iff #37 true)
-#50 := (iff #47 #37)
-#51 := [rewrite]: #50
-#74 := (iff #17 #47)
-#72 := (iff #16 true)
-#70 := (iff #16 #40)
-#68 := (iff #15 #37)
-#66 := (iff #15 #47)
-#64 := (iff #14 true)
-#62 := (iff #14 #40)
-#60 := (iff #13 #37)
-#58 := (iff #13 #47)
-#56 := (iff #12 true)
-#54 := (iff #12 #40)
-#52 := (iff #11 #37)
-#48 := (iff #11 #47)
-#45 := (iff #10 true)
-#41 := (iff #10 #40)
-#38 := (iff #9 #37)
-#39 := [rewrite]: #38
-#42 := [monotonicity #39 #39]: #41
-#46 := [trans #42 #44]: #45
-#49 := [monotonicity #39 #46]: #48
-#53 := [trans #49 #51]: #52
-#55 := [monotonicity #39 #53]: #54
-#57 := [trans #55 #44]: #56
-#59 := [monotonicity #39 #57]: #58
-#61 := [trans #59 #51]: #60
-#63 := [monotonicity #39 #61]: #62
-#65 := [trans #63 #44]: #64
-#67 := [monotonicity #39 #65]: #66
-#69 := [trans #67 #51]: #68
-#71 := [monotonicity #39 #69]: #70
-#73 := [trans #71 #44]: #72
-#75 := [monotonicity #39 #73]: #74
-#77 := [trans #75 #51]: #76
-#79 := [monotonicity #39 #77]: #78
-#81 := [trans #79 #44]: #80
-#84 := [monotonicity #81]: #83
-#88 := [trans #84 #86]: #87
-#36 := [asserted]: #19
-[mp #36 #88]: false
-unsat
-35b6826e84c97e2db1e3cd91ad69abb16f131b93 49 0
+17f9e5be62669f8acfb50769a06b9e675836393a 25 0
+#2 := false
+#8 := (:var 0 S2)
+#9 := (= #8 #8)
+#10 := (exists (vars (?v0 S2)) #9)
+#11 := (not #10)
+#43 := (iff #11 false)
+#1 := true
+#38 := (not true)
+#41 := (iff #38 false)
+#42 := [rewrite]: #41
+#39 := (iff #11 #38)
+#36 := (iff #10 true)
+#31 := (exists (vars (?v0 S2)) true)
+#34 := (iff #31 true)
+#35 := [elim-unused]: #34
+#32 := (iff #10 #31)
+#29 := (iff #9 true)
+#30 := [rewrite]: #29
+#33 := [quant-intro #30]: #32
+#37 := [trans #33 #35]: #36
+#40 := [monotonicity #37]: #39
+#44 := [trans #40 #42]: #43
+#28 := [asserted]: #11
+[mp #28 #44]: false
+unsat
+f1a2d09c5ae97f135cf03b06910805f4101ff509 49 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -5475,33 +5501,42 @@
 #35 := [asserted]: #18
 [mp #35 #65]: false
 unsat
-150a137e969806c6900cabc66bb27970472c7ba1 25 0
-#2 := false
+cc5c33d65644020014560f00b4d749ba7046207d 34 0
+#2 := false
+decl f1 :: S1
+#4 := f1
+decl f3 :: (-> S2 S1)
 #8 := (:var 0 S2)
-#9 := (= #8 #8)
-#10 := (exists (vars (?v0 S2)) #9)
-#11 := (not #10)
-#43 := (iff #11 false)
-#1 := true
-#38 := (not true)
-#41 := (iff #38 false)
-#42 := [rewrite]: #41
-#39 := (iff #11 #38)
-#36 := (iff #10 true)
-#31 := (exists (vars (?v0 S2)) true)
-#34 := (iff #31 true)
-#35 := [elim-unused]: #34
+#9 := (f3 #8)
+#10 := (= #9 f1)
+#11 := (exists (vars (?v0 S2)) #10)
+#12 := (iff #11 #11)
+#13 := (not #12)
+#49 := (iff #13 false)
+#1 := true
+#44 := (not true)
+#47 := (iff #44 false)
+#48 := [rewrite]: #47
+#45 := (iff #13 #44)
+#42 := (iff #12 true)
+#31 := (= f1 #9)
+#34 := (exists (vars (?v0 S2)) #31)
+#37 := (iff #34 #34)
+#40 := (iff #37 true)
+#41 := [rewrite]: #40
+#38 := (iff #12 #37)
+#35 := (iff #11 #34)
 #32 := (iff #10 #31)
-#29 := (iff #9 true)
-#30 := [rewrite]: #29
-#33 := [quant-intro #30]: #32
-#37 := [trans #33 #35]: #36
-#40 := [monotonicity #37]: #39
-#44 := [trans #40 #42]: #43
-#28 := [asserted]: #11
-[mp #28 #44]: false
-unsat
-2e6f238fe51369f58bc6454a136532e4c6f3bd82 136 0
+#33 := [rewrite]: #32
+#36 := [quant-intro #33]: #35
+#39 := [monotonicity #36 #36]: #38
+#43 := [trans #39 #41]: #42
+#46 := [monotonicity #43]: #45
+#50 := [trans #46 #48]: #49
+#30 := [asserted]: #13
+[mp #30 #50]: false
+unsat
+c0659ef2eb86b9abb113a352ce049de7f5cf2d4d 136 0
 #2 := false
 decl f3 :: (-> S2 S2 S1)
 decl f4 :: S2
@@ -5638,167 +5673,7 @@
 #593 := [quant-inst]: #592
 [unit-resolution #593 #610 #258]: false
 unsat
-b28b1c7eb24edf6acf5466ddd1304a6b881a60f9 34 0
-#2 := false
-decl f1 :: S1
-#4 := f1
-decl f3 :: (-> S2 S1)
-#8 := (:var 0 S2)
-#9 := (f3 #8)
-#10 := (= #9 f1)
-#11 := (exists (vars (?v0 S2)) #10)
-#12 := (iff #11 #11)
-#13 := (not #12)
-#49 := (iff #13 false)
-#1 := true
-#44 := (not true)
-#47 := (iff #44 false)
-#48 := [rewrite]: #47
-#45 := (iff #13 #44)
-#42 := (iff #12 true)
-#31 := (= f1 #9)
-#34 := (exists (vars (?v0 S2)) #31)
-#37 := (iff #34 #34)
-#40 := (iff #37 true)
-#41 := [rewrite]: #40
-#38 := (iff #12 #37)
-#35 := (iff #11 #34)
-#32 := (iff #10 #31)
-#33 := [rewrite]: #32
-#36 := [quant-intro #33]: #35
-#39 := [monotonicity #36 #36]: #38
-#43 := [trans #39 #41]: #42
-#46 := [monotonicity #43]: #45
-#50 := [trans #46 #48]: #49
-#30 := [asserted]: #13
-[mp #30 #50]: false
-unsat
-a15d00efdb475e30bdd25ef3ed2227a8ea9c519f 124 0
-#2 := false
-decl f3 :: (-> S2 S1)
-decl f4 :: (-> S2 S2)
-decl f5 :: S2
-#16 := f5
-#20 := (f4 f5)
-#21 := (f4 #20)
-#154 := (f3 #21)
-decl f1 :: S1
-#4 := f1
-#241 := (= f1 #154)
-#152 := (f3 #20)
-#239 := (= f1 #152)
-#17 := (f3 f5)
-#62 := (= f1 #17)
-#8 := (:var 0 S2)
-#11 := (f4 #8)
-#12 := (f3 #11)
-#47 := (= f1 #12)
-#9 := (f3 #8)
-#44 := (= f1 #9)
-#53 := (not #44)
-#54 := (or #53 #47)
-#59 := (forall (vars (?v0 S2)) #54)
-#65 := (and #59 #62)
-#22 := (f4 #21)
-#23 := (f3 #22)
-#68 := (= f1 #23)
-#74 := (not #65)
-#75 := (or #74 #68)
-#80 := (not #75)
-#24 := (= #23 f1)
-#18 := (= #17 f1)
-#13 := (= #12 f1)
-#10 := (= #9 f1)
-#14 := (implies #10 #13)
-#15 := (forall (vars (?v0 S2)) #14)
-#19 := (and #15 #18)
-#25 := (implies #19 #24)
-#26 := (not #25)
-#81 := (iff #26 #80)
-#78 := (iff #25 #75)
-#71 := (implies #65 #68)
-#76 := (iff #71 #75)
-#77 := [rewrite]: #76
-#72 := (iff #25 #71)
-#69 := (iff #24 #68)
-#70 := [rewrite]: #69
-#66 := (iff #19 #65)
-#63 := (iff #18 #62)
-#64 := [rewrite]: #63
-#60 := (iff #15 #59)
-#57 := (iff #14 #54)
-#50 := (implies #44 #47)
-#55 := (iff #50 #54)
-#56 := [rewrite]: #55
-#51 := (iff #14 #50)
-#48 := (iff #13 #47)
-#49 := [rewrite]: #48
-#45 := (iff #10 #44)
-#46 := [rewrite]: #45
-#52 := [monotonicity #46 #49]: #51
-#58 := [trans #52 #56]: #57
-#61 := [quant-intro #58]: #60
-#67 := [monotonicity #61 #64]: #66
-#73 := [monotonicity #67 #70]: #72
-#79 := [trans #73 #77]: #78
-#82 := [monotonicity #79]: #81
-#43 := [asserted]: #26
-#85 := [mp #43 #82]: #80
-#83 := [not-or-elim #85]: #65
-#86 := [and-elim #83]: #62
-#570 := (pattern #11)
-#571 := (forall (vars (?v0 S2)) (:pat #570) #54)
-#574 := (iff #59 #571)
-#572 := (iff #54 #54)
-#573 := [refl]: #572
-#575 := [quant-intro #573]: #574
-#100 := (~ #59 #59)
-#98 := (~ #54 #54)
-#99 := [refl]: #98
-#101 := [nnf-pos #99]: #100
-#84 := [and-elim #83]: #59
-#91 := [mp~ #84 #101]: #59
-#576 := [mp #91 #575]: #571
-#153 := (not #62)
-#232 := (not #571)
-#243 := (or #232 #153 #239)
-#240 := (or #153 #239)
-#244 := (or #232 #240)
-#245 := (iff #244 #243)
-#242 := [rewrite]: #245
-#172 := [quant-inst]: #244
-#246 := [mp #172 #242]: #243
-#208 := [unit-resolution #246 #576 #86]: #239
-#225 := (not #239)
-#351 := (or #232 #225 #241)
-#562 := (or #225 #241)
-#558 := (or #232 #562)
-#231 := (iff #558 #351)
-#565 := [rewrite]: #231
-#230 := [quant-inst]: #558
-#566 := [mp #230 #565]: #351
-#209 := [unit-resolution #566 #576 #208]: #241
-#87 := (not #68)
-#88 := [not-or-elim #85]: #87
-#564 := (not #241)
-#569 := (or #232 #68 #564)
-#219 := (or #564 #68)
-#559 := (or #232 #219)
-#545 := (iff #559 #569)
-#567 := (or #68 #564)
-#222 := (or #232 #567)
-#561 := (iff #222 #569)
-#202 := [rewrite]: #561
-#560 := (iff #559 #222)
-#568 := (iff #219 #567)
-#563 := [rewrite]: #568
-#218 := [monotonicity #563]: #560
-#206 := [trans #218 #202]: #545
-#217 := [quant-inst]: #559
-#207 := [mp #217 #206]: #569
-[unit-resolution #207 #576 #88 #209]: false
-unsat
-043713d1f8d615cef2b57b8a8ae1162f9c51de61 258 0
+c32773e30c401fac91663753c8932e4d15be0cde 258 0
 #2 := false
 decl f4 :: (-> S2 S1)
 decl ?v0!2 :: S2
@@ -6057,72 +5932,132 @@
 #579 := [quant-inst]: #578
 [unit-resolution #579 #432 #573]: false
 unsat
-0e7fa24f774b5d4840baee92f17adcdc6e36469d 64 0
-#2 := false
-decl f3 :: (-> S2 S2 S3)
-decl f4 :: S2
-#14 := f4
+c94ebedde81defab6c020062b6dae6aec5aa6893 124 0
+#2 := false
+decl f3 :: (-> S2 S1)
+decl f4 :: (-> S2 S2)
 decl f5 :: S2
 #16 := f5
-#18 := (f3 f5 f4)
-#17 := (f3 f4 f5)
-#19 := (= #17 #18)
-#62 := (not #19)
-#8 := (:var 1 S2)
-#9 := (:var 0 S2)
-#11 := (f3 #9 #8)
-#10 := (f3 #8 #9)
-#12 := (= #10 #11)
-#13 := (forall (vars (?v0 S2) (?v1 S2)) #12)
-#52 := (not #13)
-#53 := (or #52 #19)
-#58 := (not #53)
-#15 := (= f4 f4)
-#20 := (and #15 #19)
-#21 := (implies #13 #20)
-#22 := (not #21)
-#59 := (iff #22 #58)
-#56 := (iff #21 #53)
-#49 := (implies #13 #19)
-#54 := (iff #49 #53)
-#55 := [rewrite]: #54
-#50 := (iff #21 #49)
-#47 := (iff #20 #19)
-#1 := true
-#42 := (and true #19)
-#45 := (iff #42 #19)
+#20 := (f4 f5)
+#21 := (f4 #20)
+#154 := (f3 #21)
+decl f1 :: S1
+#4 := f1
+#241 := (= f1 #154)
+#152 := (f3 #20)
+#239 := (= f1 #152)
+#17 := (f3 f5)
+#62 := (= f1 #17)
+#8 := (:var 0 S2)
+#11 := (f4 #8)
+#12 := (f3 #11)
+#47 := (= f1 #12)
+#9 := (f3 #8)
+#44 := (= f1 #9)
+#53 := (not #44)
+#54 := (or #53 #47)
+#59 := (forall (vars (?v0 S2)) #54)
+#65 := (and #59 #62)
+#22 := (f4 #21)
+#23 := (f3 #22)
+#68 := (= f1 #23)
+#74 := (not #65)
+#75 := (or #74 #68)
+#80 := (not #75)
+#24 := (= #23 f1)
+#18 := (= #17 f1)
+#13 := (= #12 f1)
+#10 := (= #9 f1)
+#14 := (implies #10 #13)
+#15 := (forall (vars (?v0 S2)) #14)
+#19 := (and #15 #18)
+#25 := (implies #19 #24)
+#26 := (not #25)
+#81 := (iff #26 #80)
+#78 := (iff #25 #75)
+#71 := (implies #65 #68)
+#76 := (iff #71 #75)
+#77 := [rewrite]: #76
+#72 := (iff #25 #71)
+#69 := (iff #24 #68)
+#70 := [rewrite]: #69
+#66 := (iff #19 #65)
+#63 := (iff #18 #62)
+#64 := [rewrite]: #63
+#60 := (iff #15 #59)
+#57 := (iff #14 #54)
+#50 := (implies #44 #47)
+#55 := (iff #50 #54)
+#56 := [rewrite]: #55
+#51 := (iff #14 #50)
+#48 := (iff #13 #47)
+#49 := [rewrite]: #48
+#45 := (iff #10 #44)
 #46 := [rewrite]: #45
-#43 := (iff #20 #42)
-#40 := (iff #15 true)
-#41 := [rewrite]: #40
-#44 := [monotonicity #41]: #43
-#48 := [trans #44 #46]: #47
-#51 := [monotonicity #48]: #50
-#57 := [trans #51 #55]: #56
-#60 := [monotonicity #57]: #59
-#39 := [asserted]: #22
-#63 := [mp #39 #60]: #58
-#64 := [not-or-elim #63]: #62
-#547 := (pattern #11)
-#546 := (pattern #10)
-#548 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #546 #547) #12)
-#551 := (iff #13 #548)
-#549 := (iff #12 #12)
-#550 := [refl]: #549
-#552 := [quant-intro #550]: #551
-#74 := (~ #13 #13)
-#72 := (~ #12 #12)
-#73 := [refl]: #72
-#75 := [nnf-pos #73]: #74
-#61 := [not-or-elim #63]: #13
-#67 := [mp~ #61 #75]: #13
-#553 := [mp #67 #552]: #548
-#129 := (not #548)
-#216 := (or #129 #19)
-#130 := [quant-inst]: #216
-[unit-resolution #130 #553 #64]: false
-unsat
-7fcf7ce1521f6f1599b2fe6f93ba5dee1cbd7b76 222 0
+#52 := [monotonicity #46 #49]: #51
+#58 := [trans #52 #56]: #57
+#61 := [quant-intro #58]: #60
+#67 := [monotonicity #61 #64]: #66
+#73 := [monotonicity #67 #70]: #72
+#79 := [trans #73 #77]: #78
+#82 := [monotonicity #79]: #81
+#43 := [asserted]: #26
+#85 := [mp #43 #82]: #80
+#83 := [not-or-elim #85]: #65
+#86 := [and-elim #83]: #62
+#570 := (pattern #11)
+#571 := (forall (vars (?v0 S2)) (:pat #570) #54)
+#574 := (iff #59 #571)
+#572 := (iff #54 #54)
+#573 := [refl]: #572
+#575 := [quant-intro #573]: #574
+#100 := (~ #59 #59)
+#98 := (~ #54 #54)
+#99 := [refl]: #98
+#101 := [nnf-pos #99]: #100
+#84 := [and-elim #83]: #59
+#91 := [mp~ #84 #101]: #59
+#576 := [mp #91 #575]: #571
+#153 := (not #62)
+#232 := (not #571)
+#243 := (or #232 #153 #239)
+#240 := (or #153 #239)
+#244 := (or #232 #240)
+#245 := (iff #244 #243)
+#242 := [rewrite]: #245
+#172 := [quant-inst]: #244
+#246 := [mp #172 #242]: #243
+#208 := [unit-resolution #246 #576 #86]: #239
+#225 := (not #239)
+#351 := (or #232 #225 #241)
+#562 := (or #225 #241)
+#558 := (or #232 #562)
+#231 := (iff #558 #351)
+#565 := [rewrite]: #231
+#230 := [quant-inst]: #558
+#566 := [mp #230 #565]: #351
+#209 := [unit-resolution #566 #576 #208]: #241
+#87 := (not #68)
+#88 := [not-or-elim #85]: #87
+#564 := (not #241)
+#569 := (or #232 #68 #564)
+#219 := (or #564 #68)
+#559 := (or #232 #219)
+#545 := (iff #559 #569)
+#567 := (or #68 #564)
+#222 := (or #232 #567)
+#561 := (iff #222 #569)
+#202 := [rewrite]: #561
+#560 := (iff #559 #222)
+#568 := (iff #219 #567)
+#563 := [rewrite]: #568
+#218 := [monotonicity #563]: #560
+#206 := [trans #218 #202]: #545
+#217 := [quant-inst]: #559
+#207 := [mp #217 #206]: #569
+[unit-resolution #207 #576 #88 #209]: false
+unsat
+29a00825da3cfb6f45d89e9d7c24512d752b68eb 222 0
 #2 := false
 decl f3 :: (-> S2 S1)
 decl ?v0!0 :: S2
@@ -6345,7 +6280,122 @@
 #610 := [quant-inst]: #609
 [unit-resolution #610 #339 #320]: false
 unsat
-e97ea15e571d05d4542f0baceec935a45a20adf5 250 0
+d6381b0e6162629304a9edd3be9ca3c00c481087 64 0
+#2 := false
+decl f3 :: (-> S2 S2 S3)
+decl f4 :: S2
+#14 := f4
+decl f5 :: S2
+#16 := f5
+#18 := (f3 f5 f4)
+#17 := (f3 f4 f5)
+#19 := (= #17 #18)
+#62 := (not #19)
+#8 := (:var 1 S2)
+#9 := (:var 0 S2)
+#11 := (f3 #9 #8)
+#10 := (f3 #8 #9)
+#12 := (= #10 #11)
+#13 := (forall (vars (?v0 S2) (?v1 S2)) #12)
+#52 := (not #13)
+#53 := (or #52 #19)
+#58 := (not #53)
+#15 := (= f4 f4)
+#20 := (and #15 #19)
+#21 := (implies #13 #20)
+#22 := (not #21)
+#59 := (iff #22 #58)
+#56 := (iff #21 #53)
+#49 := (implies #13 #19)
+#54 := (iff #49 #53)
+#55 := [rewrite]: #54
+#50 := (iff #21 #49)
+#47 := (iff #20 #19)
+#1 := true
+#42 := (and true #19)
+#45 := (iff #42 #19)
+#46 := [rewrite]: #45
+#43 := (iff #20 #42)
+#40 := (iff #15 true)
+#41 := [rewrite]: #40
+#44 := [monotonicity #41]: #43
+#48 := [trans #44 #46]: #47
+#51 := [monotonicity #48]: #50
+#57 := [trans #51 #55]: #56
+#60 := [monotonicity #57]: #59
+#39 := [asserted]: #22
+#63 := [mp #39 #60]: #58
+#64 := [not-or-elim #63]: #62
+#547 := (pattern #11)
+#546 := (pattern #10)
+#548 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #546 #547) #12)
+#551 := (iff #13 #548)
+#549 := (iff #12 #12)
+#550 := [refl]: #549
+#552 := [quant-intro #550]: #551
+#74 := (~ #13 #13)
+#72 := (~ #12 #12)
+#73 := [refl]: #72
+#75 := [nnf-pos #73]: #74
+#61 := [not-or-elim #63]: #13
+#67 := [mp~ #61 #75]: #13
+#553 := [mp #67 #552]: #548
+#129 := (not #548)
+#216 := (or #129 #19)
+#130 := [quant-inst]: #216
+[unit-resolution #130 #553 #64]: false
+unsat
+a59143663975583139cdacfbcd52f21f568835d6 49 0
+#2 := false
+decl f1 :: S1
+#4 := f1
+decl f3 :: (-> S2 S4 S1)
+#9 := (:var 0 S4)
+#13 := (:var 1 S2)
+#14 := (f3 #13 #9)
+#15 := (= #14 f1)
+#16 := (exists (vars (?v0 S2) (?v1 S4)) #15)
+#8 := (:var 2 S2)
+#10 := (f3 #8 #9)
+#11 := (= #10 f1)
+#12 := (exists (vars (?v0 S2) (?v1 S3) (?v2 S4)) #11)
+#17 := (iff #12 #16)
+#18 := (not #17)
+#64 := (iff #18 false)
+#1 := true
+#59 := (not true)
+#62 := (iff #59 false)
+#63 := [rewrite]: #62
+#60 := (iff #18 #59)
+#57 := (iff #17 true)
+#42 := (= f1 #14)
+#43 := (exists (vars (?v0 S2) (?v2 S4)) #42)
+#52 := (iff #43 #43)
+#55 := (iff #52 true)
+#56 := [rewrite]: #55
+#53 := (iff #17 #52)
+#50 := (iff #16 #43)
+#48 := (iff #15 #42)
+#49 := [rewrite]: #48
+#51 := [quant-intro #49]: #50
+#46 := (iff #12 #43)
+#36 := (= f1 #10)
+#39 := (exists (vars (?v0 S2) (?v1 S3) (?v2 S4)) #36)
+#44 := (iff #39 #43)
+#45 := [elim-unused]: #44
+#40 := (iff #12 #39)
+#37 := (iff #11 #36)
+#38 := [rewrite]: #37
+#41 := [quant-intro #38]: #40
+#47 := [trans #41 #45]: #46
+#54 := [monotonicity #47 #51]: #53
+#58 := [trans #54 #56]: #57
+#61 := [monotonicity #58]: #60
+#65 := [trans #61 #63]: #64
+#35 := [asserted]: #18
+[mp #35 #65]: false
+unsat
+7f4c24ba00666fac3b960c74d81cc061e8e4c71c 250 0
 #2 := false
 decl f3 :: (-> S2 S1)
 decl f7 :: S2
@@ -6596,61 +6646,7 @@
 #699 := [mp #350 #698]: #693
 [unit-resolution #699 #173 #714 #398]: false
 unsat
-8031eb3bcd3fb97da7b874e36b0d4d2ae215ec7b 49 0
-#2 := false
-decl f1 :: S1
-#4 := f1
-decl f3 :: (-> S2 S4 S1)
-#9 := (:var 0 S4)
-#13 := (:var 1 S2)
-#14 := (f3 #13 #9)
-#15 := (= #14 f1)
-#16 := (exists (vars (?v0 S2) (?v1 S4)) #15)
-#8 := (:var 2 S2)
-#10 := (f3 #8 #9)
-#11 := (= #10 f1)
-#12 := (exists (vars (?v0 S2) (?v1 S3) (?v2 S4)) #11)
-#17 := (iff #12 #16)
-#18 := (not #17)
-#64 := (iff #18 false)
-#1 := true
-#59 := (not true)
-#62 := (iff #59 false)
-#63 := [rewrite]: #62
-#60 := (iff #18 #59)
-#57 := (iff #17 true)
-#42 := (= f1 #14)
-#43 := (exists (vars (?v0 S2) (?v2 S4)) #42)
-#52 := (iff #43 #43)
-#55 := (iff #52 true)
-#56 := [rewrite]: #55
-#53 := (iff #17 #52)
-#50 := (iff #16 #43)
-#48 := (iff #15 #42)
-#49 := [rewrite]: #48
-#51 := [quant-intro #49]: #50
-#46 := (iff #12 #43)
-#36 := (= f1 #10)
-#39 := (exists (vars (?v0 S2) (?v1 S3) (?v2 S4)) #36)
-#44 := (iff #39 #43)
-#45 := [elim-unused]: #44
-#40 := (iff #12 #39)
-#37 := (iff #11 #36)
-#38 := [rewrite]: #37
-#41 := [quant-intro #38]: #40
-#47 := [trans #41 #45]: #46
-#54 := [monotonicity #47 #51]: #53
-#58 := [trans #54 #56]: #57
-#61 := [monotonicity #58]: #60
-#65 := [trans #61 #63]: #64
-#35 := [asserted]: #18
-[mp #35 #65]: false
-unsat
-2317912b27971033dc831a6ce5ef74d0f20fbca2 1 2
-unsat
-WARNING: failed to find a pattern for quantifier (quantifier id: k!9)
-
-301a246cbbd414b8b75c6b801fee2f734cf2af47 122 0
+55ab12f407bdf7fa84c1317fb83d267ee6dbe0b9 122 0
 #2 := false
 decl f3 :: (-> S2 S1)
 decl ?v0!1 :: S2
@@ -6773,9 +6769,21 @@
 #287 := [quant-inst]: #200
 [unit-resolution #287 #620 #138]: false
 unsat
-ee898f52c96d73444993788b39566855271caaec 1 0
-unsat
-2acdf9e468d060988547fd7ad4c93238ed78a5bb 105 0
+615edcc1b5967710c13cc8530677bd4b60ed143e 1 2
+unsat
+WARNING: failed to find a pattern for quantifier (quantifier id: k!9)
+
+cd545152cc212d0c395f2d5b056f6b9ac9c802b6 1 0
+unsat
+f064b99fb73e74622b958a2068a0d0b4edd902b2 1 0
+unsat
+2d8e7a5bcefce0c794a69f82f7029712f925b8a0 1 0
+unsat
+2c03da3c2314f743fe9232bb9b9c3ba10bf6d5ef 1 0
+unsat
+e41045b4d3521f41a792e556bf2332e60d77ec7a 1 0
+unsat
+1a85b2998fdcf0e23a359440a42ba41df7200751 105 0
 #2 := false
 decl f3 :: (-> S1 S1)
 decl ?v0!1 :: S1
@@ -6881,9 +6889,7 @@
 #261 := [quant-inst]: #188
 [unit-resolution #261 #590 #259]: false
 unsat
-f7daa562701d4999ed8a3f5ec133f08651bf6190 1 0
-unsat
-ff2e1b7168f418022909b6d3ec628836562df57d 230 0
+598fbc0a61e9e499866f4757d97c531ce37db1ae 230 0
 #2 := false
 decl f3 :: (-> S1 S1)
 decl ?v0!0 :: S1
@@ -7114,9 +7120,7 @@
 #309 := [quant-inst]: #308
 [unit-resolution #309 #590 #312]: false
 unsat
-fdbe39cdd485517d8ec1964f2c4fb7b6646fe608 1 0
-unsat
-258fe7f9c05eff8e107778930f55bcfa407e2fde 156 0
+cac0a2176ec80fb1c96e1c40b7d14da0fa6af78c 156 0
 #2 := false
 decl f3 :: (-> S1 S2 S1)
 #9 := (:var 0 S2)
@@ -7273,9 +7277,7 @@
 #269 := [quant-inst]: #264
 [unit-resolution #269 #592 #292]: false
 unsat
-779c5fc38fd08b8484ec1da52f6a17e6b849eac4 1 0
-unsat
-6c0f54222b59d5e628ff948749ac67e96364c6a1 74 0
+49ea124a0c85794588287d88e4a10f91ec534ee7 74 0
 #2 := false
 decl f3 :: (-> S2 S3 S4)
 #9 := (:var 0 S3)
@@ -7350,9 +7352,7 @@
 #548 := [mp #55 #547]: #543
 [unit-resolution #548 #537]: false
 unsat
-b720bb30cc87882c3f660a5bf9c8737dde4c14c4 1 0
-unsat
-cba176f179e597e7b48393532028be8634e0c4f7 108 0
+f922619aea5365bdf4744142fd24ae3f3d91080e 108 0
 #2 := false
 decl f3 :: (-> S1 S1)
 #11 := (:var 0 S1)
@@ -7461,7 +7461,7 @@
 #179 := [quant-inst]: #265
 [unit-resolution #179 #96 #599]: false
 unsat
-1f79e2aaf530f1cad27b8439c2a93a00022ad034 183 2
+ccfa103f9dc86cc5a39d3a0bd17ea6e15ed83789 183 2
 #2 := false
 decl f3 :: (-> S1 S2 S1)
 #9 := (:var 0 S2)
@@ -7647,21 +7647,15 @@
 unsat
 WARNING: failed to find a pattern for quantifier (quantifier id: k!12)
 
-da85096b57c08af8febf5871c1333121a34c6d28 1 0
-unsat
-6c41d71d8ec4d73ffa088d938320c03ca09b9201 1 2
+04a10002b6cfbd9320b025e8add4b15624e7ca83 1 0
+unsat
+56c3c1aac521682b0935ad2f17220b3ea8838cd3 1 2
 unsat
 WARNING: failed to find a pattern for quantifier (quantifier id: k!12)
 
-5d15e0a34749300f4ce5f4c920d3ca259f7027cd 1 0
-unsat
-fa1639cb0c965ae73d4377750883cc09dbe87562 1 0
-unsat
-fc8d2e66c31565ae0b4756bf95cf9f0717981220 1 0
-unsat
-ce6d32e932c7cece567323ec34f7a5540258fa7f 1 0
-unsat
-cfd9d2f647046e282a1080aae51b4b88be291157 107 0
+5211d0658c8aa96a06f5b015ae31d3fe55c3cab1 1 0
+unsat
+c20f820d839321d9bf17ab605375903e475f33e6 107 0
 #2 := false
 decl f3 :: (-> S2 S1)
 #8 := (:var 0 S2)
@@ -7769,9 +7763,9 @@
 #279 := [quant-inst]: #193
 [unit-resolution #279 #102 #618]: false
 unsat
-22c7d1d1136fafc0a09e243a12ede1ee4fee416f 1 0
-unsat
-9ea0d22c6270219f7cef6ee3d8f429562349b2a3 75 0
+677e024c66187dc21b71678cb1488477fcd87167 1 0
+unsat
+872e0bf32f19bb056d35b742419e7bfe9bc7d3b4 75 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -7847,7 +7841,9 @@
 #41 := [asserted]: #24
 [mp #41 #91]: false
 unsat
-51de51a0d85b126e271283f7eca5a0bb3a5a5bca 207 0
+ac8a74b907f6dc5eac6d550dfb9933eb000058e1 1 0
+unsat
+90c127d5cedd68c871816f3946c02cfc6b8af4a9 207 0
 #2 := false
 decl f3 :: (-> S2 S1)
 decl ?v1!0 :: (-> S2 S2)
@@ -8055,101 +8051,9 @@
 #622 := [mp #616 #257]: #277
 [unit-resolution #622 #645 #591 #596]: false
 unsat
-b8d80ad0d8c340491041b0c69d71b3944eaf90e6 93 0
-#2 := false
-decl f5 :: (-> S2 S1)
-decl f6 :: S2
-#16 := f6
-#20 := (f5 f6)
-decl f1 :: S1
-#4 := f1
-#65 := (= f1 #20)
-#84 := (not #65)
-decl f3 :: (-> S2 S3 S1)
-decl f4 :: S3
-#9 := f4
-#17 := (f3 f6 f4)
-#59 := (= f1 #17)
-#8 := (:var 0 S2)
-#12 := (f5 #8)
-#44 := (= f1 #12)
-#10 := (f3 #8 f4)
-#41 := (= f1 #10)
-#50 := (not #41)
-#51 := (or #50 #44)
-#56 := (forall (vars (?v0 S2)) #51)
-#62 := (and #56 #59)
-#71 := (not #62)
-#72 := (or #71 #65)
-#77 := (not #72)
-#21 := (= #20 f1)
-#18 := (= #17 f1)
-#13 := (= #12 f1)
-#11 := (= #10 f1)
-#14 := (implies #11 #13)
-#15 := (forall (vars (?v0 S2)) #14)
-#19 := (and #15 #18)
-#22 := (implies #19 #21)
-#23 := (not #22)
-#78 := (iff #23 #77)
-#75 := (iff #22 #72)
-#68 := (implies #62 #65)
-#73 := (iff #68 #72)
-#74 := [rewrite]: #73
-#69 := (iff #22 #68)
-#66 := (iff #21 #65)
-#67 := [rewrite]: #66
-#63 := (iff #19 #62)
-#60 := (iff #18 #59)
-#61 := [rewrite]: #60
-#57 := (iff #15 #56)
-#54 := (iff #14 #51)
-#47 := (implies #41 #44)
-#52 := (iff #47 #51)
-#53 := [rewrite]: #52
-#48 := (iff #14 #47)
-#45 := (iff #13 #44)
-#46 := [rewrite]: #45
-#42 := (iff #11 #41)
-#43 := [rewrite]: #42
-#49 := [monotonicity #43 #46]: #48
-#55 := [trans #49 #53]: #54
-#58 := [quant-intro #55]: #57
-#64 := [monotonicity #58 #61]: #63
-#70 := [monotonicity #64 #67]: #69
-#76 := [trans #70 #74]: #75
-#79 := [monotonicity #76]: #78
-#40 := [asserted]: #23
-#82 := [mp #40 #79]: #77
-#85 := [not-or-elim #82]: #84
-#80 := [not-or-elim #82]: #62
-#83 := [and-elim #80]: #59
-#572 := (pattern #12)
-#571 := (pattern #10)
-#573 := (forall (vars (?v0 S2)) (:pat #571 #572) #51)
-#576 := (iff #56 #573)
-#574 := (iff #51 #51)
-#575 := [refl]: #574
-#577 := [quant-intro #575]: #576
-#97 := (~ #56 #56)
-#95 := (~ #51 #51)
-#96 := [refl]: #95
-#98 := [nnf-pos #96]: #97
-#81 := [and-elim #80]: #56
-#88 := [mp~ #81 #98]: #56
-#578 := [mp #88 #577]: #573
-#155 := (not #59)
-#157 := (not #573)
-#244 := (or #157 #155 #65)
-#242 := (or #155 #65)
-#235 := (or #157 #242)
-#247 := (iff #235 #244)
-#175 := [rewrite]: #247
-#246 := [quant-inst]: #235
-#248 := [mp #246 #175]: #244
-[unit-resolution #248 #578 #83 #85]: false
-unsat
-628763241ae198f2ea4a54c641ca6e8df6d851ca 250 0
+5a145de81e4f4eeae6397f2aeade9a713df0b402 1 0
+unsat
+8bc50e9ee1d32eca0b2ec9f707ee916f7233c543 250 0
 #2 := false
 decl f3 :: (-> S2 S1)
 decl ?v1!1 :: (-> S2 S2)
@@ -8400,121 +8304,9 @@
 #616 := [mp #628 #615]: #622
 [unit-resolution #616 #128 #676 #607 #606]: false
 unsat
-0f8bf9d230b6b97c3b9a64ed4f1bb8757963fbc7 113 0
-#2 := false
-decl f3 :: (-> S2 S3 S1)
-decl f4 :: S3
-#9 := f4
-decl f6 :: S2
-#16 := f6
-#19 := (f3 f6 f4)
-decl f1 :: S1
-#4 := f1
-#57 := (= f1 #19)
-decl f5 :: (-> S2 S1)
-#17 := (f5 f6)
-#54 := (= f1 #17)
-#60 := (and #54 #57)
-#63 := (not #60)
-#8 := (:var 0 S2)
-#12 := (f5 #8)
-#45 := (= f1 #12)
-#10 := (f3 #8 f4)
-#42 := (= f1 #10)
-#48 := (and #42 #45)
-#51 := (exists (vars (?v0 S2)) #48)
-#66 := (or #51 #63)
-#69 := (not #66)
-#20 := (= #19 f1)
-#18 := (= #17 f1)
-#21 := (and #18 #20)
-#22 := (not #21)
-#13 := (= #12 f1)
-#11 := (= #10 f1)
-#14 := (and #11 #13)
-#15 := (exists (vars (?v0 S2)) #14)
-#23 := (or #15 #22)
-#24 := (not #23)
-#70 := (iff #24 #69)
-#67 := (iff #23 #66)
-#64 := (iff #22 #63)
-#61 := (iff #21 #60)
-#58 := (iff #20 #57)
-#59 := [rewrite]: #58
-#55 := (iff #18 #54)
-#56 := [rewrite]: #55
-#62 := [monotonicity #56 #59]: #61
-#65 := [monotonicity #62]: #64
-#52 := (iff #15 #51)
-#49 := (iff #14 #48)
-#46 := (iff #13 #45)
-#47 := [rewrite]: #46
-#43 := (iff #11 #42)
-#44 := [rewrite]: #43
-#50 := [monotonicity #44 #47]: #49
-#53 := [quant-intro #50]: #52
-#68 := [monotonicity #53 #65]: #67
-#71 := [monotonicity #68]: #70
-#41 := [asserted]: #24
-#74 := [mp #41 #71]: #69
-#75 := [not-or-elim #74]: #60
-#77 := [and-elim #75]: #57
-#76 := [and-elim #75]: #54
-#585 := (pattern #12)
-#584 := (pattern #10)
-#93 := (not #45)
-#92 := (not #42)
-#94 := (or #92 #93)
-#586 := (forall (vars (?v0 S2)) (:pat #584 #585) #94)
-#101 := (forall (vars (?v0 S2)) #94)
-#589 := (iff #101 #586)
-#587 := (iff #94 #94)
-#588 := [refl]: #587
-#590 := [quant-intro #588]: #589
-#87 := (not #48)
-#90 := (forall (vars (?v0 S2)) #87)
-#102 := (iff #90 #101)
-#99 := (iff #87 #94)
-#95 := (not #94)
-#83 := (not #95)
-#97 := (iff #83 #94)
-#98 := [rewrite]: #97
-#84 := (iff #87 #83)
-#85 := (iff #48 #95)
-#86 := [rewrite]: #85
-#96 := [monotonicity #86]: #84
-#100 := [trans #96 #98]: #99
-#103 := [quant-intro #100]: #102
-#72 := (not #51)
-#80 := (~ #72 #90)
-#88 := (~ #87 #87)
-#89 := [refl]: #88
-#78 := [nnf-neg #89]: #80
-#73 := [not-or-elim #74]: #72
-#91 := [mp~ #73 #78]: #90
-#104 := [mp #91 #103]: #101
-#591 := [mp #104 #590]: #586
-#255 := (not #57)
-#168 := (not #54)
-#248 := (not #586)
-#259 := (or #248 #168 #255)
-#169 := (or #255 #168)
-#260 := (or #248 #169)
-#578 := (iff #260 #259)
-#256 := (or #168 #255)
-#261 := (or #248 #256)
-#241 := (iff #261 #259)
-#576 := [rewrite]: #241
-#258 := (iff #260 #261)
-#170 := (iff #169 #256)
-#257 := [rewrite]: #170
-#262 := [monotonicity #257]: #258
-#235 := [trans #262 #576]: #578
-#188 := [quant-inst]: #260
-#365 := [mp #188 #235]: #259
-[unit-resolution #365 #591 #76 #77]: false
-unsat
-64bd43a9d49de65761e5220e25dbbe3dc269bf0e 238 0
+294a32d87135d8d12940225c21b358de5bcb1008 1 0
+unsat
+f2c8c9d3021edc718ea5a2b825764e713b11fd77 238 0
 #2 := false
 decl f3 :: (-> S2 S1)
 decl ?v1!1 :: (-> S2 S2)
@@ -8753,7 +8545,215 @@
 #338 := [mp #643 #632]: #276
 [unit-resolution #338 #664 #617 #616]: false
 unsat
-42f3c8af4c50150e11519c085a0ad69e107e1705 43 0
+f085880cbe2b6e218620939fd09c5950c149f5a2 93 0
+#2 := false
+decl f5 :: (-> S2 S1)
+decl f6 :: S2
+#16 := f6
+#20 := (f5 f6)
+decl f1 :: S1
+#4 := f1
+#65 := (= f1 #20)
+#84 := (not #65)
+decl f3 :: (-> S2 S3 S1)
+decl f4 :: S3
+#9 := f4
+#17 := (f3 f6 f4)
+#59 := (= f1 #17)
+#8 := (:var 0 S2)
+#12 := (f5 #8)
+#44 := (= f1 #12)
+#10 := (f3 #8 f4)
+#41 := (= f1 #10)
+#50 := (not #41)
+#51 := (or #50 #44)
+#56 := (forall (vars (?v0 S2)) #51)
+#62 := (and #56 #59)
+#71 := (not #62)
+#72 := (or #71 #65)
+#77 := (not #72)
+#21 := (= #20 f1)
+#18 := (= #17 f1)
+#13 := (= #12 f1)
+#11 := (= #10 f1)
+#14 := (implies #11 #13)
+#15 := (forall (vars (?v0 S2)) #14)
+#19 := (and #15 #18)
+#22 := (implies #19 #21)
+#23 := (not #22)
+#78 := (iff #23 #77)
+#75 := (iff #22 #72)
+#68 := (implies #62 #65)
+#73 := (iff #68 #72)
+#74 := [rewrite]: #73
+#69 := (iff #22 #68)
+#66 := (iff #21 #65)
+#67 := [rewrite]: #66
+#63 := (iff #19 #62)
+#60 := (iff #18 #59)
+#61 := [rewrite]: #60
+#57 := (iff #15 #56)
+#54 := (iff #14 #51)
+#47 := (implies #41 #44)
+#52 := (iff #47 #51)
+#53 := [rewrite]: #52
+#48 := (iff #14 #47)
+#45 := (iff #13 #44)
+#46 := [rewrite]: #45
+#42 := (iff #11 #41)
+#43 := [rewrite]: #42
+#49 := [monotonicity #43 #46]: #48
+#55 := [trans #49 #53]: #54
+#58 := [quant-intro #55]: #57
+#64 := [monotonicity #58 #61]: #63
+#70 := [monotonicity #64 #67]: #69
+#76 := [trans #70 #74]: #75
+#79 := [monotonicity #76]: #78
+#40 := [asserted]: #23
+#82 := [mp #40 #79]: #77
+#85 := [not-or-elim #82]: #84
+#80 := [not-or-elim #82]: #62
+#83 := [and-elim #80]: #59
+#572 := (pattern #12)
+#571 := (pattern #10)
+#573 := (forall (vars (?v0 S2)) (:pat #571 #572) #51)
+#576 := (iff #56 #573)
+#574 := (iff #51 #51)
+#575 := [refl]: #574
+#577 := [quant-intro #575]: #576
+#97 := (~ #56 #56)
+#95 := (~ #51 #51)
+#96 := [refl]: #95
+#98 := [nnf-pos #96]: #97
+#81 := [and-elim #80]: #56
+#88 := [mp~ #81 #98]: #56
+#578 := [mp #88 #577]: #573
+#155 := (not #59)
+#157 := (not #573)
+#244 := (or #157 #155 #65)
+#242 := (or #155 #65)
+#235 := (or #157 #242)
+#247 := (iff #235 #244)
+#175 := [rewrite]: #247
+#246 := [quant-inst]: #235
+#248 := [mp #246 #175]: #244
+[unit-resolution #248 #578 #83 #85]: false
+unsat
+9ef609620af3ecd94cdef1f843003b8483978fbb 113 0
+#2 := false
+decl f3 :: (-> S2 S3 S1)
+decl f4 :: S3
+#9 := f4
+decl f6 :: S2
+#16 := f6
+#19 := (f3 f6 f4)
+decl f1 :: S1
+#4 := f1
+#57 := (= f1 #19)
+decl f5 :: (-> S2 S1)
+#17 := (f5 f6)
+#54 := (= f1 #17)
+#60 := (and #54 #57)
+#63 := (not #60)
+#8 := (:var 0 S2)
+#12 := (f5 #8)
+#45 := (= f1 #12)
+#10 := (f3 #8 f4)
+#42 := (= f1 #10)
+#48 := (and #42 #45)
+#51 := (exists (vars (?v0 S2)) #48)
+#66 := (or #51 #63)
+#69 := (not #66)
+#20 := (= #19 f1)
+#18 := (= #17 f1)
+#21 := (and #18 #20)
+#22 := (not #21)
+#13 := (= #12 f1)
+#11 := (= #10 f1)
+#14 := (and #11 #13)
+#15 := (exists (vars (?v0 S2)) #14)
+#23 := (or #15 #22)
+#24 := (not #23)
+#70 := (iff #24 #69)
+#67 := (iff #23 #66)
+#64 := (iff #22 #63)
+#61 := (iff #21 #60)
+#58 := (iff #20 #57)
+#59 := [rewrite]: #58
+#55 := (iff #18 #54)
+#56 := [rewrite]: #55
+#62 := [monotonicity #56 #59]: #61
+#65 := [monotonicity #62]: #64
+#52 := (iff #15 #51)
+#49 := (iff #14 #48)
+#46 := (iff #13 #45)
+#47 := [rewrite]: #46
+#43 := (iff #11 #42)
+#44 := [rewrite]: #43
+#50 := [monotonicity #44 #47]: #49
+#53 := [quant-intro #50]: #52
+#68 := [monotonicity #53 #65]: #67
+#71 := [monotonicity #68]: #70
+#41 := [asserted]: #24
+#74 := [mp #41 #71]: #69
+#75 := [not-or-elim #74]: #60
+#77 := [and-elim #75]: #57
+#76 := [and-elim #75]: #54
+#585 := (pattern #12)
+#584 := (pattern #10)
+#93 := (not #45)
+#92 := (not #42)
+#94 := (or #92 #93)
+#586 := (forall (vars (?v0 S2)) (:pat #584 #585) #94)
+#101 := (forall (vars (?v0 S2)) #94)
+#589 := (iff #101 #586)
+#587 := (iff #94 #94)
+#588 := [refl]: #587
+#590 := [quant-intro #588]: #589
+#87 := (not #48)
+#90 := (forall (vars (?v0 S2)) #87)
+#102 := (iff #90 #101)
+#99 := (iff #87 #94)
+#95 := (not #94)
+#83 := (not #95)
+#97 := (iff #83 #94)
+#98 := [rewrite]: #97
+#84 := (iff #87 #83)
+#85 := (iff #48 #95)
+#86 := [rewrite]: #85
+#96 := [monotonicity #86]: #84
+#100 := [trans #96 #98]: #99
+#103 := [quant-intro #100]: #102
+#72 := (not #51)
+#80 := (~ #72 #90)
+#88 := (~ #87 #87)
+#89 := [refl]: #88
+#78 := [nnf-neg #89]: #80
+#73 := [not-or-elim #74]: #72
+#91 := [mp~ #73 #78]: #90
+#104 := [mp #91 #103]: #101
+#591 := [mp #104 #590]: #586
+#255 := (not #57)
+#168 := (not #54)
+#248 := (not #586)
+#259 := (or #248 #168 #255)
+#169 := (or #255 #168)
+#260 := (or #248 #169)
+#578 := (iff #260 #259)
+#256 := (or #168 #255)
+#261 := (or #248 #256)
+#241 := (iff #261 #259)
+#576 := [rewrite]: #241
+#258 := (iff #260 #261)
+#170 := (iff #169 #256)
+#257 := [rewrite]: #170
+#262 := [monotonicity #257]: #258
+#235 := [trans #262 #576]: #578
+#188 := [quant-inst]: #260
+#365 := [mp #188 #235]: #259
+[unit-resolution #365 #591 #76 #77]: false
+unsat
+b1e70439cf48151ac262711545999d4078fe3f18 43 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -8797,7 +8797,7 @@
 #32 := [asserted]: #15
 [mp #32 #58]: false
 unsat
-e44a18e086890afdae37ccfa17aec44f2a634103 27 0
+5c6baa5560c27cbea391f380f1d2efa0c31ad451 27 0
 #2 := false
 #1 := true
 #9 := (or false true)
@@ -8825,7 +8825,7 @@
 #28 := [asserted]: #11
 [mp #28 #46]: false
 unsat
-48f0da3339d9c9f7707291c89458bdaf3e50c114 31 0
+ca24bad9d30cd7adb4d8824254fb1d868566dba8 31 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -8857,7 +8857,7 @@
 #29 := [asserted]: #12
 [mp #29 #46]: false
 unsat
-e7059fb5d2b001f75897ae16a2ace8ce919e02a1 33 0
+4c370ded875fbae45221845a75b0cee6f100c565 33 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -8891,7 +8891,7 @@
 #30 := [asserted]: #13
 [mp #30 #47]: false
 unsat
-f5fef851c10f40408540848a3507970291adb3e5 35 0
+1796e5eebe3961668a10c629c8446aea6b05d0ff 35 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -8927,7 +8927,7 @@
 #30 := [asserted]: #13
 [mp #30 #50]: false
 unsat
-9facdecb47b87e40c25944deaa804ef85fc985e3 38 0
+6cbede560f4445a6195546ba14a38ce4cef82756 38 0
 #2 := false
 decl f3 :: (-> S2 S2)
 decl f4 :: S2
@@ -8966,7 +8966,7 @@
 #114 := [quant-inst]: #200
 [unit-resolution #114 #51 #50]: false
 unsat
-ae9dfcc290bc6bcccab3cd3af533d10c7c03b3b8 30 0
+3951eb981ad2121ce0b01ef0fb8385398766b219 30 0
 #2 := false
 decl f4 :: (-> S3 S4)
 decl f6 :: S3
@@ -8997,7 +8997,7 @@
 #104 := [quant-inst]: #190
 [unit-resolution #104 #41 #38]: false
 unsat
-90ce83a254a12d0f1bfd0c5eb5a99c36ab0fe295 16 0
+cfb7ec1e9520aafa7d5b29cfb983793ee2d6f2b3 16 0
 #2 := false
 #1 := true
 #8 := (implies true true)
@@ -9014,7 +9014,7 @@
 #26 := [asserted]: #9
 [mp #26 #35]: false
 unsat
-9a0ddca6dee00a602bc428366efd931bcfcee94b 16 0
+7cbcb79eb27355ecf4f8c83e03297c7b412bce52 16 0
 #2 := false
 #8 := (implies false false)
 #9 := (not #8)
@@ -9031,7 +9031,7 @@
 #26 := [asserted]: #9
 [mp #26 #35]: false
 unsat
-cabaa8d0303be40a64e7064642dabce9e7bfcad7 31 0
+abfb47efa43a4820aa829461952d8e31f18076ce 31 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -9063,11 +9063,7 @@
 #29 := [asserted]: #12
 [mp #29 #46]: false
 unsat
-46acb4cd4b5353c32c529ffe509fc6f26ac2f2a1 3 0
-#2 := false
-[asserted]: false
-unsat
-ac00789473bf074e49a8a6419c1f2a1042912d6a 48 0
+68233e17fde29c54af280784ff125abdb937332e 48 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -9116,26 +9112,7 @@
 #31 := [asserted]: #14
 [mp #31 #63]: false
 unsat
-040123bf68e09d0b72cf990436bb29a623c102b8 18 0
-#2 := false
-#9 := 1::int
-#8 := 0::int
-#10 := (< 0::int 1::int)
-#11 := (not #10)
-#38 := (iff #11 false)
-#1 := true
-#33 := (not true)
-#36 := (iff #33 false)
-#37 := [rewrite]: #36
-#34 := (iff #11 #33)
-#31 := (iff #10 true)
-#32 := [rewrite]: #31
-#35 := [monotonicity #32]: #34
-#39 := [trans #35 #37]: #38
-#28 := [asserted]: #11
-[mp #28 #39]: false
-unsat
-75052914158f379cd343f693f354895fa579a89c 53 0
+f363d14bd402cc293d16ba4871e3b8a53de5f8dc 53 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -9189,26 +9166,7 @@
 #31 := [asserted]: #14
 [mp #31 #68]: false
 unsat
-be1600749b493592f603ae3a7f9dcbc68d688187 18 0
-#2 := false
-#9 := 1::int
-#8 := 0::int
-#10 := (<= 0::int 1::int)
-#11 := (not #10)
-#38 := (iff #11 false)
-#1 := true
-#33 := (not true)
-#36 := (iff #33 false)
-#37 := [rewrite]: #36
-#34 := (iff #11 #33)
-#31 := (iff #10 true)
-#32 := [rewrite]: #31
-#35 := [monotonicity #32]: #34
-#39 := [trans #35 #37]: #38
-#28 := [asserted]: #11
-[mp #28 #39]: false
-unsat
-4bcd26d70bcaf24bb295031b732101a3dec2c643 56 0
+9f187e77426ab643b39435558d6d1a14dc433609 56 0
 #2 := false
 decl f1 :: S1
 #4 := f1
@@ -9265,26 +9223,7 @@
 #32 := [asserted]: #15
 [mp #32 #71]: false
 unsat
-d6985ded37fcab252cac3fbb09a30e977c68973d 18 0
-#2 := false
-#9 := 2345678901::int
-#8 := 123456789::int
-#10 := (< 123456789::int 2345678901::int)
-#11 := (not #10)
-#38 := (iff #11 false)
-#1 := true
-#33 := (not true)
-#36 := (iff #33 false)
-#37 := [rewrite]: #36
-#34 := (iff #11 #33)
-#31 := (iff #10 true)
-#32 := [rewrite]: #31
-#35 := [monotonicity #32]: #34
-#39 := [trans #35 #37]: #38
-#28 := [asserted]: #11
-[mp #28 #39]: false
-unsat
-7eeb56537bd13a6f6bc35096a4ddfb33dceb295f 89 0
+510a0fc3c1359f943c6e00e7c3aafbf7737756e9 89 0
 #2 := false
 decl f4 :: S1
 #10 := f4
@@ -9374,7 +9313,7 @@
 #86 := [not-or-elim #83]: #48
 [mp #86 #107]: false
 unsat
-38ce6b99e91d92d7feb75b7b5ff7006aee1a887f 57 0
+356f92e13256c637921f76eda9e7cbbac3ef8f53 57 0
 #2 := false
 decl f3 :: (-> S2 S1)
 decl f4 :: S2
@@ -9432,38 +9371,11 @@
 #59 := [not-or-elim #57]: #58
 [mp #59 #74]: false
 unsat
-12f34f8245ed278a095c475d68eb5a5711d23981 30 0
-#2 := false
-decl f3 :: (-> int S2)
-#25 := 1::int
-#28 := (f3 1::int)
-#13 := 0::int
-#26 := (+ 0::int 1::int)
-#27 := (f3 #26)
-#29 := (= #27 #28)
-#30 := (not #29)
-#148 := (iff #30 false)
-#1 := true
-#143 := (not true)
-#146 := (iff #143 false)
-#147 := [rewrite]: #146
-#144 := (iff #30 #143)
-#141 := (iff #29 true)
-#136 := (= #28 #28)
-#139 := (iff #136 true)
-#140 := [rewrite]: #139
-#137 := (iff #29 #136)
-#133 := (= #26 1::int)
-#134 := [rewrite]: #133
-#135 := [monotonicity #134]: #29
-#138 := [monotonicity #135]: #137
-#142 := [trans #138 #140]: #141
-#145 := [monotonicity #142]: #144
-#149 := [trans #145 #147]: #148
-#132 := [asserted]: #30
-[mp #132 #149]: false
-unsat
-8e8baf35daf48781c204954ba8d7df5254aac6a8 50 0
+ff9d25294dc1a17176296b8b02c6fb61dd5a7105 3 0
+#2 := false
+[asserted]: false
+unsat
+f77cd44869b8452f0b9cdbc4acee77106cfc0c39 50 0
 #2 := false
 decl f5 :: S2
 #11 := f5
@@ -9514,7 +9426,26 @@
 #62 := [not-or-elim #58]: #61
 [unit-resolution #62 #70]: false
 unsat
-7bbe1bf9e8878e3709a71589e39f12e31278f1b7 27 0
+ae97c364e76e6bda750550b3359e25f9363fc00f 18 0
+#2 := false
+#9 := 1::int
+#8 := 0::int
+#10 := (< 0::int 1::int)
+#11 := (not #10)
+#38 := (iff #11 false)
+#1 := true
+#33 := (not true)
+#36 := (iff #33 false)
+#37 := [rewrite]: #36
+#34 := (iff #11 #33)
+#31 := (iff #10 true)
+#32 := [rewrite]: #31
+#35 := [monotonicity #32]: #34
+#39 := [trans #35 #37]: #38
+#28 := [asserted]: #11
+[mp #28 #39]: false
+unsat
+6168df6e70405fbcc2600c1e033ec5aaad4d620c 27 0
 #2 := false
 decl f5 :: (-> S2 S3)
 decl f4 :: S2
@@ -9542,41 +9473,26 @@
 #43 := [not-or-elim #42]: #41
 [unit-resolution #43 #51]: false
 unsat
-fca9345b5fb82879eab30d8a35a71a4cfb012222 33 0
-#2 := false
-#27 := 1::int
-decl f4 :: (-> S2 int)
-decl f5 :: S2
-#25 := f5
-#26 := (f4 f5)
-#28 := (+ #26 1::int)
-#29 := (< #26 #28)
-#30 := (not #29)
-#151 := (iff #30 false)
-#133 := (+ 1::int #26)
-#136 := (< #26 #133)
-#139 := (not #136)
-#149 := (iff #139 false)
-#1 := true
-#144 := (not true)
-#147 := (iff #144 false)
-#148 := [rewrite]: #147
-#145 := (iff #139 #144)
-#142 := (iff #136 true)
-#143 := [rewrite]: #142
-#146 := [monotonicity #143]: #145
-#150 := [trans #146 #148]: #149
-#140 := (iff #30 #139)
-#137 := (iff #29 #136)
-#134 := (= #28 #133)
-#135 := [rewrite]: #134
-#138 := [monotonicity #135]: #137
-#141 := [monotonicity #138]: #140
-#152 := [trans #141 #150]: #151
-#132 := [asserted]: #30
-[mp #132 #152]: false
-unsat
-a8014c2ba4ebe428717a3516d1900ca3b7591555 73 0
+93d89a3ed53f09b21acbcbce4122ad8ab50daca2 18 0
+#2 := false
+#9 := 1::int
+#8 := 0::int
+#10 := (<= 0::int 1::int)
+#11 := (not #10)
+#38 := (iff #11 false)
+#1 := true
+#33 := (not true)
+#36 := (iff #33 false)
+#37 := [rewrite]: #36
+#34 := (iff #11 #33)
+#31 := (iff #10 true)
+#32 := [rewrite]: #31
+#35 := [monotonicity #32]: #34
+#39 := [trans #35 #37]: #38
+#28 := [asserted]: #11
+[mp #28 #39]: false
+unsat
+5a8fd4dc177700b7e623e63e345f854da9c68ee0 73 0
 #2 := false
 decl f3 :: (-> S1 S1)
 decl f4 :: S1
@@ -9650,7 +9566,386 @@
 #146 := [quant-inst]: #232
 [unit-resolution #146 #566 #74]: false
 unsat
-f572500dcd49c30edfbceabc272b009fb11814d2 428 0
+80b6a701eb48d11531bbc36b28f9be8ab306b56a 18 0
+#2 := false
+#9 := 2345678901::int
+#8 := 123456789::int
+#10 := (< 123456789::int 2345678901::int)
+#11 := (not #10)
+#38 := (iff #11 false)
+#1 := true
+#33 := (not true)
+#36 := (iff #33 false)
+#37 := [rewrite]: #36
+#34 := (iff #11 #33)
+#31 := (iff #10 true)
+#32 := [rewrite]: #31
+#35 := [monotonicity #32]: #34
+#39 := [trans #35 #37]: #38
+#28 := [asserted]: #11
+[mp #28 #39]: false
+unsat
+f13cda4935d2ad2244c0ae2a16ca60c9a8153f04 106 0
+#2 := false
+decl f3 :: (-> S2 S2 S1)
+decl ?v0!0 :: S2
+#72 := ?v0!0
+#83 := (f3 ?v0!0 ?v0!0)
+decl f1 :: S1
+#4 := f1
+#75 := (= f1 #83)
+#76 := (not #75)
+#9 := (:var 0 S2)
+#16 := (f3 #9 #9)
+#50 := (= f1 #16)
+#53 := (forall (vars (?v0 S2)) #50)
+#69 := (not #53)
+#84 := (~ #69 #76)
+#85 := [sk]: #84
+#8 := (:var 1 S2)
+#12 := (f3 #9 #8)
+#41 := (= f1 #12)
+#10 := (f3 #8 #9)
+#38 := (= f1 #10)
+#44 := (and #38 #41)
+#47 := (forall (vars (?v0 S2) (?v1 S2)) #44)
+#59 := (not #47)
+#60 := (or #59 #53)
+#65 := (not #60)
+#17 := (= #16 f1)
+#18 := (forall (vars (?v0 S2)) #17)
+#13 := (= #12 f1)
+#11 := (= #10 f1)
+#14 := (and #11 #13)
+#15 := (forall (vars (?v0 S2) (?v1 S2)) #14)
+#19 := (implies #15 #18)
+#20 := (not #19)
+#66 := (iff #20 #65)
+#63 := (iff #19 #60)
+#56 := (implies #47 #53)
+#61 := (iff #56 #60)
+#62 := [rewrite]: #61
+#57 := (iff #19 #56)
+#54 := (iff #18 #53)
+#51 := (iff #17 #50)
+#52 := [rewrite]: #51
+#55 := [quant-intro #52]: #54
+#48 := (iff #15 #47)
+#45 := (iff #14 #44)
+#42 := (iff #13 #41)
+#43 := [rewrite]: #42
+#39 := (iff #11 #38)
+#40 := [rewrite]: #39
+#46 := [monotonicity #40 #43]: #45
+#49 := [quant-intro #46]: #48
+#58 := [monotonicity #49 #55]: #57
+#64 := [trans #58 #62]: #63
+#67 := [monotonicity #64]: #66
+#37 := [asserted]: #20
+#70 := [mp #37 #67]: #65
+#71 := [not-or-elim #70]: #69
+#88 := [mp~ #71 #85]: #76
+#577 := (pattern #12)
+#576 := (pattern #10)
+#87 := (not #41)
+#86 := (not #38)
+#89 := (or #86 #87)
+#90 := (not #89)
+#578 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #576 #577) #90)
+#93 := (forall (vars (?v0 S2) (?v1 S2)) #90)
+#581 := (iff #93 #578)
+#579 := (iff #90 #90)
+#580 := [refl]: #579
+#582 := [quant-intro #580]: #581
+#94 := (iff #47 #93)
+#91 := (iff #44 #90)
+#92 := [rewrite]: #91
+#95 := [quant-intro #92]: #94
+#81 := (~ #47 #47)
+#79 := (~ #44 #44)
+#80 := [refl]: #79
+#82 := [nnf-pos #80]: #81
+#68 := [not-or-elim #70]: #47
+#74 := [mp~ #68 #82]: #47
+#96 := [mp #74 #95]: #93
+#583 := [mp #96 #582]: #578
+#250 := (not #578)
+#254 := (or #250 #75)
+#160 := (or #76 #76)
+#247 := (not #160)
+#233 := (or #250 #247)
+#570 := (iff #233 #254)
+#357 := (iff #254 #254)
+#564 := [rewrite]: #357
+#180 := (iff #247 #75)
+#162 := (not #76)
+#251 := (iff #162 #75)
+#252 := [rewrite]: #251
+#249 := (iff #247 #162)
+#161 := (iff #160 #76)
+#248 := [rewrite]: #161
+#240 := [monotonicity #248]: #249
+#253 := [trans #240 #252]: #180
+#227 := [monotonicity #253]: #570
+#238 := [trans #227 #564]: #570
+#568 := [quant-inst]: #233
+#239 := [mp #568 #238]: #254
+[unit-resolution #239 #583 #88]: false
+unsat
+060c210941c0fd9eca58c8250fc66d664e976010 66 0
+#2 := false
+decl f4 :: S1
+#10 := f4
+decl f1 :: S1
+#4 := f1
+#37 := (= f1 f4)
+decl f3 :: S1
+#8 := f3
+#34 := (= f1 f3)
+#40 := (or #34 #37)
+#84 := (iff #40 false)
+#79 := (or false false)
+#82 := (iff #79 false)
+#83 := [rewrite]: #82
+#80 := (iff #40 #79)
+#75 := (iff #37 false)
+#66 := (not #37)
+#43 := (not #34)
+#49 := (and #43 #40)
+#57 := (not #49)
+#58 := (or #37 #57)
+#63 := (not #58)
+#11 := (= f4 f1)
+#9 := (= f3 f1)
+#13 := (not #9)
+#12 := (or #9 #11)
+#14 := (and #12 #13)
+#15 := (implies #14 #11)
+#16 := (not #15)
+#64 := (iff #16 #63)
+#61 := (iff #15 #58)
+#54 := (implies #49 #37)
+#59 := (iff #54 #58)
+#60 := [rewrite]: #59
+#55 := (iff #15 #54)
+#38 := (iff #11 #37)
+#39 := [rewrite]: #38
+#52 := (iff #14 #49)
+#46 := (and #40 #43)
+#50 := (iff #46 #49)
+#51 := [rewrite]: #50
+#47 := (iff #14 #46)
+#44 := (iff #13 #43)
+#35 := (iff #9 #34)
+#36 := [rewrite]: #35
+#45 := [monotonicity #36]: #44
+#41 := (iff #12 #40)
+#42 := [monotonicity #36 #39]: #41
+#48 := [monotonicity #42 #45]: #47
+#53 := [trans #48 #51]: #52
+#56 := [monotonicity #53 #39]: #55
+#62 := [trans #56 #60]: #61
+#65 := [monotonicity #62]: #64
+#33 := [asserted]: #16
+#68 := [mp #33 #65]: #63
+#67 := [not-or-elim #68]: #66
+#76 := [iff-false #67]: #75
+#77 := (iff #34 false)
+#69 := [not-or-elim #68]: #49
+#70 := [and-elim #69]: #43
+#78 := [iff-false #70]: #77
+#81 := [monotonicity #78 #76]: #80
+#85 := [trans #81 #83]: #84
+#71 := [and-elim #69]: #40
+[mp #71 #85]: false
+unsat
+51b1554c8079ae450aaa843f46db3a132a62d2a4 59 0
+#2 := false
+decl f1 :: S1
+#4 := f1
+decl f6 :: S1
+#15 := f6
+#16 := (= f6 f1)
+decl f5 :: S1
+#13 := f5
+#14 := (= f5 f1)
+#17 := (and #14 #16)
+decl f4 :: S1
+#10 := f4
+#11 := (= f4 f1)
+decl f3 :: S1
+#8 := f3
+#9 := (= f3 f1)
+#12 := (and #9 #11)
+#18 := (or #12 #17)
+#19 := (implies #18 #18)
+#20 := (not #19)
+#71 := (iff #20 false)
+#1 := true
+#66 := (not true)
+#69 := (iff #66 false)
+#70 := [rewrite]: #69
+#67 := (iff #20 #66)
+#64 := (iff #19 true)
+#50 := (= f1 f6)
+#47 := (= f1 f5)
+#53 := (and #47 #50)
+#41 := (= f1 f4)
+#38 := (= f1 f3)
+#44 := (and #38 #41)
+#56 := (or #44 #53)
+#59 := (implies #56 #56)
+#62 := (iff #59 true)
+#63 := [rewrite]: #62
+#60 := (iff #19 #59)
+#57 := (iff #18 #56)
+#54 := (iff #17 #53)
+#51 := (iff #16 #50)
+#52 := [rewrite]: #51
+#48 := (iff #14 #47)
+#49 := [rewrite]: #48
+#55 := [monotonicity #49 #52]: #54
+#45 := (iff #12 #44)
+#42 := (iff #11 #41)
+#43 := [rewrite]: #42
+#39 := (iff #9 #38)
+#40 := [rewrite]: #39
+#46 := [monotonicity #40 #43]: #45
+#58 := [monotonicity #46 #55]: #57
+#61 := [monotonicity #58 #58]: #60
+#65 := [trans #61 #63]: #64
+#68 := [monotonicity #65]: #67
+#72 := [trans #68 #70]: #71
+#37 := [asserted]: #20
+[mp #37 #72]: false
+unsat
+84b3ad1ba10175f629ea45974dd1f7204028ffdc 30 0
+#2 := false
+decl f3 :: (-> int S2)
+#25 := 1::int
+#28 := (f3 1::int)
+#13 := 0::int
+#26 := (+ 0::int 1::int)
+#27 := (f3 #26)
+#29 := (= #27 #28)
+#30 := (not #29)
+#148 := (iff #30 false)
+#1 := true
+#143 := (not true)
+#146 := (iff #143 false)
+#147 := [rewrite]: #146
+#144 := (iff #30 #143)
+#141 := (iff #29 true)
+#136 := (= #28 #28)
+#139 := (iff #136 true)
+#140 := [rewrite]: #139
+#137 := (iff #29 #136)
+#133 := (= #26 1::int)
+#134 := [rewrite]: #133
+#135 := [monotonicity #134]: #29
+#138 := [monotonicity #135]: #137
+#142 := [trans #138 #140]: #141
+#145 := [monotonicity #142]: #144
+#149 := [trans #145 #147]: #148
+#132 := [asserted]: #30
+[mp #132 #149]: false
+unsat
+fc798ca35949786a7df6c3211b951fe889ed5aca 33 0
+#2 := false
+#27 := 1::int
+decl f4 :: (-> S2 int)
+decl f5 :: S2
+#25 := f5
+#26 := (f4 f5)
+#28 := (+ #26 1::int)
+#29 := (< #26 #28)
+#30 := (not #29)
+#151 := (iff #30 false)
+#133 := (+ 1::int #26)
+#136 := (< #26 #133)
+#139 := (not #136)
+#149 := (iff #139 false)
+#1 := true
+#144 := (not true)
+#147 := (iff #144 false)
+#148 := [rewrite]: #147
+#145 := (iff #139 #144)
+#142 := (iff #136 true)
+#143 := [rewrite]: #142
+#146 := [monotonicity #143]: #145
+#150 := [trans #146 #148]: #149
+#140 := (iff #30 #139)
+#137 := (iff #29 #136)
+#134 := (= #28 #133)
+#135 := [rewrite]: #134
+#138 := [monotonicity #135]: #137
+#141 := [monotonicity #138]: #140
+#152 := [trans #141 #150]: #151
+#132 := [asserted]: #30
+[mp #132 #152]: false
+unsat
+1a658a61136d181e832caa6664fb39c44f4496ee 60 0
+#2 := false
+decl f3 :: (-> int S2)
+decl f4 :: (-> S2 int)
+decl f5 :: S2
+#25 := f5
+#26 := (f4 f5)
+#135 := (f3 #26)
+#141 := (= f5 #135)
+#146 := (not #141)
+#13 := 0::int
+#27 := (+ #26 0::int)
+#28 := (f3 #27)
+#29 := (= #28 f5)
+#30 := (not #29)
+#147 := (iff #30 #146)
+#144 := (iff #29 #141)
+#138 := (= #135 f5)
+#142 := (iff #138 #141)
+#143 := [rewrite]: #142
+#139 := (iff #29 #138)
+#136 := (= #28 #135)
+#133 := (= #27 #26)
+#134 := [rewrite]: #133
+#137 := [monotonicity #134]: #136
+#140 := [monotonicity #137]: #139
+#145 := [trans #140 #143]: #144
+#148 := [monotonicity #145]: #147
+#132 := [asserted]: #30
+#151 := [mp #132 #148]: #146
+#8 := (:var 0 S2)
+#9 := (f4 #8)
+#639 := (pattern #9)
+#10 := (f3 #9)
+#48 := (= #8 #10)
+#640 := (forall (vars (?v0 S2)) (:pat #639) #48)
+#51 := (forall (vars (?v0 S2)) #48)
+#641 := (iff #51 #640)
+#643 := (iff #640 #640)
+#644 := [rewrite]: #643
+#642 := [rewrite]: #641
+#645 := [trans #642 #644]: #641
+#163 := (~ #51 #51)
+#161 := (~ #48 #48)
+#162 := [refl]: #161
+#164 := [nnf-pos #162]: #163
+#11 := (= #10 #8)
+#12 := (forall (vars (?v0 S2)) #11)
+#52 := (iff #12 #51)
+#49 := (iff #11 #48)
+#50 := [rewrite]: #49
+#53 := [quant-intro #50]: #52
+#47 := [asserted]: #12
+#56 := [mp #47 #53]: #51
+#152 := [mp~ #56 #164]: #51
+#646 := [mp #152 #645]: #640
+#224 := (not #640)
+#310 := (or #224 #141)
+#311 := [quant-inst]: #310
+[unit-resolution #311 #646 #151]: false
+unsat
+ed39783643eee7923ab14b3fef066b0bb836f7e4 428 0
 #2 := false
 decl f4 :: (-> S2 int)
 decl f6 :: S2
@@ -10079,241 +10374,149 @@
 #393 := [unit-resolution #403 #411 #414]: #443
 [unit-resolution #393 #424]: false
 unsat
-c0906c23e4b0650863a2ef0d68bafa4e06a9dd19 106 0
-#2 := false
-decl f3 :: (-> S2 S2 S1)
-decl ?v0!0 :: S2
-#72 := ?v0!0
-#83 := (f3 ?v0!0 ?v0!0)
-decl f1 :: S1
-#4 := f1
-#75 := (= f1 #83)
-#76 := (not #75)
-#9 := (:var 0 S2)
-#16 := (f3 #9 #9)
-#50 := (= f1 #16)
-#53 := (forall (vars (?v0 S2)) #50)
-#69 := (not #53)
-#84 := (~ #69 #76)
-#85 := [sk]: #84
-#8 := (:var 1 S2)
-#12 := (f3 #9 #8)
-#41 := (= f1 #12)
-#10 := (f3 #8 #9)
-#38 := (= f1 #10)
-#44 := (and #38 #41)
-#47 := (forall (vars (?v0 S2) (?v1 S2)) #44)
-#59 := (not #47)
-#60 := (or #59 #53)
-#65 := (not #60)
-#17 := (= #16 f1)
-#18 := (forall (vars (?v0 S2)) #17)
-#13 := (= #12 f1)
-#11 := (= #10 f1)
-#14 := (and #11 #13)
-#15 := (forall (vars (?v0 S2) (?v1 S2)) #14)
-#19 := (implies #15 #18)
-#20 := (not #19)
-#66 := (iff #20 #65)
-#63 := (iff #19 #60)
-#56 := (implies #47 #53)
-#61 := (iff #56 #60)
-#62 := [rewrite]: #61
-#57 := (iff #19 #56)
-#54 := (iff #18 #53)
-#51 := (iff #17 #50)
-#52 := [rewrite]: #51
-#55 := [quant-intro #52]: #54
-#48 := (iff #15 #47)
-#45 := (iff #14 #44)
-#42 := (iff #13 #41)
-#43 := [rewrite]: #42
-#39 := (iff #11 #38)
-#40 := [rewrite]: #39
-#46 := [monotonicity #40 #43]: #45
-#49 := [quant-intro #46]: #48
-#58 := [monotonicity #49 #55]: #57
-#64 := [trans #58 #62]: #63
-#67 := [monotonicity #64]: #66
-#37 := [asserted]: #20
-#70 := [mp #37 #67]: #65
-#71 := [not-or-elim #70]: #69
-#88 := [mp~ #71 #85]: #76
-#577 := (pattern #12)
-#576 := (pattern #10)
-#87 := (not #41)
-#86 := (not #38)
-#89 := (or #86 #87)
-#90 := (not #89)
-#578 := (forall (vars (?v0 S2) (?v1 S2)) (:pat #576 #577) #90)
-#93 := (forall (vars (?v0 S2) (?v1 S2)) #90)
-#581 := (iff #93 #578)
-#579 := (iff #90 #90)
-#580 := [refl]: #579
-#582 := [quant-intro #580]: #581
-#94 := (iff #47 #93)
-#91 := (iff #44 #90)
-#92 := [rewrite]: #91
-#95 := [quant-intro #92]: #94
-#81 := (~ #47 #47)
-#79 := (~ #44 #44)
-#80 := [refl]: #79
-#82 := [nnf-pos #80]: #81
-#68 := [not-or-elim #70]: #47
-#74 := [mp~ #68 #82]: #47
-#96 := [mp #74 #95]: #93
-#583 := [mp #96 #582]: #578
-#250 := (not #578)
-#254 := (or #250 #75)
-#160 := (or #76 #76)
-#247 := (not #160)
-#233 := (or #250 #247)
-#570 := (iff #233 #254)
-#357 := (iff #254 #254)
-#564 := [rewrite]: #357
-#180 := (iff #247 #75)
-#162 := (not #76)
-#251 := (iff #162 #75)
-#252 := [rewrite]: #251
-#249 := (iff #247 #162)
-#161 := (iff #160 #76)
-#248 := [rewrite]: #161
-#240 := [monotonicity #248]: #249
-#253 := [trans #240 #252]: #180
-#227 := [monotonicity #253]: #570
-#238 := [trans #227 #564]: #570
-#568 := [quant-inst]: #233
-#239 := [mp #568 #238]: #254
-[unit-resolution #239 #583 #88]: false
-unsat
-58aaefc3b25d8181c01a2139430686aeca861bf3 66 0
-#2 := false
-decl f4 :: S1
-#10 := f4
-decl f1 :: S1
-#4 := f1
-#37 := (= f1 f4)
-decl f3 :: S1
-#8 := f3
-#34 := (= f1 f3)
-#40 := (or #34 #37)
-#84 := (iff #40 false)
-#79 := (or false false)
-#82 := (iff #79 false)
-#83 := [rewrite]: #82
-#80 := (iff #40 #79)
-#75 := (iff #37 false)
-#66 := (not #37)
-#43 := (not #34)
-#49 := (and #43 #40)
-#57 := (not #49)
-#58 := (or #37 #57)
-#63 := (not #58)
-#11 := (= f4 f1)
-#9 := (= f3 f1)
-#13 := (not #9)
-#12 := (or #9 #11)
-#14 := (and #12 #13)
-#15 := (implies #14 #11)
-#16 := (not #15)
-#64 := (iff #16 #63)
-#61 := (iff #15 #58)
-#54 := (implies #49 #37)
-#59 := (iff #54 #58)
-#60 := [rewrite]: #59
-#55 := (iff #15 #54)
-#38 := (iff #11 #37)
-#39 := [rewrite]: #38
-#52 := (iff #14 #49)
-#46 := (and #40 #43)
-#50 := (iff #46 #49)
-#51 := [rewrite]: #50
-#47 := (iff #14 #46)
-#44 := (iff #13 #43)
-#35 := (iff #9 #34)
-#36 := [rewrite]: #35
-#45 := [monotonicity #36]: #44
-#41 := (iff #12 #40)
-#42 := [monotonicity #36 #39]: #41
-#48 := [monotonicity #42 #45]: #47
-#53 := [trans #48 #51]: #52
-#56 := [monotonicity #53 #39]: #55
-#62 := [trans #56 #60]: #61
-#65 := [monotonicity #62]: #64
-#33 := [asserted]: #16
-#68 := [mp #33 #65]: #63
-#67 := [not-or-elim #68]: #66
-#76 := [iff-false #67]: #75
-#77 := (iff #34 false)
-#69 := [not-or-elim #68]: #49
-#70 := [and-elim #69]: #43
-#78 := [iff-false #70]: #77
-#81 := [monotonicity #78 #76]: #80
-#85 := [trans #81 #83]: #84
-#71 := [and-elim #69]: #40
-[mp #71 #85]: false
-unsat
-d80d7bb97197c962c0b81d44c7a8cfd617b6ca33 59 0
-#2 := false
-decl f1 :: S1
-#4 := f1
-decl f6 :: S1
-#15 := f6
-#16 := (= f6 f1)
-decl f5 :: S1
-#13 := f5
-#14 := (= f5 f1)
-#17 := (and #14 #16)
-decl f4 :: S1
-#10 := f4
-#11 := (= f4 f1)
-decl f3 :: S1
-#8 := f3
-#9 := (= f3 f1)
-#12 := (and #9 #11)
-#18 := (or #12 #17)
-#19 := (implies #18 #18)
-#20 := (not #19)
-#71 := (iff #20 false)
-#1 := true
-#66 := (not true)
-#69 := (iff #66 false)
-#70 := [rewrite]: #69
-#67 := (iff #20 #66)
-#64 := (iff #19 true)
-#50 := (= f1 f6)
-#47 := (= f1 f5)
-#53 := (and #47 #50)
-#41 := (= f1 f4)
-#38 := (= f1 f3)
-#44 := (and #38 #41)
-#56 := (or #44 #53)
-#59 := (implies #56 #56)
-#62 := (iff #59 true)
-#63 := [rewrite]: #62
-#60 := (iff #19 #59)
-#57 := (iff #18 #56)
-#54 := (iff #17 #53)
-#51 := (iff #16 #50)
-#52 := [rewrite]: #51
-#48 := (iff #14 #47)
-#49 := [rewrite]: #48
-#55 := [monotonicity #49 #52]: #54
-#45 := (iff #12 #44)
-#42 := (iff #11 #41)
-#43 := [rewrite]: #42
-#39 := (iff #9 #38)
-#40 := [rewrite]: #39
-#46 := [monotonicity #40 #43]: #45
-#58 := [monotonicity #46 #55]: #57
-#61 := [monotonicity #58 #58]: #60
-#65 := [trans #61 #63]: #64
-#68 := [monotonicity #65]: #67
-#72 := [trans #68 #70]: #71
-#37 := [asserted]: #20
-[mp #37 #72]: false
-unsat
-5682ca831360f99dba925cc3023ce41a2bdd0f63 364 0
+99ce906c39baeb082cce24e7e191930744f68770 60 0
+#2 := false
+decl f3 :: (-> int S2)
+decl f4 :: (-> S2 int)
+decl f5 :: S2
+#25 := f5
+#26 := (f4 f5)
+#135 := (f3 #26)
+#141 := (= f5 #135)
+#146 := (not #141)
+#13 := 0::int
+#27 := (+ 0::int #26)
+#28 := (f3 #27)
+#29 := (= #28 f5)
+#30 := (not #29)
+#147 := (iff #30 #146)
+#144 := (iff #29 #141)
+#138 := (= #135 f5)
+#142 := (iff #138 #141)
+#143 := [rewrite]: #142
+#139 := (iff #29 #138)
+#136 := (= #28 #135)
+#133 := (= #27 #26)
+#134 := [rewrite]: #133
+#137 := [monotonicity #134]: #136
+#140 := [monotonicity #137]: #139
+#145 := [trans #140 #143]: #144
+#148 := [monotonicity #145]: #147
+#132 := [asserted]: #30
+#151 := [mp #132 #148]: #146
+#8 := (:var 0 S2)
+#9 := (f4 #8)
+#639 := (pattern #9)
+#10 := (f3 #9)
+#48 := (= #8 #10)
+#640 := (forall (vars (?v0 S2)) (:pat #639) #48)
+#51 := (forall (vars (?v0 S2)) #48)
+#641 := (iff #51 #640)
+#643 := (iff #640 #640)
+#644 := [rewrite]: #643
+#642 := [rewrite]: #641
+#645 := [trans #642 #644]: #641
+#163 := (~ #51 #51)
+#161 := (~ #48 #48)
+#162 := [refl]: #161
+#164 := [nnf-pos #162]: #163
+#11 := (= #10 #8)
+#12 := (forall (vars (?v0 S2)) #11)
+#52 := (iff #12 #51)
+#49 := (iff #11 #48)
+#50 := [rewrite]: #49
+#53 := [quant-intro #50]: #52
+#47 := [asserted]: #12
+#56 := [mp #47 #53]: #51
+#152 := [mp~ #56 #164]: #51
+#646 := [mp #152 #645]: #640
+#224 := (not #640)
+#310 := (or #224 #141)
+#311 := [quant-inst]: #310
+[unit-resolution #311 #646 #151]: false
+unsat
+fd4ffa575704f079b1ec52c184c82cdd44b22127 37 0
+#2 := false
+decl f3 :: (-> int S2)
+decl f4 :: (-> S2 int)
+decl f5 :: S2
+#25 := f5
+#26 := (f4 f5)
+decl f6 :: S2
+#27 := f6
+#28 := (f4 f6)
+#31 := (+ #28 #26)
+#32 := (f3 #31)
+#29 := (+ #26 #28)
+#30 := (f3 #29)
+#33 := (= #30 #32)
+#34 := (not #33)
+#153 := (iff #34 false)
+#1 := true
+#148 := (not true)
+#151 := (iff #148 false)
+#152 := [rewrite]: #151
+#149 := (iff #34 #148)
+#146 := (iff #33 true)
+#141 := (= #30 #30)
+#144 := (iff #141 true)
+#145 := [rewrite]: #144
+#142 := (iff #33 #141)
+#139 := (= #32 #30)
+#137 := (= #31 #29)
+#138 := [rewrite]: #137
+#140 := [monotonicity #138]: #139
+#143 := [monotonicity #140]: #142
+#147 := [trans #143 #145]: #146
+#150 := [monotonicity #147]: #149
+#154 := [trans #150 #152]: #153
+#136 := [asserted]: #34
+[mp #136 #154]: false
+unsat
+503b4a1dda22c52727c27668172fc65c05cdd044 42 0
+#2 := false
+decl f3 :: (-> int S2)
+decl f4 :: (-> S2 int)
+decl f7 :: S2
+#29 := f7
+#30 := (f4 f7)
+decl f6 :: S2
+#27 := f6
+#28 := (f4 f6)
+decl f5 :: S2
+#25 := f5
+#26 := (f4 f5)
+#34 := (+ #26 #28)
+#35 := (+ #34 #30)
+#36 := (f3 #35)
+#31 := (+ #28 #30)
+#32 := (+ #26 #31)
+#33 := (f3 #32)
+#37 := (= #33 #36)
+#38 := (not #37)
+#157 := (iff #38 false)
+#1 := true
+#152 := (not true)
+#155 := (iff #152 false)
+#156 := [rewrite]: #155
+#153 := (iff #38 #152)
+#150 := (iff #37 true)
+#145 := (= #33 #33)
+#148 := (iff #145 true)
+#149 := [rewrite]: #148
+#146 := (iff #37 #145)
+#143 := (= #36 #33)
+#141 := (= #35 #32)
+#142 := [rewrite]: #141
+#144 := [monotonicity #142]: #143
+#147 := [monotonicity #144]: #146
+#151 := [trans #147 #149]: #150
+#154 := [monotonicity #151]: #153
+#158 := [trans #154 #156]: #157
+#140 := [asserted]: #38
+[mp #140 #158]: false
+unsat
+7c830a2352021a9371ebd4587ef2e48d76d26c2e 364 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -10678,451 +10881,7 @@
 #500 := [unit-resolution #469 #535]: #379
 [th-lemma #500 #534 #195]: false
 unsat
-b265c055659e0ea1b48e0304606789db36e05540 60 0
-#2 := false
-decl f3 :: (-> int S2)
-decl f4 :: (-> S2 int)
-decl f5 :: S2
-#25 := f5
-#26 := (f4 f5)
-#135 := (f3 #26)
-#141 := (= f5 #135)
-#146 := (not #141)
-#13 := 0::int
-#27 := (+ #26 0::int)
-#28 := (f3 #27)
-#29 := (= #28 f5)
-#30 := (not #29)
-#147 := (iff #30 #146)
-#144 := (iff #29 #141)
-#138 := (= #135 f5)
-#142 := (iff #138 #141)
-#143 := [rewrite]: #142
-#139 := (iff #29 #138)
-#136 := (= #28 #135)
-#133 := (= #27 #26)
-#134 := [rewrite]: #133
-#137 := [monotonicity #134]: #136
-#140 := [monotonicity #137]: #139
-#145 := [trans #140 #143]: #144
-#148 := [monotonicity #145]: #147
-#132 := [asserted]: #30
-#151 := [mp #132 #148]: #146
-#8 := (:var 0 S2)
-#9 := (f4 #8)
-#639 := (pattern #9)
-#10 := (f3 #9)
-#48 := (= #8 #10)
-#640 := (forall (vars (?v0 S2)) (:pat #639) #48)
-#51 := (forall (vars (?v0 S2)) #48)
-#641 := (iff #51 #640)
-#643 := (iff #640 #640)
-#644 := [rewrite]: #643
-#642 := [rewrite]: #641
-#645 := [trans #642 #644]: #641
-#163 := (~ #51 #51)
-#161 := (~ #48 #48)
-#162 := [refl]: #161
-#164 := [nnf-pos #162]: #163
-#11 := (= #10 #8)
-#12 := (forall (vars (?v0 S2)) #11)
-#52 := (iff #12 #51)
-#49 := (iff #11 #48)
-#50 := [rewrite]: #49
-#53 := [quant-intro #50]: #52
-#47 := [asserted]: #12
-#56 := [mp #47 #53]: #51
-#152 := [mp~ #56 #164]: #51
-#646 := [mp #152 #645]: #640
-#224 := (not #640)
-#310 := (or #224 #141)
-#311 := [quant-inst]: #310
-[unit-resolution #311 #646 #151]: false
-unsat
-75c3bae150e305a0fc97df1a1e35cb97fdd88bd7 60 0
-#2 := false
-decl f3 :: (-> int S2)
-decl f4 :: (-> S2 int)
-decl f5 :: S2
-#25 := f5
-#26 := (f4 f5)
-#135 := (f3 #26)
-#141 := (= f5 #135)
-#146 := (not #141)
-#13 := 0::int
-#27 := (+ 0::int #26)
-#28 := (f3 #27)
-#29 := (= #28 f5)
-#30 := (not #29)
-#147 := (iff #30 #146)
-#144 := (iff #29 #141)
-#138 := (= #135 f5)
-#142 := (iff #138 #141)
-#143 := [rewrite]: #142
-#139 := (iff #29 #138)
-#136 := (= #28 #135)
-#133 := (= #27 #26)
-#134 := [rewrite]: #133
-#137 := [monotonicity #134]: #136
-#140 := [monotonicity #137]: #139
-#145 := [trans #140 #143]: #144
-#148 := [monotonicity #145]: #147
-#132 := [asserted]: #30
-#151 := [mp #132 #148]: #146
-#8 := (:var 0 S2)
-#9 := (f4 #8)
-#639 := (pattern #9)
-#10 := (f3 #9)
-#48 := (= #8 #10)
-#640 := (forall (vars (?v0 S2)) (:pat #639) #48)
-#51 := (forall (vars (?v0 S2)) #48)
-#641 := (iff #51 #640)
-#643 := (iff #640 #640)
-#644 := [rewrite]: #643
-#642 := [rewrite]: #641
-#645 := [trans #642 #644]: #641
-#163 := (~ #51 #51)
-#161 := (~ #48 #48)
-#162 := [refl]: #161
-#164 := [nnf-pos #162]: #163
-#11 := (= #10 #8)
-#12 := (forall (vars (?v0 S2)) #11)
-#52 := (iff #12 #51)
-#49 := (iff #11 #48)
-#50 := [rewrite]: #49
-#53 := [quant-intro #50]: #52
-#47 := [asserted]: #12
-#56 := [mp #47 #53]: #51
-#152 := [mp~ #56 #164]: #51
-#646 := [mp #152 #645]: #640
-#224 := (not #640)
-#310 := (or #224 #141)
-#311 := [quant-inst]: #310
-[unit-resolution #311 #646 #151]: false
-unsat
-c52f3166d15e1102a7ca505cd72ba484966ee318 37 0
-#2 := false
-decl f3 :: (-> int S2)
-decl f4 :: (-> S2 int)
-decl f5 :: S2
-#25 := f5
-#26 := (f4 f5)
-decl f6 :: S2
-#27 := f6
-#28 := (f4 f6)
-#31 := (+ #28 #26)
-#32 := (f3 #31)
-#29 := (+ #26 #28)
-#30 := (f3 #29)
-#33 := (= #30 #32)
-#34 := (not #33)
-#153 := (iff #34 false)
-#1 := true
-#148 := (not true)
-#151 := (iff #148 false)
-#152 := [rewrite]: #151
-#149 := (iff #34 #148)
-#146 := (iff #33 true)
-#141 := (= #30 #30)
-#144 := (iff #141 true)
-#145 := [rewrite]: #144
-#142 := (iff #33 #141)
-#139 := (= #32 #30)
-#137 := (= #31 #29)
-#138 := [rewrite]: #137
-#140 := [monotonicity #138]: #139
-#143 := [monotonicity #140]: #142
-#147 := [trans #143 #145]: #146
-#150 := [monotonicity #147]: #149
-#154 := [trans #150 #152]: #153
-#136 := [asserted]: #34
-[mp #136 #154]: false
-unsat
-b04995911f57617d06c9591edf349edadf325b74 60 0
-#2 := false
-decl f3 :: (-> int S2)
-decl f4 :: (-> S2 int)
-decl f5 :: S2
-#25 := f5
-#26 := (f4 f5)
-#135 := (f3 #26)
-#141 := (= f5 #135)
-#146 := (not #141)
-#13 := 0::int
-#27 := (- #26 0::int)
-#28 := (f3 #27)
-#29 := (= #28 f5)
-#30 := (not #29)
-#147 := (iff #30 #146)
-#144 := (iff #29 #141)
-#138 := (= #135 f5)
-#142 := (iff #138 #141)
-#143 := [rewrite]: #142
-#139 := (iff #29 #138)
-#136 := (= #28 #135)
-#133 := (= #27 #26)
-#134 := [rewrite]: #133
-#137 := [monotonicity #134]: #136
-#140 := [monotonicity #137]: #139
-#145 := [trans #140 #143]: #144
-#148 := [monotonicity #145]: #147
-#132 := [asserted]: #30
-#151 := [mp #132 #148]: #146
-#8 := (:var 0 S2)
-#9 := (f4 #8)
-#639 := (pattern #9)
-#10 := (f3 #9)
-#48 := (= #8 #10)
-#640 := (forall (vars (?v0 S2)) (:pat #639) #48)
-#51 := (forall (vars (?v0 S2)) #48)
-#641 := (iff #51 #640)
-#643 := (iff #640 #640)
-#644 := [rewrite]: #643
-#642 := [rewrite]: #641
-#645 := [trans #642 #644]: #641
-#163 := (~ #51 #51)
-#161 := (~ #48 #48)
-#162 := [refl]: #161
-#164 := [nnf-pos #162]: #163
-#11 := (= #10 #8)
-#12 := (forall (vars (?v0 S2)) #11)
-#52 := (iff #12 #51)
-#49 := (iff #11 #48)
-#50 := [rewrite]: #49
-#53 := [quant-intro #50]: #52
-#47 := [asserted]: #12
-#56 := [mp #47 #53]: #51
-#152 := [mp~ #56 #164]: #51
-#646 := [mp #152 #645]: #640
-#224 := (not #640)
-#310 := (or #224 #141)
-#311 := [quant-inst]: #310
-[unit-resolution #311 #646 #151]: false
-unsat
-b5b340366dfb8289e173cd594b95953e97e705ac 42 0
-#2 := false
-decl f3 :: (-> int S2)
-decl f4 :: (-> S2 int)
-decl f7 :: S2
-#29 := f7
-#30 := (f4 f7)
-decl f6 :: S2
-#27 := f6
-#28 := (f4 f6)
-decl f5 :: S2
-#25 := f5
-#26 := (f4 f5)
-#34 := (+ #26 #28)
-#35 := (+ #34 #30)
-#36 := (f3 #35)
-#31 := (+ #28 #30)
-#32 := (+ #26 #31)
-#33 := (f3 #32)
-#37 := (= #33 #36)
-#38 := (not #37)
-#157 := (iff #38 false)
-#1 := true
-#152 := (not true)
-#155 := (iff #152 false)
-#156 := [rewrite]: #155
-#153 := (iff #38 #152)
-#150 := (iff #37 true)
-#145 := (= #33 #33)
-#148 := (iff #145 true)
-#149 := [rewrite]: #148
-#146 := (iff #37 #145)
-#143 := (= #36 #33)
-#141 := (= #35 #32)
-#142 := [rewrite]: #141
-#144 := [monotonicity #142]: #143
-#147 := [monotonicity #144]: #146
-#151 := [trans #147 #149]: #150
-#154 := [monotonicity #151]: #153
-#158 := [trans #154 #156]: #157
-#140 := [asserted]: #38
-[mp #140 #158]: false
-unsat
-2a686ca258d75e408aba2310eab7bfde718856c5 179 0
-#2 := false
-decl f3 :: (-> int S2)
-decl f4 :: (-> S2 int)
-decl f6 :: S2
-#27 := f6
-#28 := (f4 f6)
-#138 := -1::int
-#139 := (* -1::int #28)
-decl f5 :: S2
-#25 := f5
-#26 := (f4 f5)
-#140 := (+ #26 #139)
-#143 := (f3 #140)
-#13 := 0::int
-#32 := (f3 0::int)
-#149 := (= #32 #143)
-#649 := (f4 #143)
-#597 := (f3 #649)
-#596 := (= #597 #143)
-#499 := (= #143 #597)
-#8 := (:var 0 S2)
-#9 := (f4 #8)
-#665 := (pattern #9)
-#10 := (f3 #9)
-#53 := (= #8 #10)
-#666 := (forall (vars (?v0 S2)) (:pat #665) #53)
-#56 := (forall (vars (?v0 S2)) #53)
-#667 := (iff #56 #666)
-#669 := (iff #666 #666)
-#670 := [rewrite]: #669
-#668 := [rewrite]: #667
-#671 := [trans #668 #670]: #667
-#192 := (~ #56 #56)
-#190 := (~ #53 #53)
-#191 := [refl]: #190
-#193 := [nnf-pos #191]: #192
-#11 := (= #10 #8)
-#12 := (forall (vars (?v0 S2)) #11)
-#57 := (iff #12 #56)
-#54 := (iff #11 #53)
-#55 := [rewrite]: #54
-#58 := [quant-intro #55]: #57
-#52 := [asserted]: #12
-#61 := [mp #52 #58]: #56
-#179 := [mp~ #61 #193]: #56
-#672 := [mp #179 #671]: #666
-#338 := (not #666)
-#502 := (or #338 #499)
-#503 := [quant-inst]: #502
-#501 := [unit-resolution #503 #672]: #499
-#600 := [symm #501]: #596
-#506 := (= #32 #597)
-#504 := (= 0::int #649)
-#622 := (= #649 0::int)
-#161 := (>= #140 0::int)
-#160 := (not #161)
-#154 := (not #149)
-#167 := (and #154 #160)
-#30 := (- #26 #28)
-#31 := (f3 #30)
-#33 := (= #31 #32)
-#34 := (not #33)
-#29 := (< #26 #28)
-#35 := (and #29 #34)
-#172 := (iff #35 #167)
-#157 := (and #29 #154)
-#170 := (iff #157 #167)
-#164 := (and #160 #154)
-#168 := (iff #164 #167)
-#169 := [rewrite]: #168
-#165 := (iff #157 #164)
-#162 := (iff #29 #160)
-#163 := [rewrite]: #162
-#166 := [monotonicity #163]: #165
-#171 := [trans #166 #169]: #170
-#158 := (iff #35 #157)
-#155 := (iff #34 #154)
-#152 := (iff #33 #149)
-#146 := (= #143 #32)
-#150 := (iff #146 #149)
-#151 := [rewrite]: #150
-#147 := (iff #33 #146)
-#144 := (= #31 #143)
-#141 := (= #30 #140)
-#142 := [rewrite]: #141
-#145 := [monotonicity #142]: #144
-#148 := [monotonicity #145]: #147
-#153 := [trans #148 #151]: #152
-#156 := [monotonicity #153]: #155
-#159 := [monotonicity #156]: #158
-#173 := [trans #159 #171]: #172
-#137 := [asserted]: #35
-#174 := [mp #137 #173]: #167
-#176 := [and-elim #174]: #160
-#14 := (:var 0 int)
-#16 := (f3 #14)
-#673 := (pattern #16)
-#78 := (>= #14 0::int)
-#17 := (f4 #16)
-#22 := (= #17 0::int)
-#126 := (or #22 #78)
-#680 := (forall (vars (?v0 int)) (:pat #673) #126)
-#131 := (forall (vars (?v0 int)) #126)
-#683 := (iff #131 #680)
-#681 := (iff #126 #126)
-#682 := [refl]: #681
-#684 := [quant-intro #682]: #683
-#182 := (~ #131 #131)
-#196 := (~ #126 #126)
-#197 := [refl]: #196
-#183 := [nnf-pos #197]: #182
-#21 := (< #14 0::int)
-#23 := (implies #21 #22)
-#24 := (forall (vars (?v0 int)) #23)
-#134 := (iff #24 #131)
-#97 := (= 0::int #17)
-#103 := (not #21)
-#104 := (or #103 #97)
-#109 := (forall (vars (?v0 int)) #104)
-#132 := (iff #109 #131)
-#129 := (iff #104 #126)
-#123 := (or #78 #22)
-#127 := (iff #123 #126)
-#128 := [rewrite]: #127
-#124 := (iff #104 #123)
-#121 := (iff #97 #22)
-#122 := [rewrite]: #121
-#119 := (iff #103 #78)
-#79 := (not #78)
-#114 := (not #79)
-#117 := (iff #114 #78)
-#118 := [rewrite]: #117
-#115 := (iff #103 #114)
-#112 := (iff #21 #79)
-#113 := [rewrite]: #112
-#116 := [monotonicity #113]: #115
-#120 := [trans #116 #118]: #119
-#125 := [monotonicity #120 #122]: #124
-#130 := [trans #125 #128]: #129
-#133 := [quant-intro #130]: #132
-#110 := (iff #24 #109)
-#107 := (iff #23 #104)
-#100 := (implies #21 #97)
-#105 := (iff #100 #104)
-#106 := [rewrite]: #105
-#101 := (iff #23 #100)
-#98 := (iff #22 #97)
-#99 := [rewrite]: #98
-#102 := [monotonicity #99]: #101
-#108 := [trans #102 #106]: #107
-#111 := [quant-intro #108]: #110
-#135 := [trans #111 #133]: #134
-#96 := [asserted]: #24
-#136 := [mp #96 #135]: #131
-#198 := [mp~ #136 #183]: #131
-#685 := [mp #198 #684]: #680
-#619 := (not #680)
-#625 := (or #619 #161 #622)
-#617 := (or #622 #161)
-#466 := (or #619 #617)
-#607 := (iff #466 #625)
-#618 := (or #161 #622)
-#468 := (or #619 #618)
-#612 := (iff #468 #625)
-#613 := [rewrite]: #612
-#610 := (iff #466 #468)
-#623 := (iff #617 #618)
-#624 := [rewrite]: #623
-#611 := [monotonicity #624]: #610
-#608 := [trans #611 #613]: #607
-#467 := [quant-inst]: #466
-#614 := [mp #467 #608]: #625
-#494 := [unit-resolution #614 #685 #176]: #622
-#505 := [symm #494]: #504
-#599 := [monotonicity #505]: #506
-#587 := [trans #599 #600]: #149
-#175 := [and-elim #174]: #154
-[unit-resolution #175 #587]: false
-unsat
-3c1f7d30ea379c9ce2207a011fc3d11958eb42f1 438 0
+1632348bdee81a166d57559522a36ec81b67e22e 438 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -11561,7 +11320,248 @@
 #404 := [unit-resolution #379 #434]: #485
 [unit-resolution #404 #396]: false
 unsat
-d2811f187a26b77cca78876fe4e7b2248df3c75e 321 0
+5608753e6b659a303b2db701801c7222764e7e28 60 0
+#2 := false
+decl f3 :: (-> int S2)
+decl f4 :: (-> S2 int)
+decl f5 :: S2
+#25 := f5
+#26 := (f4 f5)
+#135 := (f3 #26)
+#141 := (= f5 #135)
+#146 := (not #141)
+#13 := 0::int
+#27 := (- #26 0::int)
+#28 := (f3 #27)
+#29 := (= #28 f5)
+#30 := (not #29)
+#147 := (iff #30 #146)
+#144 := (iff #29 #141)
+#138 := (= #135 f5)
+#142 := (iff #138 #141)
+#143 := [rewrite]: #142
+#139 := (iff #29 #138)
+#136 := (= #28 #135)
+#133 := (= #27 #26)
+#134 := [rewrite]: #133
+#137 := [monotonicity #134]: #136
+#140 := [monotonicity #137]: #139
+#145 := [trans #140 #143]: #144
+#148 := [monotonicity #145]: #147
+#132 := [asserted]: #30
+#151 := [mp #132 #148]: #146
+#8 := (:var 0 S2)
+#9 := (f4 #8)
+#639 := (pattern #9)
+#10 := (f3 #9)
+#48 := (= #8 #10)
+#640 := (forall (vars (?v0 S2)) (:pat #639) #48)
+#51 := (forall (vars (?v0 S2)) #48)
+#641 := (iff #51 #640)
+#643 := (iff #640 #640)
+#644 := [rewrite]: #643
+#642 := [rewrite]: #641
+#645 := [trans #642 #644]: #641
+#163 := (~ #51 #51)
+#161 := (~ #48 #48)
+#162 := [refl]: #161
+#164 := [nnf-pos #162]: #163
+#11 := (= #10 #8)
+#12 := (forall (vars (?v0 S2)) #11)
+#52 := (iff #12 #51)
+#49 := (iff #11 #48)
+#50 := [rewrite]: #49
+#53 := [quant-intro #50]: #52
+#47 := [asserted]: #12
+#56 := [mp #47 #53]: #51
+#152 := [mp~ #56 #164]: #51
+#646 := [mp #152 #645]: #640
+#224 := (not #640)
+#310 := (or #224 #141)
+#311 := [quant-inst]: #310
+[unit-resolution #311 #646 #151]: false
+unsat
+c6004ce59328c5780acd8bd7e43d352cf78599e0 179 0
+#2 := false
+decl f3 :: (-> int S2)
+decl f4 :: (-> S2 int)
+decl f6 :: S2
+#27 := f6
+#28 := (f4 f6)
+#138 := -1::int
+#139 := (* -1::int #28)
+decl f5 :: S2
+#25 := f5
+#26 := (f4 f5)
+#140 := (+ #26 #139)
+#143 := (f3 #140)
+#13 := 0::int
+#32 := (f3 0::int)
+#149 := (= #32 #143)
+#649 := (f4 #143)
+#597 := (f3 #649)
+#596 := (= #597 #143)
+#499 := (= #143 #597)
+#8 := (:var 0 S2)
+#9 := (f4 #8)
+#665 := (pattern #9)
+#10 := (f3 #9)
+#53 := (= #8 #10)
+#666 := (forall (vars (?v0 S2)) (:pat #665) #53)
+#56 := (forall (vars (?v0 S2)) #53)
+#667 := (iff #56 #666)
+#669 := (iff #666 #666)
+#670 := [rewrite]: #669
+#668 := [rewrite]: #667
+#671 := [trans #668 #670]: #667
+#192 := (~ #56 #56)
+#190 := (~ #53 #53)
+#191 := [refl]: #190
+#193 := [nnf-pos #191]: #192
+#11 := (= #10 #8)
+#12 := (forall (vars (?v0 S2)) #11)
+#57 := (iff #12 #56)
+#54 := (iff #11 #53)
+#55 := [rewrite]: #54
+#58 := [quant-intro #55]: #57
+#52 := [asserted]: #12
+#61 := [mp #52 #58]: #56
+#179 := [mp~ #61 #193]: #56
+#672 := [mp #179 #671]: #666
+#338 := (not #666)
+#502 := (or #338 #499)
+#503 := [quant-inst]: #502
+#501 := [unit-resolution #503 #672]: #499
+#600 := [symm #501]: #596
+#506 := (= #32 #597)
+#504 := (= 0::int #649)
+#622 := (= #649 0::int)
+#161 := (>= #140 0::int)
+#160 := (not #161)
+#154 := (not #149)
+#167 := (and #154 #160)
+#30 := (- #26 #28)
+#31 := (f3 #30)
+#33 := (= #31 #32)
+#34 := (not #33)
+#29 := (< #26 #28)
+#35 := (and #29 #34)
+#172 := (iff #35 #167)
+#157 := (and #29 #154)
+#170 := (iff #157 #167)
+#164 := (and #160 #154)
+#168 := (iff #164 #167)
+#169 := [rewrite]: #168
+#165 := (iff #157 #164)
+#162 := (iff #29 #160)
+#163 := [rewrite]: #162
+#166 := [monotonicity #163]: #165
+#171 := [trans #166 #169]: #170
+#158 := (iff #35 #157)
+#155 := (iff #34 #154)
+#152 := (iff #33 #149)
+#146 := (= #143 #32)
+#150 := (iff #146 #149)
+#151 := [rewrite]: #150
+#147 := (iff #33 #146)
+#144 := (= #31 #143)
+#141 := (= #30 #140)
+#142 := [rewrite]: #141
+#145 := [monotonicity #142]: #144
+#148 := [monotonicity #145]: #147
+#153 := [trans #148 #151]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#173 := [trans #159 #171]: #172
+#137 := [asserted]: #35
+#174 := [mp #137 #173]: #167
+#176 := [and-elim #174]: #160
+#14 := (:var 0 int)
+#16 := (f3 #14)
+#673 := (pattern #16)
+#78 := (>= #14 0::int)
+#17 := (f4 #16)
+#22 := (= #17 0::int)
+#126 := (or #22 #78)
+#680 := (forall (vars (?v0 int)) (:pat #673) #126)
+#131 := (forall (vars (?v0 int)) #126)
+#683 := (iff #131 #680)
+#681 := (iff #126 #126)
+#682 := [refl]: #681
+#684 := [quant-intro #682]: #683
+#182 := (~ #131 #131)
+#196 := (~ #126 #126)
+#197 := [refl]: #196
+#183 := [nnf-pos #197]: #182
+#21 := (< #14 0::int)
+#23 := (implies #21 #22)
+#24 := (forall (vars (?v0 int)) #23)
+#134 := (iff #24 #131)
+#97 := (= 0::int #17)
+#103 := (not #21)
+#104 := (or #103 #97)
+#109 := (forall (vars (?v0 int)) #104)
+#132 := (iff #109 #131)
+#129 := (iff #104 #126)
+#123 := (or #78 #22)
+#127 := (iff #123 #126)
+#128 := [rewrite]: #127
+#124 := (iff #104 #123)
+#121 := (iff #97 #22)
+#122 := [rewrite]: #121
+#119 := (iff #103 #78)
+#79 := (not #78)
+#114 := (not #79)
+#117 := (iff #114 #78)
+#118 := [rewrite]: #117
+#115 := (iff #103 #114)
+#112 := (iff #21 #79)
+#113 := [rewrite]: #112
+#116 := [monotonicity #113]: #115
+#120 := [trans #116 #118]: #119
+#125 := [monotonicity #120 #122]: #124
+#130 := [trans #125 #128]: #129
+#133 := [quant-intro #130]: #132
+#110 := (iff #24 #109)
+#107 := (iff #23 #104)
+#100 := (implies #21 #97)
+#105 := (iff #100 #104)
+#106 := [rewrite]: #105
+#101 := (iff #23 #100)
+#98 := (iff #22 #97)
+#99 := [rewrite]: #98
+#102 := [monotonicity #99]: #101
+#108 := [trans #102 #106]: #107
+#111 := [quant-intro #108]: #110
+#135 := [trans #111 #133]: #134
+#96 := [asserted]: #24
+#136 := [mp #96 #135]: #131
+#198 := [mp~ #136 #183]: #131
+#685 := [mp #198 #684]: #680
+#619 := (not #680)
+#625 := (or #619 #161 #622)
+#617 := (or #622 #161)
+#466 := (or #619 #617)
+#607 := (iff #466 #625)
+#618 := (or #161 #622)
+#468 := (or #619 #618)
+#612 := (iff #468 #625)
+#613 := [rewrite]: #612
+#610 := (iff #466 #468)
+#623 := (iff #617 #618)
+#624 := [rewrite]: #623
+#611 := [monotonicity #624]: #610
+#608 := [trans #611 #613]: #607
+#467 := [quant-inst]: #466
+#614 := [mp #467 #608]: #625
+#494 := [unit-resolution #614 #685 #176]: #622
+#505 := [symm #494]: #504
+#599 := [monotonicity #505]: #506
+#587 := [trans #599 #600]: #149
+#175 := [and-elim #174]: #154
+[unit-resolution #175 #587]: false
+unsat
+fcfdc4289ad5f9140cb116c6f4c4919f2b4f4923 321 0
 #2 := false
 decl f3 :: (-> int S2)
 decl f4 :: (-> S2 int)
@@ -11883,7 +11883,7 @@
 #181 := [and-elim #183]: #157
 [unit-resolution #181 #478]: false
 unsat
-6750007dac6f87e186d233d8af85a2f566a05649 329 0
+68d29112e746194ea996aa3a623d8373cc08ac2a 329 0
 #2 := false
 decl f6 :: S2
 #27 := f6
@@ -12213,7 +12213,7 @@
 #500 := [trans #499 #542]: #188
 [unit-resolution #198 #500]: false
 unsat
-73fe8e8f8efc05a9592e80e471f1f73a8ea6b41e 33 0
+af3fc323e3a9c9867187efb63d27fdabc458b972 33 0
 #2 := false
 decl f3 :: (-> int S2)
 #13 := 0::int
@@ -12247,7 +12247,7 @@
 #133 := [asserted]: #31
 [mp #133 #150]: false
 unsat
-38a43c830e9f2f628495aa4330122f2c2da981cd 517 0
+afc7043a4955320d1d41ce87a7eed9f5e9408f88 517 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -12765,7 +12765,7 @@
 #282 := [unit-resolution #419 #286]: #319
 [unit-resolution #424 #282 #300]: false
 unsat
-b8b27e6325657430dd1af6ebdf5787c6efe3284f 33 0
+e2cc58543dd5ad16fc6af5d366bfe8cd7b5b7c23 33 0
 #2 := false
 decl f3 :: (-> int S2)
 #13 := 0::int
@@ -12799,7 +12799,7 @@
 #133 := [asserted]: #31
 [mp #133 #150]: false
 unsat
-21ee0df98aa191c83f2b436328c15786df798f7a 60 0
+bdaf29198446643e2cae690c3f0cac29f38941fc 60 0
 #2 := false
 decl f3 :: (-> int S2)
 decl f4 :: (-> S2 int)
@@ -12860,7 +12860,7 @@
 #311 := [quant-inst]: #310
 [unit-resolution #311 #646 #152]: false
 unsat
-f2bd5534623dcef31ae5e3e9a7322f435fd34452 60 0
+2bc16a4276212362a5a76abffcf9b2b6da841754 60 0
 #2 := false
 decl f3 :: (-> int S2)
 decl f4 :: (-> S2 int)
@@ -12921,7 +12921,7 @@
 #311 := [quant-inst]: #310
 [unit-resolution #311 #646 #152]: false
 unsat
-563a522b2ffcab4b8b92a3674b4a7e71c6c68e79 35 0
+2b450a9ee4af266a70157af65786bf2e05023359 35 0
 #2 := false
 decl f3 :: (-> int S2)
 #25 := 3::int
@@ -12957,7 +12957,7 @@
 #135 := [asserted]: #33
 [mp #135 #153]: false
 unsat
-2f498bc61394e79ef8b8e82a20d5e6a57d031207 250 0
+f58726aba38b36bcc4264b070f4c61db1533ea41 250 0
 #2 := false
 decl f5 :: (-> int S2)
 #11 := 0::int
@@ -13208,273 +13208,7 @@
 #269 := [asserted]: #57
 [unit-resolution #269 #746]: false
 unsat
-344dd4c43f015bcb0632176ba256e3bea4a444a5 265 0
-#2 := false
-decl f5 :: (-> int S2)
-#11 := 0::int
-#57 := (f5 0::int)
-decl f3 :: (-> int int int)
-decl f6 :: (-> S2 int)
-decl f7 :: S2
-#53 := f7
-#54 := (f6 f7)
-#55 := (f3 #54 0::int)
-#56 := (f5 #55)
-#58 := (= #56 #57)
-#840 := (= #55 0::int)
-#9 := (:var 0 int)
-#8 := (:var 1 int)
-#10 := (f3 #8 #9)
-#845 := (pattern #10)
-#83 := -1::int
-#87 := (* -1::int #9)
-#84 := (* -1::int #8)
-#90 := (div #84 #87)
-#347 := (* -1::int #90)
-#348 := (+ #10 #347)
-#349 := (= #348 0::int)
-#21 := (div #8 #9)
-#344 := (* -1::int #21)
-#345 := (+ #10 #344)
-#346 := (= #345 0::int)
-#109 := (<= #9 0::int)
-#105 := (<= #8 0::int)
-#302 := (or #105 #109)
-#303 := (not #302)
-#116 := (>= #8 0::int)
-#285 := (or #109 #116)
-#286 := (not #285)
-#309 := (or #286 #303)
-#350 := (ite #309 #346 #349)
-#343 := (= #10 0::int)
-#13 := (= #9 0::int)
-#12 := (= #8 0::int)
-#14 := (or #12 #13)
-#351 := (ite #14 #343 #350)
-#846 := (forall (vars (?v0 int) (?v1 int)) (:pat #845) #351)
-#354 := (forall (vars (?v0 int) (?v1 int)) #351)
-#849 := (iff #354 #846)
-#847 := (iff #351 #351)
-#848 := [refl]: #847
-#850 := [quant-intro #848]: #849
-#314 := (ite #309 #21 #90)
-#317 := (ite #14 0::int #314)
-#320 := (= #10 #317)
-#323 := (forall (vars (?v0 int) (?v1 int)) #320)
-#355 := (iff #323 #354)
-#352 := (iff #320 #351)
-#353 := [rewrite]: #352
-#356 := [quant-intro #353]: #355
-#117 := (not #116)
-#110 := (not #109)
-#120 := (and #110 #117)
-#106 := (not #105)
-#113 := (and #106 #110)
-#123 := (or #113 #120)
-#126 := (ite #123 #21 #90)
-#129 := (ite #14 0::int #126)
-#132 := (= #10 #129)
-#135 := (forall (vars (?v0 int) (?v1 int)) #132)
-#324 := (iff #135 #323)
-#321 := (iff #132 #320)
-#318 := (= #129 #317)
-#315 := (= #126 #314)
-#312 := (iff #123 #309)
-#306 := (or #303 #286)
-#310 := (iff #306 #309)
-#311 := [rewrite]: #310
-#307 := (iff #123 #306)
-#304 := (iff #120 #286)
-#305 := [rewrite]: #304
-#283 := (iff #113 #303)
-#284 := [rewrite]: #283
-#308 := [monotonicity #284 #305]: #307
-#313 := [trans #308 #311]: #312
-#316 := [monotonicity #313]: #315
-#319 := [monotonicity #316]: #318
-#322 := [monotonicity #319]: #321
-#325 := [quant-intro #322]: #324
-#289 := (~ #135 #135)
-#287 := (~ #132 #132)
-#288 := [refl]: #287
-#290 := [nnf-pos #288]: #289
-#23 := (- #9)
-#22 := (- #8)
-#24 := (div #22 #23)
-#16 := (< 0::int #9)
-#18 := (< #8 0::int)
-#19 := (and #18 #16)
-#15 := (< 0::int #8)
-#17 := (and #15 #16)
-#20 := (or #17 #19)
-#25 := (ite #20 #21 #24)
-#26 := (ite #14 0::int #25)
-#27 := (= #10 #26)
-#28 := (forall (vars (?v0 int) (?v1 int)) #27)
-#138 := (iff #28 #135)
-#77 := (and #16 #18)
-#80 := (or #17 #77)
-#93 := (ite #80 #21 #90)
-#96 := (ite #14 0::int #93)
-#99 := (= #10 #96)
-#102 := (forall (vars (?v0 int) (?v1 int)) #99)
-#136 := (iff #102 #135)
-#133 := (iff #99 #132)
-#130 := (= #96 #129)
-#127 := (= #93 #126)
-#124 := (iff #80 #123)
-#121 := (iff #77 #120)
-#118 := (iff #18 #117)
-#119 := [rewrite]: #118
-#111 := (iff #16 #110)
-#112 := [rewrite]: #111
-#122 := [monotonicity #112 #119]: #121
-#114 := (iff #17 #113)
-#107 := (iff #15 #106)
-#108 := [rewrite]: #107
-#115 := [monotonicity #108 #112]: #114
-#125 := [monotonicity #115 #122]: #124
-#128 := [monotonicity #125]: #127
-#131 := [monotonicity #128]: #130
-#134 := [monotonicity #131]: #133
-#137 := [quant-intro #134]: #136
-#103 := (iff #28 #102)
-#100 := (iff #27 #99)
-#97 := (= #26 #96)
-#94 := (= #25 #93)
-#91 := (= #24 #90)
-#88 := (= #23 #87)
-#89 := [rewrite]: #88
-#85 := (= #22 #84)
-#86 := [rewrite]: #85
-#92 := [monotonicity #86 #89]: #91
-#81 := (iff #20 #80)
-#78 := (iff #19 #77)
-#79 := [rewrite]: #78
-#82 := [monotonicity #79]: #81
-#95 := [monotonicity #82 #92]: #94
-#98 := [monotonicity #95]: #97
-#101 := [monotonicity #98]: #100
-#104 := [quant-intro #101]: #103
-#139 := [trans #104 #137]: #138
-#76 := [asserted]: #28
-#140 := [mp #76 #139]: #135
-#274 := [mp~ #140 #290]: #135
-#326 := [mp #274 #325]: #323
-#357 := [mp #326 #356]: #354
-#851 := [mp #357 #850]: #846
-#788 := (not #846)
-#794 := (or #788 #840)
-#431 := (* -1::int 0::int)
-#516 := (* -1::int #54)
-#517 := (div #516 #431)
-#518 := (* -1::int #517)
-#509 := (+ #55 #518)
-#520 := (= #509 0::int)
-#521 := (div #54 0::int)
-#449 := (* -1::int #521)
-#522 := (+ #55 #449)
-#519 := (= #522 0::int)
-#523 := (<= 0::int 0::int)
-#502 := (<= #54 0::int)
-#837 := (or #502 #523)
-#839 := (not #837)
-#496 := (>= #54 0::int)
-#626 := (or #523 #496)
-#833 := (not #626)
-#507 := (or #833 #839)
-#508 := (ite #507 #519 #520)
-#841 := (= 0::int 0::int)
-#842 := (= #54 0::int)
-#843 := (or #842 #841)
-#838 := (ite #843 #840 #508)
-#795 := (or #788 #838)
-#796 := (iff #795 #794)
-#627 := (iff #794 #794)
-#628 := [rewrite]: #627
-#793 := (iff #838 #840)
-#529 := (div #516 0::int)
-#809 := (* -1::int #529)
-#810 := (+ #55 #809)
-#800 := (= #810 0::int)
-#1 := true
-#647 := (ite true #840 #800)
-#791 := (iff #647 #840)
-#792 := [rewrite]: #791
-#648 := (iff #838 #647)
-#805 := (iff #508 #800)
-#797 := (ite false #519 #800)
-#804 := (iff #797 #800)
-#799 := [rewrite]: #804
-#798 := (iff #508 #797)
-#801 := (iff #520 #800)
-#807 := (= #509 #810)
-#524 := (= #518 #809)
-#530 := (= #517 #529)
-#527 := (= #431 0::int)
-#528 := [rewrite]: #527
-#808 := [monotonicity #528]: #530
-#806 := [monotonicity #808]: #524
-#811 := [monotonicity #806]: #807
-#802 := [monotonicity #811]: #801
-#813 := (iff #507 false)
-#815 := (or false false)
-#812 := (iff #815 false)
-#816 := [rewrite]: #812
-#537 := (iff #507 #815)
-#437 := (iff #839 false)
-#821 := (not true)
-#828 := (iff #821 false)
-#830 := [rewrite]: #828
-#543 := (iff #839 #821)
-#541 := (iff #837 true)
-#831 := (or #502 true)
-#818 := (iff #831 true)
-#819 := [rewrite]: #818
-#829 := (iff #837 #831)
-#483 := (iff #523 true)
-#484 := [rewrite]: #483
-#832 := [monotonicity #484]: #829
-#542 := [trans #832 #819]: #541
-#544 := [monotonicity #542]: #543
-#814 := [trans #544 #830]: #437
-#470 := (iff #833 false)
-#827 := (iff #833 #821)
-#825 := (iff #626 true)
-#485 := (or true #496)
-#823 := (iff #485 true)
-#824 := [rewrite]: #823
-#486 := (iff #626 #485)
-#822 := [monotonicity #484]: #486
-#826 := [trans #822 #824]: #825
-#465 := [monotonicity #826]: #827
-#471 := [trans #465 #830]: #470
-#538 := [monotonicity #471 #814]: #537
-#817 := [trans #538 #816]: #813
-#803 := [monotonicity #817 #802]: #798
-#646 := [trans #803 #799]: #805
-#479 := (iff #843 true)
-#494 := (or #842 true)
-#495 := (iff #494 true)
-#836 := [rewrite]: #495
-#499 := (iff #843 #494)
-#844 := (iff #841 true)
-#834 := [rewrite]: #844
-#835 := [monotonicity #834]: #499
-#820 := [trans #835 #836]: #479
-#790 := [monotonicity #820 #646]: #648
-#787 := [trans #790 #792]: #793
-#625 := [monotonicity #787]: #796
-#781 := [trans #625 #628]: #796
-#789 := [quant-inst]: #795
-#782 := [mp #789 #781]: #794
-#737 := [unit-resolution #782 #851]: #840
-#738 := [monotonicity #737]: #58
-#59 := (not #58)
-#271 := [asserted]: #59
-[unit-resolution #271 #738]: false
-unsat
-548d39bc73378ffff45c17ea9af834838e4f2aed 274 0
+f9ec262ae3b89f82ea2dac0232937218e79cd135 274 0
 #2 := false
 decl f5 :: (-> int S2)
 #11 := 0::int
@@ -13749,7 +13483,273 @@
 #269 := [asserted]: #57
 [unit-resolution #269 #742]: false
 unsat
-426e56a2fa6cae689a233b52c380ff3e1f4c5d0f 287 0
+2445ca30fa757c71a9c6aa886c0159c1fde53406 265 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#57 := (f5 0::int)
+decl f3 :: (-> int int int)
+decl f6 :: (-> S2 int)
+decl f7 :: S2
+#53 := f7
+#54 := (f6 f7)
+#55 := (f3 #54 0::int)
+#56 := (f5 #55)
+#58 := (= #56 #57)
+#840 := (= #55 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#845 := (pattern #10)
+#83 := -1::int
+#87 := (* -1::int #9)
+#84 := (* -1::int #8)
+#90 := (div #84 #87)
+#347 := (* -1::int #90)
+#348 := (+ #10 #347)
+#349 := (= #348 0::int)
+#21 := (div #8 #9)
+#344 := (* -1::int #21)
+#345 := (+ #10 #344)
+#346 := (= #345 0::int)
+#109 := (<= #9 0::int)
+#105 := (<= #8 0::int)
+#302 := (or #105 #109)
+#303 := (not #302)
+#116 := (>= #8 0::int)
+#285 := (or #109 #116)
+#286 := (not #285)
+#309 := (or #286 #303)
+#350 := (ite #309 #346 #349)
+#343 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#351 := (ite #14 #343 #350)
+#846 := (forall (vars (?v0 int) (?v1 int)) (:pat #845) #351)
+#354 := (forall (vars (?v0 int) (?v1 int)) #351)
+#849 := (iff #354 #846)
+#847 := (iff #351 #351)
+#848 := [refl]: #847
+#850 := [quant-intro #848]: #849
+#314 := (ite #309 #21 #90)
+#317 := (ite #14 0::int #314)
+#320 := (= #10 #317)
+#323 := (forall (vars (?v0 int) (?v1 int)) #320)
+#355 := (iff #323 #354)
+#352 := (iff #320 #351)
+#353 := [rewrite]: #352
+#356 := [quant-intro #353]: #355
+#117 := (not #116)
+#110 := (not #109)
+#120 := (and #110 #117)
+#106 := (not #105)
+#113 := (and #106 #110)
+#123 := (or #113 #120)
+#126 := (ite #123 #21 #90)
+#129 := (ite #14 0::int #126)
+#132 := (= #10 #129)
+#135 := (forall (vars (?v0 int) (?v1 int)) #132)
+#324 := (iff #135 #323)
+#321 := (iff #132 #320)
+#318 := (= #129 #317)
+#315 := (= #126 #314)
+#312 := (iff #123 #309)
+#306 := (or #303 #286)
+#310 := (iff #306 #309)
+#311 := [rewrite]: #310
+#307 := (iff #123 #306)
+#304 := (iff #120 #286)
+#305 := [rewrite]: #304
+#283 := (iff #113 #303)
+#284 := [rewrite]: #283
+#308 := [monotonicity #284 #305]: #307
+#313 := [trans #308 #311]: #312
+#316 := [monotonicity #313]: #315
+#319 := [monotonicity #316]: #318
+#322 := [monotonicity #319]: #321
+#325 := [quant-intro #322]: #324
+#289 := (~ #135 #135)
+#287 := (~ #132 #132)
+#288 := [refl]: #287
+#290 := [nnf-pos #288]: #289
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#138 := (iff #28 #135)
+#77 := (and #16 #18)
+#80 := (or #17 #77)
+#93 := (ite #80 #21 #90)
+#96 := (ite #14 0::int #93)
+#99 := (= #10 #96)
+#102 := (forall (vars (?v0 int) (?v1 int)) #99)
+#136 := (iff #102 #135)
+#133 := (iff #99 #132)
+#130 := (= #96 #129)
+#127 := (= #93 #126)
+#124 := (iff #80 #123)
+#121 := (iff #77 #120)
+#118 := (iff #18 #117)
+#119 := [rewrite]: #118
+#111 := (iff #16 #110)
+#112 := [rewrite]: #111
+#122 := [monotonicity #112 #119]: #121
+#114 := (iff #17 #113)
+#107 := (iff #15 #106)
+#108 := [rewrite]: #107
+#115 := [monotonicity #108 #112]: #114
+#125 := [monotonicity #115 #122]: #124
+#128 := [monotonicity #125]: #127
+#131 := [monotonicity #128]: #130
+#134 := [monotonicity #131]: #133
+#137 := [quant-intro #134]: #136
+#103 := (iff #28 #102)
+#100 := (iff #27 #99)
+#97 := (= #26 #96)
+#94 := (= #25 #93)
+#91 := (= #24 #90)
+#88 := (= #23 #87)
+#89 := [rewrite]: #88
+#85 := (= #22 #84)
+#86 := [rewrite]: #85
+#92 := [monotonicity #86 #89]: #91
+#81 := (iff #20 #80)
+#78 := (iff #19 #77)
+#79 := [rewrite]: #78
+#82 := [monotonicity #79]: #81
+#95 := [monotonicity #82 #92]: #94
+#98 := [monotonicity #95]: #97
+#101 := [monotonicity #98]: #100
+#104 := [quant-intro #101]: #103
+#139 := [trans #104 #137]: #138
+#76 := [asserted]: #28
+#140 := [mp #76 #139]: #135
+#274 := [mp~ #140 #290]: #135
+#326 := [mp #274 #325]: #323
+#357 := [mp #326 #356]: #354
+#851 := [mp #357 #850]: #846
+#788 := (not #846)
+#794 := (or #788 #840)
+#431 := (* -1::int 0::int)
+#516 := (* -1::int #54)
+#517 := (div #516 #431)
+#518 := (* -1::int #517)
+#509 := (+ #55 #518)
+#520 := (= #509 0::int)
+#521 := (div #54 0::int)
+#449 := (* -1::int #521)
+#522 := (+ #55 #449)
+#519 := (= #522 0::int)
+#523 := (<= 0::int 0::int)
+#502 := (<= #54 0::int)
+#837 := (or #502 #523)
+#839 := (not #837)
+#496 := (>= #54 0::int)
+#626 := (or #523 #496)
+#833 := (not #626)
+#507 := (or #833 #839)
+#508 := (ite #507 #519 #520)
+#841 := (= 0::int 0::int)
+#842 := (= #54 0::int)
+#843 := (or #842 #841)
+#838 := (ite #843 #840 #508)
+#795 := (or #788 #838)
+#796 := (iff #795 #794)
+#627 := (iff #794 #794)
+#628 := [rewrite]: #627
+#793 := (iff #838 #840)
+#529 := (div #516 0::int)
+#809 := (* -1::int #529)
+#810 := (+ #55 #809)
+#800 := (= #810 0::int)
+#1 := true
+#647 := (ite true #840 #800)
+#791 := (iff #647 #840)
+#792 := [rewrite]: #791
+#648 := (iff #838 #647)
+#805 := (iff #508 #800)
+#797 := (ite false #519 #800)
+#804 := (iff #797 #800)
+#799 := [rewrite]: #804
+#798 := (iff #508 #797)
+#801 := (iff #520 #800)
+#807 := (= #509 #810)
+#524 := (= #518 #809)
+#530 := (= #517 #529)
+#527 := (= #431 0::int)
+#528 := [rewrite]: #527
+#808 := [monotonicity #528]: #530
+#806 := [monotonicity #808]: #524
+#811 := [monotonicity #806]: #807
+#802 := [monotonicity #811]: #801
+#813 := (iff #507 false)
+#815 := (or false false)
+#812 := (iff #815 false)
+#816 := [rewrite]: #812
+#537 := (iff #507 #815)
+#437 := (iff #839 false)
+#821 := (not true)
+#828 := (iff #821 false)
+#830 := [rewrite]: #828
+#543 := (iff #839 #821)
+#541 := (iff #837 true)
+#831 := (or #502 true)
+#818 := (iff #831 true)
+#819 := [rewrite]: #818
+#829 := (iff #837 #831)
+#483 := (iff #523 true)
+#484 := [rewrite]: #483
+#832 := [monotonicity #484]: #829
+#542 := [trans #832 #819]: #541
+#544 := [monotonicity #542]: #543
+#814 := [trans #544 #830]: #437
+#470 := (iff #833 false)
+#827 := (iff #833 #821)
+#825 := (iff #626 true)
+#485 := (or true #496)
+#823 := (iff #485 true)
+#824 := [rewrite]: #823
+#486 := (iff #626 #485)
+#822 := [monotonicity #484]: #486
+#826 := [trans #822 #824]: #825
+#465 := [monotonicity #826]: #827
+#471 := [trans #465 #830]: #470
+#538 := [monotonicity #471 #814]: #537
+#817 := [trans #538 #816]: #813
+#803 := [monotonicity #817 #802]: #798
+#646 := [trans #803 #799]: #805
+#479 := (iff #843 true)
+#494 := (or #842 true)
+#495 := (iff #494 true)
+#836 := [rewrite]: #495
+#499 := (iff #843 #494)
+#844 := (iff #841 true)
+#834 := [rewrite]: #844
+#835 := [monotonicity #834]: #499
+#820 := [trans #835 #836]: #479
+#790 := [monotonicity #820 #646]: #648
+#787 := [trans #790 #792]: #793
+#625 := [monotonicity #787]: #796
+#781 := [trans #625 #628]: #796
+#789 := [quant-inst]: #795
+#782 := [mp #789 #781]: #794
+#737 := [unit-resolution #782 #851]: #840
+#738 := [monotonicity #737]: #58
+#59 := (not #58)
+#271 := [asserted]: #59
+[unit-resolution #271 #738]: false
+unsat
+7a16e7d1cff95b977a46175f34e2f58dc17b201b 287 0
 #2 := false
 decl f5 :: (-> int S2)
 #11 := 0::int
@@ -14037,7 +14037,7 @@
 #270 := [asserted]: #58
 [unit-resolution #270 #691]: false
 unsat
-2a856348a2d0d12d43659d3f8fbd60f2f395959a 321 0
+3fde1aa3674893464f069812a19859471255da8e 321 0
 #2 := false
 decl f5 :: (-> int S2)
 decl f4 :: (-> int int int)
@@ -14359,7 +14359,7 @@
 #279 := [mp #270 #276]: #274
 [unit-resolution #279 #757]: false
 unsat
-f595f2976198bb59087cfc3afdc24567f743886b 287 0
+c6bc1ae49d3543060aab7bd42065cc7be0e98df3 287 0
 #2 := false
 decl f5 :: (-> int S2)
 #53 := 1::int
@@ -14647,306 +14647,7 @@
 #270 := [asserted]: #58
 [unit-resolution #270 #692]: false
 unsat
-69a73700cfd90edae90cc37e225595659ec32fc1 298 0
-#2 := false
-decl f5 :: (-> int S2)
-#53 := 3::int
-#57 := (f5 3::int)
-decl f3 :: (-> int int int)
-#54 := 1::int
-#55 := (f3 3::int 1::int)
-#56 := (f5 #55)
-#58 := (= #56 #57)
-#790 := (= #55 3::int)
-#9 := (:var 0 int)
-#8 := (:var 1 int)
-#10 := (f3 #8 #9)
-#844 := (pattern #10)
-#11 := 0::int
-#83 := -1::int
-#87 := (* -1::int #9)
-#84 := (* -1::int #8)
-#90 := (div #84 #87)
-#347 := (* -1::int #90)
-#348 := (+ #10 #347)
-#349 := (= #348 0::int)
-#21 := (div #8 #9)
-#344 := (* -1::int #21)
-#345 := (+ #10 #344)
-#346 := (= #345 0::int)
-#109 := (<= #9 0::int)
-#105 := (<= #8 0::int)
-#302 := (or #105 #109)
-#303 := (not #302)
-#116 := (>= #8 0::int)
-#285 := (or #109 #116)
-#286 := (not #285)
-#309 := (or #286 #303)
-#350 := (ite #309 #346 #349)
-#343 := (= #10 0::int)
-#13 := (= #9 0::int)
-#12 := (= #8 0::int)
-#14 := (or #12 #13)
-#351 := (ite #14 #343 #350)
-#845 := (forall (vars (?v0 int) (?v1 int)) (:pat #844) #351)
-#354 := (forall (vars (?v0 int) (?v1 int)) #351)
-#848 := (iff #354 #845)
-#846 := (iff #351 #351)
-#847 := [refl]: #846
-#849 := [quant-intro #847]: #848
-#314 := (ite #309 #21 #90)
-#317 := (ite #14 0::int #314)
-#320 := (= #10 #317)
-#323 := (forall (vars (?v0 int) (?v1 int)) #320)
-#355 := (iff #323 #354)
-#352 := (iff #320 #351)
-#353 := [rewrite]: #352
-#356 := [quant-intro #353]: #355
-#117 := (not #116)
-#110 := (not #109)
-#120 := (and #110 #117)
-#106 := (not #105)
-#113 := (and #106 #110)
-#123 := (or #113 #120)
-#126 := (ite #123 #21 #90)
-#129 := (ite #14 0::int #126)
-#132 := (= #10 #129)
-#135 := (forall (vars (?v0 int) (?v1 int)) #132)
-#324 := (iff #135 #323)
-#321 := (iff #132 #320)
-#318 := (= #129 #317)
-#315 := (= #126 #314)
-#312 := (iff #123 #309)
-#306 := (or #303 #286)
-#310 := (iff #306 #309)
-#311 := [rewrite]: #310
-#307 := (iff #123 #306)
-#304 := (iff #120 #286)
-#305 := [rewrite]: #304
-#283 := (iff #113 #303)
-#284 := [rewrite]: #283
-#308 := [monotonicity #284 #305]: #307
-#313 := [trans #308 #311]: #312
-#316 := [monotonicity #313]: #315
-#319 := [monotonicity #316]: #318
-#322 := [monotonicity #319]: #321
-#325 := [quant-intro #322]: #324
-#289 := (~ #135 #135)
-#287 := (~ #132 #132)
-#288 := [refl]: #287
-#290 := [nnf-pos #288]: #289
-#23 := (- #9)
-#22 := (- #8)
-#24 := (div #22 #23)
-#16 := (< 0::int #9)
-#18 := (< #8 0::int)
-#19 := (and #18 #16)
-#15 := (< 0::int #8)
-#17 := (and #15 #16)
-#20 := (or #17 #19)
-#25 := (ite #20 #21 #24)
-#26 := (ite #14 0::int #25)
-#27 := (= #10 #26)
-#28 := (forall (vars (?v0 int) (?v1 int)) #27)
-#138 := (iff #28 #135)
-#77 := (and #16 #18)
-#80 := (or #17 #77)
-#93 := (ite #80 #21 #90)
-#96 := (ite #14 0::int #93)
-#99 := (= #10 #96)
-#102 := (forall (vars (?v0 int) (?v1 int)) #99)
-#136 := (iff #102 #135)
-#133 := (iff #99 #132)
-#130 := (= #96 #129)
-#127 := (= #93 #126)
-#124 := (iff #80 #123)
-#121 := (iff #77 #120)
-#118 := (iff #18 #117)
-#119 := [rewrite]: #118
-#111 := (iff #16 #110)
-#112 := [rewrite]: #111
-#122 := [monotonicity #112 #119]: #121
-#114 := (iff #17 #113)
-#107 := (iff #15 #106)
-#108 := [rewrite]: #107
-#115 := [monotonicity #108 #112]: #114
-#125 := [monotonicity #115 #122]: #124
-#128 := [monotonicity #125]: #127
-#131 := [monotonicity #128]: #130
-#134 := [monotonicity #131]: #133
-#137 := [quant-intro #134]: #136
-#103 := (iff #28 #102)
-#100 := (iff #27 #99)
-#97 := (= #26 #96)
-#94 := (= #25 #93)
-#91 := (= #24 #90)
-#88 := (= #23 #87)
-#89 := [rewrite]: #88
-#85 := (= #22 #84)
-#86 := [rewrite]: #85
-#92 := [monotonicity #86 #89]: #91
-#81 := (iff #20 #80)
-#78 := (iff #19 #77)
-#79 := [rewrite]: #78
-#82 := [monotonicity #79]: #81
-#95 := [monotonicity #82 #92]: #94
-#98 := [monotonicity #95]: #97
-#101 := [monotonicity #98]: #100
-#104 := [quant-intro #101]: #103
-#139 := [trans #104 #137]: #138
-#76 := [asserted]: #28
-#140 := [mp #76 #139]: #135
-#274 := [mp~ #140 #290]: #135
-#326 := [mp #274 #325]: #323
-#357 := [mp #326 #356]: #354
-#850 := [mp #357 #849]: #845
-#766 := (not #845)
-#768 := (or #766 #790)
-#431 := (* -1::int 1::int)
-#515 := (* -1::int 3::int)
-#516 := (div #515 #431)
-#517 := (* -1::int #516)
-#508 := (+ #55 #517)
-#519 := (= #508 0::int)
-#520 := (div 3::int 1::int)
-#521 := (* -1::int #520)
-#518 := (+ #55 #521)
-#522 := (= #518 0::int)
-#501 := (<= 1::int 0::int)
-#836 := (<= 3::int 0::int)
-#838 := (or #836 #501)
-#495 := (not #838)
-#625 := (>= 3::int 0::int)
-#832 := (or #501 #625)
-#506 := (not #832)
-#507 := (or #506 #495)
-#839 := (ite #507 #522 #519)
-#840 := (= #55 0::int)
-#841 := (= 1::int 0::int)
-#842 := (= 3::int 0::int)
-#837 := (or #842 #841)
-#843 := (ite #837 #840 #839)
-#760 := (or #766 #843)
-#759 := (iff #760 #768)
-#770 := (iff #768 #768)
-#771 := [rewrite]: #770
-#775 := (iff #843 #790)
-#682 := (ite false #840 #790)
-#685 := (iff #682 #790)
-#778 := [rewrite]: #685
-#683 := (iff #843 #682)
-#673 := (iff #839 #790)
-#1 := true
-#777 := (ite true #790 #790)
-#679 := (iff #777 #790)
-#680 := [rewrite]: #679
-#662 := (iff #839 #777)
-#773 := (iff #519 #790)
-#809 := -3::int
-#802 := (+ -3::int #55)
-#646 := (= #802 0::int)
-#791 := (iff #646 #790)
-#792 := [rewrite]: #791
-#776 := (iff #519 #646)
-#669 := (= #508 #802)
-#801 := (+ #55 -3::int)
-#803 := (= #801 #802)
-#798 := [rewrite]: #803
-#667 := (= #508 #801)
-#782 := (= #517 -3::int)
-#806 := (= #515 -3::int)
-#810 := [rewrite]: #806
-#783 := (= #517 #515)
-#780 := (= #516 3::int)
-#788 := (div -3::int -1::int)
-#626 := (= #788 3::int)
-#627 := [rewrite]: #626
-#795 := (= #516 #788)
-#793 := (= #431 -1::int)
-#794 := [rewrite]: #793
-#624 := [monotonicity #810 #794]: #795
-#781 := [trans #624 #627]: #780
-#784 := [monotonicity #781]: #783
-#785 := [trans #784 #810]: #782
-#668 := [monotonicity #785]: #667
-#628 := [trans #668 #798]: #669
-#678 := [monotonicity #628]: #776
-#774 := [trans #678 #792]: #773
-#786 := (iff #522 #790)
-#647 := (iff #522 #646)
-#804 := (= #518 #802)
-#796 := (= #518 #801)
-#799 := (= #521 -3::int)
-#523 := (= #521 #515)
-#807 := (= #520 3::int)
-#808 := [rewrite]: #807
-#805 := [monotonicity #808]: #523
-#800 := [trans #805 #810]: #799
-#797 := [monotonicity #800]: #796
-#645 := [trans #797 #798]: #804
-#789 := [monotonicity #645]: #647
-#787 := [trans #789 #792]: #786
-#528 := (iff #507 true)
-#824 := (or false true)
-#826 := (iff #824 true)
-#464 := [rewrite]: #826
-#526 := (iff #507 #824)
-#812 := (iff #495 true)
-#814 := (not false)
-#811 := (iff #814 true)
-#815 := [rewrite]: #811
-#536 := (iff #495 #814)
-#437 := (iff #838 false)
-#494 := (or false false)
-#819 := (iff #494 false)
-#482 := [rewrite]: #819
-#542 := (iff #838 #494)
-#485 := (iff #501 false)
-#821 := [rewrite]: #485
-#540 := (iff #836 false)
-#541 := [rewrite]: #540
-#543 := [monotonicity #541 #821]: #542
-#813 := [trans #543 #482]: #437
-#537 := [monotonicity #813]: #536
-#816 := [trans #537 #815]: #812
-#817 := (iff #506 false)
-#469 := (not true)
-#828 := (iff #469 false)
-#831 := [rewrite]: #828
-#470 := (iff #506 #469)
-#827 := (iff #832 true)
-#825 := (iff #832 #824)
-#822 := (iff #625 true)
-#823 := [rewrite]: #822
-#820 := [monotonicity #821 #823]: #825
-#829 := [trans #820 #464]: #827
-#830 := [monotonicity #829]: #470
-#818 := [trans #830 #831]: #817
-#527 := [monotonicity #818 #816]: #526
-#529 := [trans #527 #464]: #528
-#677 := [monotonicity #529 #787 #774]: #662
-#681 := [trans #677 #680]: #673
-#483 := (iff #837 false)
-#835 := (iff #837 #494)
-#498 := (iff #841 false)
-#834 := [rewrite]: #498
-#833 := (iff #842 false)
-#493 := [rewrite]: #833
-#478 := [monotonicity #493 #834]: #835
-#484 := [trans #478 #482]: #483
-#684 := [monotonicity #484 #681]: #683
-#779 := [trans #684 #778]: #775
-#769 := [monotonicity #779]: #759
-#767 := [trans #769 #771]: #759
-#757 := [quant-inst]: #760
-#772 := [mp #757 #767]: #768
-#705 := [unit-resolution #772 #850]: #790
-#706 := [monotonicity #705]: #58
-#59 := (not #58)
-#271 := [asserted]: #59
-[unit-resolution #271 #706]: false
-unsat
-42cd145e516d85b450559c9cc1b54c1ed7265de3 304 0
+1ce1abcb126a1a568a3f8f5f2b0d8898293280b4 304 0
 #2 := false
 decl f5 :: (-> int S2)
 #11 := 0::int
@@ -15251,7 +14952,609 @@
 #270 := [asserted]: #58
 [unit-resolution #270 #708]: false
 unsat
-4183c3ff4a9f3923626099be345775dc19db2d14 360 0
+8182954e616c62f0cc886f21c7ebfe80a132d572 298 0
+#2 := false
+decl f5 :: (-> int S2)
+#53 := 3::int
+#57 := (f5 3::int)
+decl f3 :: (-> int int int)
+#54 := 1::int
+#55 := (f3 3::int 1::int)
+#56 := (f5 #55)
+#58 := (= #56 #57)
+#790 := (= #55 3::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#844 := (pattern #10)
+#11 := 0::int
+#83 := -1::int
+#87 := (* -1::int #9)
+#84 := (* -1::int #8)
+#90 := (div #84 #87)
+#347 := (* -1::int #90)
+#348 := (+ #10 #347)
+#349 := (= #348 0::int)
+#21 := (div #8 #9)
+#344 := (* -1::int #21)
+#345 := (+ #10 #344)
+#346 := (= #345 0::int)
+#109 := (<= #9 0::int)
+#105 := (<= #8 0::int)
+#302 := (or #105 #109)
+#303 := (not #302)
+#116 := (>= #8 0::int)
+#285 := (or #109 #116)
+#286 := (not #285)
+#309 := (or #286 #303)
+#350 := (ite #309 #346 #349)
+#343 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#351 := (ite #14 #343 #350)
+#845 := (forall (vars (?v0 int) (?v1 int)) (:pat #844) #351)
+#354 := (forall (vars (?v0 int) (?v1 int)) #351)
+#848 := (iff #354 #845)
+#846 := (iff #351 #351)
+#847 := [refl]: #846
+#849 := [quant-intro #847]: #848
+#314 := (ite #309 #21 #90)
+#317 := (ite #14 0::int #314)
+#320 := (= #10 #317)
+#323 := (forall (vars (?v0 int) (?v1 int)) #320)
+#355 := (iff #323 #354)
+#352 := (iff #320 #351)
+#353 := [rewrite]: #352
+#356 := [quant-intro #353]: #355
+#117 := (not #116)
+#110 := (not #109)
+#120 := (and #110 #117)
+#106 := (not #105)
+#113 := (and #106 #110)
+#123 := (or #113 #120)
+#126 := (ite #123 #21 #90)
+#129 := (ite #14 0::int #126)
+#132 := (= #10 #129)
+#135 := (forall (vars (?v0 int) (?v1 int)) #132)
+#324 := (iff #135 #323)
+#321 := (iff #132 #320)
+#318 := (= #129 #317)
+#315 := (= #126 #314)
+#312 := (iff #123 #309)
+#306 := (or #303 #286)
+#310 := (iff #306 #309)
+#311 := [rewrite]: #310
+#307 := (iff #123 #306)
+#304 := (iff #120 #286)
+#305 := [rewrite]: #304
+#283 := (iff #113 #303)
+#284 := [rewrite]: #283
+#308 := [monotonicity #284 #305]: #307
+#313 := [trans #308 #311]: #312
+#316 := [monotonicity #313]: #315
+#319 := [monotonicity #316]: #318
+#322 := [monotonicity #319]: #321
+#325 := [quant-intro #322]: #324
+#289 := (~ #135 #135)
+#287 := (~ #132 #132)
+#288 := [refl]: #287
+#290 := [nnf-pos #288]: #289
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#138 := (iff #28 #135)
+#77 := (and #16 #18)
+#80 := (or #17 #77)
+#93 := (ite #80 #21 #90)
+#96 := (ite #14 0::int #93)
+#99 := (= #10 #96)
+#102 := (forall (vars (?v0 int) (?v1 int)) #99)
+#136 := (iff #102 #135)
+#133 := (iff #99 #132)
+#130 := (= #96 #129)
+#127 := (= #93 #126)
+#124 := (iff #80 #123)
+#121 := (iff #77 #120)
+#118 := (iff #18 #117)
+#119 := [rewrite]: #118
+#111 := (iff #16 #110)
+#112 := [rewrite]: #111
+#122 := [monotonicity #112 #119]: #121
+#114 := (iff #17 #113)
+#107 := (iff #15 #106)
+#108 := [rewrite]: #107
+#115 := [monotonicity #108 #112]: #114
+#125 := [monotonicity #115 #122]: #124
+#128 := [monotonicity #125]: #127
+#131 := [monotonicity #128]: #130
+#134 := [monotonicity #131]: #133
+#137 := [quant-intro #134]: #136
+#103 := (iff #28 #102)
+#100 := (iff #27 #99)
+#97 := (= #26 #96)
+#94 := (= #25 #93)
+#91 := (= #24 #90)
+#88 := (= #23 #87)
+#89 := [rewrite]: #88
+#85 := (= #22 #84)
+#86 := [rewrite]: #85
+#92 := [monotonicity #86 #89]: #91
+#81 := (iff #20 #80)
+#78 := (iff #19 #77)
+#79 := [rewrite]: #78
+#82 := [monotonicity #79]: #81
+#95 := [monotonicity #82 #92]: #94
+#98 := [monotonicity #95]: #97
+#101 := [monotonicity #98]: #100
+#104 := [quant-intro #101]: #103
+#139 := [trans #104 #137]: #138
+#76 := [asserted]: #28
+#140 := [mp #76 #139]: #135
+#274 := [mp~ #140 #290]: #135
+#326 := [mp #274 #325]: #323
+#357 := [mp #326 #356]: #354
+#850 := [mp #357 #849]: #845
+#766 := (not #845)
+#768 := (or #766 #790)
+#431 := (* -1::int 1::int)
+#515 := (* -1::int 3::int)
+#516 := (div #515 #431)
+#517 := (* -1::int #516)
+#508 := (+ #55 #517)
+#519 := (= #508 0::int)
+#520 := (div 3::int 1::int)
+#521 := (* -1::int #520)
+#518 := (+ #55 #521)
+#522 := (= #518 0::int)
+#501 := (<= 1::int 0::int)
+#836 := (<= 3::int 0::int)
+#838 := (or #836 #501)
+#495 := (not #838)
+#625 := (>= 3::int 0::int)
+#832 := (or #501 #625)
+#506 := (not #832)
+#507 := (or #506 #495)
+#839 := (ite #507 #522 #519)
+#840 := (= #55 0::int)
+#841 := (= 1::int 0::int)
+#842 := (= 3::int 0::int)
+#837 := (or #842 #841)
+#843 := (ite #837 #840 #839)
+#760 := (or #766 #843)
+#759 := (iff #760 #768)
+#770 := (iff #768 #768)
+#771 := [rewrite]: #770
+#775 := (iff #843 #790)
+#682 := (ite false #840 #790)
+#685 := (iff #682 #790)
+#778 := [rewrite]: #685
+#683 := (iff #843 #682)
+#673 := (iff #839 #790)
+#1 := true
+#777 := (ite true #790 #790)
+#679 := (iff #777 #790)
+#680 := [rewrite]: #679
+#662 := (iff #839 #777)
+#773 := (iff #519 #790)
+#809 := -3::int
+#802 := (+ -3::int #55)
+#646 := (= #802 0::int)
+#791 := (iff #646 #790)
+#792 := [rewrite]: #791
+#776 := (iff #519 #646)
+#669 := (= #508 #802)
+#801 := (+ #55 -3::int)
+#803 := (= #801 #802)
+#798 := [rewrite]: #803
+#667 := (= #508 #801)
+#782 := (= #517 -3::int)
+#806 := (= #515 -3::int)
+#810 := [rewrite]: #806
+#783 := (= #517 #515)
+#780 := (= #516 3::int)
+#788 := (div -3::int -1::int)
+#626 := (= #788 3::int)
+#627 := [rewrite]: #626
+#795 := (= #516 #788)
+#793 := (= #431 -1::int)
+#794 := [rewrite]: #793
+#624 := [monotonicity #810 #794]: #795
+#781 := [trans #624 #627]: #780
+#784 := [monotonicity #781]: #783
+#785 := [trans #784 #810]: #782
+#668 := [monotonicity #785]: #667
+#628 := [trans #668 #798]: #669
+#678 := [monotonicity #628]: #776
+#774 := [trans #678 #792]: #773
+#786 := (iff #522 #790)
+#647 := (iff #522 #646)
+#804 := (= #518 #802)
+#796 := (= #518 #801)
+#799 := (= #521 -3::int)
+#523 := (= #521 #515)
+#807 := (= #520 3::int)
+#808 := [rewrite]: #807
+#805 := [monotonicity #808]: #523
+#800 := [trans #805 #810]: #799
+#797 := [monotonicity #800]: #796
+#645 := [trans #797 #798]: #804
+#789 := [monotonicity #645]: #647
+#787 := [trans #789 #792]: #786
+#528 := (iff #507 true)
+#824 := (or false true)
+#826 := (iff #824 true)
+#464 := [rewrite]: #826
+#526 := (iff #507 #824)
+#812 := (iff #495 true)
+#814 := (not false)
+#811 := (iff #814 true)
+#815 := [rewrite]: #811
+#536 := (iff #495 #814)
+#437 := (iff #838 false)
+#494 := (or false false)
+#819 := (iff #494 false)
+#482 := [rewrite]: #819
+#542 := (iff #838 #494)
+#485 := (iff #501 false)
+#821 := [rewrite]: #485
+#540 := (iff #836 false)
+#541 := [rewrite]: #540
+#543 := [monotonicity #541 #821]: #542
+#813 := [trans #543 #482]: #437
+#537 := [monotonicity #813]: #536
+#816 := [trans #537 #815]: #812
+#817 := (iff #506 false)
+#469 := (not true)
+#828 := (iff #469 false)
+#831 := [rewrite]: #828
+#470 := (iff #506 #469)
+#827 := (iff #832 true)
+#825 := (iff #832 #824)
+#822 := (iff #625 true)
+#823 := [rewrite]: #822
+#820 := [monotonicity #821 #823]: #825
+#829 := [trans #820 #464]: #827
+#830 := [monotonicity #829]: #470
+#818 := [trans #830 #831]: #817
+#527 := [monotonicity #818 #816]: #526
+#529 := [trans #527 #464]: #528
+#677 := [monotonicity #529 #787 #774]: #662
+#681 := [trans #677 #680]: #673
+#483 := (iff #837 false)
+#835 := (iff #837 #494)
+#498 := (iff #841 false)
+#834 := [rewrite]: #498
+#833 := (iff #842 false)
+#493 := [rewrite]: #833
+#478 := [monotonicity #493 #834]: #835
+#484 := [trans #478 #482]: #483
+#684 := [monotonicity #484 #681]: #683
+#779 := [trans #684 #778]: #775
+#769 := [monotonicity #779]: #759
+#767 := [trans #769 #771]: #759
+#757 := [quant-inst]: #760
+#772 := [mp #757 #767]: #768
+#705 := [unit-resolution #772 #850]: #790
+#706 := [monotonicity #705]: #58
+#59 := (not #58)
+#271 := [asserted]: #59
+[unit-resolution #271 #706]: false
+unsat
+a73336d8974d339785d03ee7b06059fa66e36b1e 302 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#56 := (f5 0::int)
+decl f4 :: (-> int int int)
+#53 := 1::int
+#54 := (f4 1::int 1::int)
+#55 := (f5 #54)
+#57 := (= #55 #56)
+#505 := (= #54 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#850 := (pattern #29)
+#82 := -1::int
+#86 := (* -1::int #9)
+#83 := (* -1::int #8)
+#141 := (mod #83 #86)
+#362 := (+ #29 #141)
+#363 := (= #362 0::int)
+#30 := (mod #8 #9)
+#359 := (* -1::int #30)
+#360 := (+ #29 #359)
+#361 := (= #360 0::int)
+#108 := (<= #9 0::int)
+#104 := (<= #8 0::int)
+#301 := (or #104 #108)
+#302 := (not #301)
+#115 := (>= #8 0::int)
+#284 := (or #108 #115)
+#285 := (not #284)
+#308 := (or #285 #302)
+#364 := (ite #308 #361 #363)
+#358 := (= #29 0::int)
+#12 := (= #8 0::int)
+#365 := (ite #12 #358 #364)
+#357 := (= #8 #29)
+#13 := (= #9 0::int)
+#366 := (ite #13 #357 #365)
+#851 := (forall (vars (?v0 int) (?v1 int)) (:pat #850) #366)
+#369 := (forall (vars (?v0 int) (?v1 int)) #366)
+#854 := (iff #369 #851)
+#852 := (iff #366 #366)
+#853 := [refl]: #852
+#855 := [quant-intro #853]: #854
+#147 := (* -1::int #141)
+#326 := (ite #308 #30 #147)
+#329 := (ite #12 0::int #326)
+#332 := (ite #13 #8 #329)
+#335 := (= #29 #332)
+#338 := (forall (vars (?v0 int) (?v1 int)) #335)
+#370 := (iff #338 #369)
+#367 := (iff #335 #366)
+#368 := [rewrite]: #367
+#371 := [quant-intro #368]: #370
+#116 := (not #115)
+#109 := (not #108)
+#119 := (and #109 #116)
+#105 := (not #104)
+#112 := (and #105 #109)
+#122 := (or #112 #119)
+#167 := (ite #122 #30 #147)
+#170 := (ite #12 0::int #167)
+#173 := (ite #13 #8 #170)
+#176 := (= #29 #173)
+#179 := (forall (vars (?v0 int) (?v1 int)) #176)
+#339 := (iff #179 #338)
+#336 := (iff #176 #335)
+#333 := (= #173 #332)
+#330 := (= #170 #329)
+#327 := (= #167 #326)
+#311 := (iff #122 #308)
+#305 := (or #302 #285)
+#309 := (iff #305 #308)
+#310 := [rewrite]: #309
+#306 := (iff #122 #305)
+#303 := (iff #119 #285)
+#304 := [rewrite]: #303
+#282 := (iff #112 #302)
+#283 := [rewrite]: #282
+#307 := [monotonicity #283 #304]: #306
+#312 := [trans #307 #310]: #311
+#328 := [monotonicity #312]: #327
+#331 := [monotonicity #328]: #330
+#334 := [monotonicity #331]: #333
+#337 := [monotonicity #334]: #336
+#340 := [quant-intro #337]: #339
+#274 := (~ #179 #179)
+#271 := (~ #176 #176)
+#290 := [refl]: #271
+#275 := [nnf-pos #290]: #274
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#182 := (iff #37 #179)
+#76 := (and #16 #18)
+#79 := (or #17 #76)
+#152 := (ite #79 #30 #147)
+#155 := (ite #12 0::int #152)
+#158 := (ite #13 #8 #155)
+#161 := (= #29 #158)
+#164 := (forall (vars (?v0 int) (?v1 int)) #161)
+#180 := (iff #164 #179)
+#177 := (iff #161 #176)
+#174 := (= #158 #173)
+#171 := (= #155 #170)
+#168 := (= #152 #167)
+#123 := (iff #79 #122)
+#120 := (iff #76 #119)
+#117 := (iff #18 #116)
+#118 := [rewrite]: #117
+#110 := (iff #16 #109)
+#111 := [rewrite]: #110
+#121 := [monotonicity #111 #118]: #120
+#113 := (iff #17 #112)
+#106 := (iff #15 #105)
+#107 := [rewrite]: #106
+#114 := [monotonicity #107 #111]: #113
+#124 := [monotonicity #114 #121]: #123
+#169 := [monotonicity #124]: #168
+#172 := [monotonicity #169]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#181 := [quant-intro #178]: #180
+#165 := (iff #37 #164)
+#162 := (iff #36 #161)
+#159 := (= #35 #158)
+#156 := (= #34 #155)
+#153 := (= #33 #152)
+#150 := (= #32 #147)
+#144 := (- #141)
+#148 := (= #144 #147)
+#149 := [rewrite]: #148
+#145 := (= #32 #144)
+#142 := (= #31 #141)
+#87 := (= #23 #86)
+#88 := [rewrite]: #87
+#84 := (= #22 #83)
+#85 := [rewrite]: #84
+#143 := [monotonicity #85 #88]: #142
+#146 := [monotonicity #143]: #145
+#151 := [trans #146 #149]: #150
+#80 := (iff #20 #79)
+#77 := (iff #19 #76)
+#78 := [rewrite]: #77
+#81 := [monotonicity #78]: #80
+#154 := [monotonicity #81 #151]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#183 := [trans #166 #181]: #182
+#140 := [asserted]: #37
+#184 := [mp #140 #183]: #179
+#291 := [mp~ #184 #275]: #179
+#341 := [mp #291 #340]: #338
+#372 := [mp #341 #371]: #369
+#856 := [mp #372 #855]: #851
+#776 := (not #851)
+#661 := (or #776 #505)
+#430 := (* -1::int 1::int)
+#514 := (mod #430 #430)
+#515 := (+ #54 #514)
+#516 := (= #515 0::int)
+#507 := (mod 1::int 1::int)
+#518 := (* -1::int #507)
+#519 := (+ #54 #518)
+#520 := (= #519 0::int)
+#517 := (<= 1::int 0::int)
+#521 := (or #517 #517)
+#500 := (not #521)
+#835 := (>= 1::int 0::int)
+#837 := (or #517 #835)
+#494 := (not #837)
+#624 := (or #494 #500)
+#831 := (ite #624 #520 #516)
+#506 := (= 1::int 0::int)
+#838 := (ite #506 #505 #831)
+#839 := (= 1::int #54)
+#840 := (ite #506 #839 #838)
+#676 := (or #776 #840)
+#679 := (iff #676 #661)
+#680 := (iff #661 #661)
+#681 := [rewrite]: #680
+#772 := (iff #840 #505)
+#832 := (= #54 1::int)
+#667 := (ite false #832 #505)
+#775 := (iff #667 #505)
+#677 := [rewrite]: #775
+#668 := (iff #840 #667)
+#784 := (iff #838 #505)
+#779 := (ite false #505 #505)
+#783 := (iff #779 #505)
+#781 := [rewrite]: #783
+#780 := (iff #838 #779)
+#625 := (iff #831 #505)
+#1 := true
+#792 := (ite true #505 #505)
+#794 := (iff #792 #505)
+#623 := [rewrite]: #794
+#793 := (iff #831 #792)
+#785 := (iff #516 #505)
+#790 := (= #515 #54)
+#807 := (+ #54 0::int)
+#808 := (= #807 #54)
+#805 := [rewrite]: #808
+#788 := (= #515 #807)
+#645 := (= #514 0::int)
+#801 := (mod -1::int -1::int)
+#803 := (= #801 0::int)
+#644 := [rewrite]: #803
+#802 := (= #514 #801)
+#795 := (= #430 -1::int)
+#796 := [rewrite]: #795
+#797 := [monotonicity #796 #796]: #802
+#646 := [trans #797 #644]: #645
+#789 := [monotonicity #646]: #788
+#791 := [trans #789 #805]: #790
+#786 := [monotonicity #791]: #785
+#799 := (iff #520 #505)
+#809 := (= #519 #54)
+#522 := (= #519 #807)
+#528 := (= #518 0::int)
+#811 := (* -1::int 0::int)
+#526 := (= #811 0::int)
+#527 := [rewrite]: #526
+#815 := (= #518 #811)
+#810 := (= #507 0::int)
+#814 := [rewrite]: #810
+#525 := [monotonicity #814]: #815
+#806 := [trans #525 #527]: #528
+#804 := [monotonicity #806]: #522
+#798 := [trans #804 #805]: #809
+#800 := [monotonicity #798]: #799
+#535 := (iff #624 true)
+#477 := (or false true)
+#482 := (iff #477 true)
+#483 := [rewrite]: #482
+#812 := (iff #624 #477)
+#542 := (iff #500 true)
+#816 := (not false)
+#540 := (iff #816 true)
+#541 := [rewrite]: #540
+#817 := (iff #500 #816)
+#827 := (iff #521 false)
+#826 := (or false false)
+#469 := (iff #826 false)
+#829 := [rewrite]: #469
+#828 := (iff #521 #826)
+#497 := (iff #517 false)
+#833 := [rewrite]: #497
+#468 := [monotonicity #833 #833]: #828
+#830 := [trans #468 #829]: #827
+#539 := [monotonicity #830]: #817
+#436 := [trans #539 #541]: #542
+#825 := (iff #494 false)
+#821 := (not true)
+#824 := (iff #821 false)
+#819 := [rewrite]: #824
+#822 := (iff #494 #821)
+#484 := (iff #837 true)
+#818 := (iff #837 #477)
+#493 := (iff #835 true)
+#834 := [rewrite]: #493
+#481 := [monotonicity #833 #834]: #818
+#820 := [trans #481 #483]: #484
+#823 := [monotonicity #820]: #822
+#463 := [trans #823 #819]: #825
+#813 := [monotonicity #463 #436]: #812
+#536 := [trans #813 #483]: #535
+#787 := [monotonicity #536 #800 #786]: #793
+#626 := [trans #787 #623]: #625
+#841 := (iff #506 false)
+#836 := [rewrite]: #841
+#782 := [monotonicity #836 #626]: #780
+#666 := [trans #782 #781]: #784
+#842 := (iff #839 #832)
+#492 := [rewrite]: #842
+#627 := [monotonicity #836 #492 #666]: #668
+#773 := [trans #627 #677]: #772
+#672 := [monotonicity #773]: #679
+#682 := [trans #672 #681]: #679
+#678 := [quant-inst]: #676
+#683 := [mp #678 #682]: #661
+#703 := [unit-resolution #683 #856]: #505
+#699 := [monotonicity #703]: #57
+#58 := (not #57)
+#270 := [asserted]: #58
+[unit-resolution #270 #699]: false
+unsat
+aa365ca33021a3af06f636ef2547aa25906c3855 360 0
 #2 := false
 decl f5 :: (-> int S2)
 decl f3 :: (-> int int int)
@@ -15612,599 +15915,7 @@
 #557 := [trans #620 #572]: #272
 [unit-resolution #280 #557]: false
 unsat
-121357a49f554c92c48529c5e8845192f6c0a8a5 302 0
-#2 := false
-decl f5 :: (-> int S2)
-#11 := 0::int
-#56 := (f5 0::int)
-decl f4 :: (-> int int int)
-#53 := 1::int
-#54 := (f4 1::int 1::int)
-#55 := (f5 #54)
-#57 := (= #55 #56)
-#505 := (= #54 0::int)
-#9 := (:var 0 int)
-#8 := (:var 1 int)
-#29 := (f4 #8 #9)
-#850 := (pattern #29)
-#82 := -1::int
-#86 := (* -1::int #9)
-#83 := (* -1::int #8)
-#141 := (mod #83 #86)
-#362 := (+ #29 #141)
-#363 := (= #362 0::int)
-#30 := (mod #8 #9)
-#359 := (* -1::int #30)
-#360 := (+ #29 #359)
-#361 := (= #360 0::int)
-#108 := (<= #9 0::int)
-#104 := (<= #8 0::int)
-#301 := (or #104 #108)
-#302 := (not #301)
-#115 := (>= #8 0::int)
-#284 := (or #108 #115)
-#285 := (not #284)
-#308 := (or #285 #302)
-#364 := (ite #308 #361 #363)
-#358 := (= #29 0::int)
-#12 := (= #8 0::int)
-#365 := (ite #12 #358 #364)
-#357 := (= #8 #29)
-#13 := (= #9 0::int)
-#366 := (ite #13 #357 #365)
-#851 := (forall (vars (?v0 int) (?v1 int)) (:pat #850) #366)
-#369 := (forall (vars (?v0 int) (?v1 int)) #366)
-#854 := (iff #369 #851)
-#852 := (iff #366 #366)
-#853 := [refl]: #852
-#855 := [quant-intro #853]: #854
-#147 := (* -1::int #141)
-#326 := (ite #308 #30 #147)
-#329 := (ite #12 0::int #326)
-#332 := (ite #13 #8 #329)
-#335 := (= #29 #332)
-#338 := (forall (vars (?v0 int) (?v1 int)) #335)
-#370 := (iff #338 #369)
-#367 := (iff #335 #366)
-#368 := [rewrite]: #367
-#371 := [quant-intro #368]: #370
-#116 := (not #115)
-#109 := (not #108)
-#119 := (and #109 #116)
-#105 := (not #104)
-#112 := (and #105 #109)
-#122 := (or #112 #119)
-#167 := (ite #122 #30 #147)
-#170 := (ite #12 0::int #167)
-#173 := (ite #13 #8 #170)
-#176 := (= #29 #173)
-#179 := (forall (vars (?v0 int) (?v1 int)) #176)
-#339 := (iff #179 #338)
-#336 := (iff #176 #335)
-#333 := (= #173 #332)
-#330 := (= #170 #329)
-#327 := (= #167 #326)
-#311 := (iff #122 #308)
-#305 := (or #302 #285)
-#309 := (iff #305 #308)
-#310 := [rewrite]: #309
-#306 := (iff #122 #305)
-#303 := (iff #119 #285)
-#304 := [rewrite]: #303
-#282 := (iff #112 #302)
-#283 := [rewrite]: #282
-#307 := [monotonicity #283 #304]: #306
-#312 := [trans #307 #310]: #311
-#328 := [monotonicity #312]: #327
-#331 := [monotonicity #328]: #330
-#334 := [monotonicity #331]: #333
-#337 := [monotonicity #334]: #336
-#340 := [quant-intro #337]: #339
-#274 := (~ #179 #179)
-#271 := (~ #176 #176)
-#290 := [refl]: #271
-#275 := [nnf-pos #290]: #274
-#23 := (- #9)
-#22 := (- #8)
-#31 := (mod #22 #23)
-#32 := (- #31)
-#16 := (< 0::int #9)
-#18 := (< #8 0::int)
-#19 := (and #18 #16)
-#15 := (< 0::int #8)
-#17 := (and #15 #16)
-#20 := (or #17 #19)
-#33 := (ite #20 #30 #32)
-#34 := (ite #12 0::int #33)
-#35 := (ite #13 #8 #34)
-#36 := (= #29 #35)
-#37 := (forall (vars (?v0 int) (?v1 int)) #36)
-#182 := (iff #37 #179)
-#76 := (and #16 #18)
-#79 := (or #17 #76)
-#152 := (ite #79 #30 #147)
-#155 := (ite #12 0::int #152)
-#158 := (ite #13 #8 #155)
-#161 := (= #29 #158)
-#164 := (forall (vars (?v0 int) (?v1 int)) #161)
-#180 := (iff #164 #179)
-#177 := (iff #161 #176)
-#174 := (= #158 #173)
-#171 := (= #155 #170)
-#168 := (= #152 #167)
-#123 := (iff #79 #122)
-#120 := (iff #76 #119)
-#117 := (iff #18 #116)
-#118 := [rewrite]: #117
-#110 := (iff #16 #109)
-#111 := [rewrite]: #110
-#121 := [monotonicity #111 #118]: #120
-#113 := (iff #17 #112)
-#106 := (iff #15 #105)
-#107 := [rewrite]: #106
-#114 := [monotonicity #107 #111]: #113
-#124 := [monotonicity #114 #121]: #123
-#169 := [monotonicity #124]: #168
-#172 := [monotonicity #169]: #171
-#175 := [monotonicity #172]: #174
-#178 := [monotonicity #175]: #177
-#181 := [quant-intro #178]: #180
-#165 := (iff #37 #164)
-#162 := (iff #36 #161)
-#159 := (= #35 #158)
-#156 := (= #34 #155)
-#153 := (= #33 #152)
-#150 := (= #32 #147)
-#144 := (- #141)
-#148 := (= #144 #147)
-#149 := [rewrite]: #148
-#145 := (= #32 #144)
-#142 := (= #31 #141)
-#87 := (= #23 #86)
-#88 := [rewrite]: #87
-#84 := (= #22 #83)
-#85 := [rewrite]: #84
-#143 := [monotonicity #85 #88]: #142
-#146 := [monotonicity #143]: #145
-#151 := [trans #146 #149]: #150
-#80 := (iff #20 #79)
-#77 := (iff #19 #76)
-#78 := [rewrite]: #77
-#81 := [monotonicity #78]: #80
-#154 := [monotonicity #81 #151]: #153
-#157 := [monotonicity #154]: #156
-#160 := [monotonicity #157]: #159
-#163 := [monotonicity #160]: #162
-#166 := [quant-intro #163]: #165
-#183 := [trans #166 #181]: #182
-#140 := [asserted]: #37
-#184 := [mp #140 #183]: #179
-#291 := [mp~ #184 #275]: #179
-#341 := [mp #291 #340]: #338
-#372 := [mp #341 #371]: #369
-#856 := [mp #372 #855]: #851
-#776 := (not #851)
-#661 := (or #776 #505)
-#430 := (* -1::int 1::int)
-#514 := (mod #430 #430)
-#515 := (+ #54 #514)
-#516 := (= #515 0::int)
-#507 := (mod 1::int 1::int)
-#518 := (* -1::int #507)
-#519 := (+ #54 #518)
-#520 := (= #519 0::int)
-#517 := (<= 1::int 0::int)
-#521 := (or #517 #517)
-#500 := (not #521)
-#835 := (>= 1::int 0::int)
-#837 := (or #517 #835)
-#494 := (not #837)
-#624 := (or #494 #500)
-#831 := (ite #624 #520 #516)
-#506 := (= 1::int 0::int)
-#838 := (ite #506 #505 #831)
-#839 := (= 1::int #54)
-#840 := (ite #506 #839 #838)
-#676 := (or #776 #840)
-#679 := (iff #676 #661)
-#680 := (iff #661 #661)
-#681 := [rewrite]: #680
-#772 := (iff #840 #505)
-#832 := (= #54 1::int)
-#667 := (ite false #832 #505)
-#775 := (iff #667 #505)
-#677 := [rewrite]: #775
-#668 := (iff #840 #667)
-#784 := (iff #838 #505)
-#779 := (ite false #505 #505)
-#783 := (iff #779 #505)
-#781 := [rewrite]: #783
-#780 := (iff #838 #779)
-#625 := (iff #831 #505)
-#1 := true
-#792 := (ite true #505 #505)
-#794 := (iff #792 #505)
-#623 := [rewrite]: #794
-#793 := (iff #831 #792)
-#785 := (iff #516 #505)
-#790 := (= #515 #54)
-#807 := (+ #54 0::int)
-#808 := (= #807 #54)
-#805 := [rewrite]: #808
-#788 := (= #515 #807)
-#645 := (= #514 0::int)
-#801 := (mod -1::int -1::int)
-#803 := (= #801 0::int)
-#644 := [rewrite]: #803
-#802 := (= #514 #801)
-#795 := (= #430 -1::int)
-#796 := [rewrite]: #795
-#797 := [monotonicity #796 #796]: #802
-#646 := [trans #797 #644]: #645
-#789 := [monotonicity #646]: #788
-#791 := [trans #789 #805]: #790
-#786 := [monotonicity #791]: #785
-#799 := (iff #520 #505)
-#809 := (= #519 #54)
-#522 := (= #519 #807)
-#528 := (= #518 0::int)
-#811 := (* -1::int 0::int)
-#526 := (= #811 0::int)
-#527 := [rewrite]: #526
-#815 := (= #518 #811)
-#810 := (= #507 0::int)
-#814 := [rewrite]: #810
-#525 := [monotonicity #814]: #815
-#806 := [trans #525 #527]: #528
-#804 := [monotonicity #806]: #522
-#798 := [trans #804 #805]: #809
-#800 := [monotonicity #798]: #799
-#535 := (iff #624 true)
-#477 := (or false true)
-#482 := (iff #477 true)
-#483 := [rewrite]: #482
-#812 := (iff #624 #477)
-#542 := (iff #500 true)
-#816 := (not false)
-#540 := (iff #816 true)
-#541 := [rewrite]: #540
-#817 := (iff #500 #816)
-#827 := (iff #521 false)
-#826 := (or false false)
-#469 := (iff #826 false)
-#829 := [rewrite]: #469
-#828 := (iff #521 #826)
-#497 := (iff #517 false)
-#833 := [rewrite]: #497
-#468 := [monotonicity #833 #833]: #828
-#830 := [trans #468 #829]: #827
-#539 := [monotonicity #830]: #817
-#436 := [trans #539 #541]: #542
-#825 := (iff #494 false)
-#821 := (not true)
-#824 := (iff #821 false)
-#819 := [rewrite]: #824
-#822 := (iff #494 #821)
-#484 := (iff #837 true)
-#818 := (iff #837 #477)
-#493 := (iff #835 true)
-#834 := [rewrite]: #493
-#481 := [monotonicity #833 #834]: #818
-#820 := [trans #481 #483]: #484
-#823 := [monotonicity #820]: #822
-#463 := [trans #823 #819]: #825
-#813 := [monotonicity #463 #436]: #812
-#536 := [trans #813 #483]: #535
-#787 := [monotonicity #536 #800 #786]: #793
-#626 := [trans #787 #623]: #625
-#841 := (iff #506 false)
-#836 := [rewrite]: #841
-#782 := [monotonicity #836 #626]: #780
-#666 := [trans #782 #781]: #784
-#842 := (iff #839 #832)
-#492 := [rewrite]: #842
-#627 := [monotonicity #836 #492 #666]: #668
-#773 := [trans #627 #677]: #772
-#672 := [monotonicity #773]: #679
-#682 := [trans #672 #681]: #679
-#678 := [quant-inst]: #676
-#683 := [mp #678 #682]: #661
-#703 := [unit-resolution #683 #856]: #505
-#699 := [monotonicity #703]: #57
-#58 := (not #57)
-#270 := [asserted]: #58
-[unit-resolution #270 #699]: false
-unsat
-f2f039ccfb9f8bb6046ed67b2d5f9e4965b93c1c 288 0
-#2 := false
-decl f5 :: (-> int S2)
-#11 := 0::int
-#56 := (f5 0::int)
-decl f3 :: (-> int int int)
-#53 := 3::int
-#54 := (f3 0::int 3::int)
-#55 := (f5 #54)
-#57 := (= #55 #56)
-#839 := (= #54 0::int)
-#9 := (:var 0 int)
-#8 := (:var 1 int)
-#10 := (f3 #8 #9)
-#844 := (pattern #10)
-#82 := -1::int
-#86 := (* -1::int #9)
-#83 := (* -1::int #8)
-#89 := (div #83 #86)
-#346 := (* -1::int #89)
-#347 := (+ #10 #346)
-#348 := (= #347 0::int)
-#21 := (div #8 #9)
-#343 := (* -1::int #21)
-#344 := (+ #10 #343)
-#345 := (= #344 0::int)
-#108 := (<= #9 0::int)
-#104 := (<= #8 0::int)
-#301 := (or #104 #108)
-#302 := (not #301)
-#115 := (>= #8 0::int)
-#284 := (or #108 #115)
-#285 := (not #284)
-#308 := (or #285 #302)
-#349 := (ite #308 #345 #348)
-#342 := (= #10 0::int)
-#13 := (= #9 0::int)
-#12 := (= #8 0::int)
-#14 := (or #12 #13)
-#350 := (ite #14 #342 #349)
-#845 := (forall (vars (?v0 int) (?v1 int)) (:pat #844) #350)
-#353 := (forall (vars (?v0 int) (?v1 int)) #350)
-#848 := (iff #353 #845)
-#846 := (iff #350 #350)
-#847 := [refl]: #846
-#849 := [quant-intro #847]: #848
-#313 := (ite #308 #21 #89)
-#316 := (ite #14 0::int #313)
-#319 := (= #10 #316)
-#322 := (forall (vars (?v0 int) (?v1 int)) #319)
-#354 := (iff #322 #353)
-#351 := (iff #319 #350)
-#352 := [rewrite]: #351
-#355 := [quant-intro #352]: #354
-#116 := (not #115)
-#109 := (not #108)
-#119 := (and #109 #116)
-#105 := (not #104)
-#112 := (and #105 #109)
-#122 := (or #112 #119)
-#125 := (ite #122 #21 #89)
-#128 := (ite #14 0::int #125)
-#131 := (= #10 #128)
-#134 := (forall (vars (?v0 int) (?v1 int)) #131)
-#323 := (iff #134 #322)
-#320 := (iff #131 #319)
-#317 := (= #128 #316)
-#314 := (= #125 #313)
-#311 := (iff #122 #308)
-#305 := (or #302 #285)
-#309 := (iff #305 #308)
-#310 := [rewrite]: #309
-#306 := (iff #122 #305)
-#303 := (iff #119 #285)
-#304 := [rewrite]: #303
-#282 := (iff #112 #302)
-#283 := [rewrite]: #282
-#307 := [monotonicity #283 #304]: #306
-#312 := [trans #307 #310]: #311
-#315 := [monotonicity #312]: #314
-#318 := [monotonicity #315]: #317
-#321 := [monotonicity #318]: #320
-#324 := [quant-intro #321]: #323
-#288 := (~ #134 #134)
-#286 := (~ #131 #131)
-#287 := [refl]: #286
-#289 := [nnf-pos #287]: #288
-#23 := (- #9)
-#22 := (- #8)
-#24 := (div #22 #23)
-#16 := (< 0::int #9)
-#18 := (< #8 0::int)
-#19 := (and #18 #16)
-#15 := (< 0::int #8)
-#17 := (and #15 #16)
-#20 := (or #17 #19)
-#25 := (ite #20 #21 #24)
-#26 := (ite #14 0::int #25)
-#27 := (= #10 #26)
-#28 := (forall (vars (?v0 int) (?v1 int)) #27)
-#137 := (iff #28 #134)
-#76 := (and #16 #18)
-#79 := (or #17 #76)
-#92 := (ite #79 #21 #89)
-#95 := (ite #14 0::int #92)
-#98 := (= #10 #95)
-#101 := (forall (vars (?v0 int) (?v1 int)) #98)
-#135 := (iff #101 #134)
-#132 := (iff #98 #131)
-#129 := (= #95 #128)
-#126 := (= #92 #125)
-#123 := (iff #79 #122)
-#120 := (iff #76 #119)
-#117 := (iff #18 #116)
-#118 := [rewrite]: #117
-#110 := (iff #16 #109)
-#111 := [rewrite]: #110
-#121 := [monotonicity #111 #118]: #120
-#113 := (iff #17 #112)
-#106 := (iff #15 #105)
-#107 := [rewrite]: #106
-#114 := [monotonicity #107 #111]: #113
-#124 := [monotonicity #114 #121]: #123
-#127 := [monotonicity #124]: #126
-#130 := [monotonicity #127]: #129
-#133 := [monotonicity #130]: #132
-#136 := [quant-intro #133]: #135
-#102 := (iff #28 #101)
-#99 := (iff #27 #98)
-#96 := (= #26 #95)
-#93 := (= #25 #92)
-#90 := (= #24 #89)
-#87 := (= #23 #86)
-#88 := [rewrite]: #87
-#84 := (= #22 #83)
-#85 := [rewrite]: #84
-#91 := [monotonicity #85 #88]: #90
-#80 := (iff #20 #79)
-#77 := (iff #19 #76)
-#78 := [rewrite]: #77
-#81 := [monotonicity #78]: #80
-#94 := [monotonicity #81 #91]: #93
-#97 := [monotonicity #94]: #96
-#100 := [monotonicity #97]: #99
-#103 := [quant-intro #100]: #102
-#138 := [trans #103 #136]: #137
-#75 := [asserted]: #28
-#139 := [mp #75 #138]: #134
-#273 := [mp~ #139 #289]: #134
-#325 := [mp #273 #324]: #322
-#356 := [mp #325 #355]: #353
-#850 := [mp #356 #849]: #845
-#680 := (not #845)
-#673 := (or #680 #839)
-#430 := (* -1::int 3::int)
-#515 := (* -1::int 0::int)
-#516 := (div #515 #430)
-#517 := (* -1::int #516)
-#508 := (+ #54 #517)
-#519 := (= #508 0::int)
-#520 := (div 0::int 3::int)
-#448 := (* -1::int #520)
-#521 := (+ #54 #448)
-#518 := (= #521 0::int)
-#522 := (<= 3::int 0::int)
-#501 := (<= 0::int 0::int)
-#836 := (or #501 #522)
-#838 := (not #836)
-#495 := (>= 0::int 0::int)
-#625 := (or #522 #495)
-#832 := (not #625)
-#506 := (or #832 #838)
-#507 := (ite #506 #518 #519)
-#840 := (= 3::int 0::int)
-#841 := (= 0::int 0::int)
-#842 := (or #841 #840)
-#837 := (ite #842 #839 #507)
-#681 := (or #680 #837)
-#683 := (iff #681 #673)
-#685 := (iff #673 #673)
-#778 := [rewrite]: #685
-#677 := (iff #837 #839)
-#1 := true
-#678 := (ite true #839 #839)
-#777 := (iff #678 #839)
-#662 := [rewrite]: #777
-#773 := (iff #837 #678)
-#628 := (iff #507 #839)
-#782 := (ite false #839 #839)
-#668 := (iff #782 #839)
-#669 := [rewrite]: #668
-#785 := (iff #507 #782)
-#783 := (iff #519 #839)
-#780 := (= #508 #54)
-#799 := (+ #54 0::int)
-#796 := (= #799 #54)
-#797 := [rewrite]: #796
-#626 := (= #508 #799)
-#795 := (= #517 0::int)
-#805 := (= #515 0::int)
-#809 := [rewrite]: #805
-#794 := (= #517 #515)
-#787 := (= #516 0::int)
-#645 := -3::int
-#789 := (div 0::int -3::int)
-#792 := (= #789 0::int)
-#786 := [rewrite]: #792
-#790 := (= #516 #789)
-#646 := (= #430 -3::int)
-#647 := [rewrite]: #646
-#791 := [monotonicity #809 #647]: #790
-#793 := [trans #791 #786]: #787
-#788 := [monotonicity #793]: #794
-#624 := [trans #788 #809]: #795
-#627 := [monotonicity #624]: #626
-#781 := [trans #627 #797]: #780
-#784 := [monotonicity #781]: #783
-#798 := (iff #518 #839)
-#802 := (= #521 #54)
-#800 := (= #521 #799)
-#806 := (= #448 0::int)
-#808 := (= #448 #515)
-#529 := (= #520 0::int)
-#807 := [rewrite]: #529
-#523 := [monotonicity #807]: #808
-#810 := [trans #523 #809]: #806
-#801 := [monotonicity #810]: #800
-#803 := [trans #801 #797]: #802
-#804 := [monotonicity #803]: #798
-#527 := (iff #506 false)
-#811 := (or false false)
-#816 := (iff #811 false)
-#526 := [rewrite]: #816
-#815 := (iff #506 #811)
-#536 := (iff #838 false)
-#829 := (not true)
-#830 := (iff #829 false)
-#828 := [rewrite]: #830
-#813 := (iff #838 #829)
-#543 := (iff #836 true)
-#834 := (or true false)
-#478 := (iff #834 true)
-#819 := [rewrite]: #478
-#541 := (iff #836 #834)
-#484 := (iff #522 false)
-#485 := [rewrite]: #484
-#818 := (iff #501 true)
-#540 := [rewrite]: #818
-#542 := [monotonicity #540 #485]: #541
-#436 := [trans #542 #819]: #543
-#814 := [monotonicity #436]: #813
-#537 := [trans #814 #828]: #536
-#831 := (iff #832 false)
-#469 := (iff #832 #829)
-#464 := (iff #625 true)
-#823 := (or false true)
-#820 := (iff #823 true)
-#826 := [rewrite]: #820
-#824 := (iff #625 #823)
-#821 := (iff #495 true)
-#822 := [rewrite]: #821
-#825 := [monotonicity #485 #822]: #824
-#827 := [trans #825 #826]: #464
-#470 := [monotonicity #827]: #469
-#817 := [trans #470 #828]: #831
-#812 := [monotonicity #817 #537]: #815
-#528 := [trans #812 #526]: #527
-#667 := [monotonicity #528 #804 #784]: #785
-#776 := [trans #667 #669]: #628
-#482 := (iff #842 true)
-#494 := (iff #842 #834)
-#493 := (iff #840 false)
-#498 := [rewrite]: #493
-#843 := (iff #841 true)
-#833 := [rewrite]: #843
-#835 := [monotonicity #833 #498]: #494
-#483 := [trans #835 #819]: #482
-#774 := [monotonicity #483 #776]: #773
-#679 := [trans #774 #662]: #677
-#684 := [monotonicity #679]: #683
-#775 := [trans #684 #778]: #683
-#682 := [quant-inst]: #681
-#779 := [mp #682 #775]: #673
-#691 := [unit-resolution #779 #850]: #839
-#692 := [monotonicity #691]: #57
-#58 := (not #57)
-#270 := [asserted]: #58
-[unit-resolution #270 #692]: false
-unsat
-2c035401970833955895c9fd35464fade49dcbf1 313 0
+79a0fde07c4517bfcd8cf389acc12b7fcaddd64c 313 0
 #2 := false
 decl f5 :: (-> int S2)
 #11 := 0::int
@@ -16518,7 +16229,296 @@
 #271 := [asserted]: #59
 [unit-resolution #271 #702]: false
 unsat
-ed1dcbda8b48a8192bb34e0311b0082775d33ed7 302 0
+b6098bbff5fba6e8ac8e634e284360adde41d954 288 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#56 := (f5 0::int)
+decl f3 :: (-> int int int)
+#53 := 3::int
+#54 := (f3 0::int 3::int)
+#55 := (f5 #54)
+#57 := (= #55 #56)
+#839 := (= #54 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#10 := (f3 #8 #9)
+#844 := (pattern #10)
+#82 := -1::int
+#86 := (* -1::int #9)
+#83 := (* -1::int #8)
+#89 := (div #83 #86)
+#346 := (* -1::int #89)
+#347 := (+ #10 #346)
+#348 := (= #347 0::int)
+#21 := (div #8 #9)
+#343 := (* -1::int #21)
+#344 := (+ #10 #343)
+#345 := (= #344 0::int)
+#108 := (<= #9 0::int)
+#104 := (<= #8 0::int)
+#301 := (or #104 #108)
+#302 := (not #301)
+#115 := (>= #8 0::int)
+#284 := (or #108 #115)
+#285 := (not #284)
+#308 := (or #285 #302)
+#349 := (ite #308 #345 #348)
+#342 := (= #10 0::int)
+#13 := (= #9 0::int)
+#12 := (= #8 0::int)
+#14 := (or #12 #13)
+#350 := (ite #14 #342 #349)
+#845 := (forall (vars (?v0 int) (?v1 int)) (:pat #844) #350)
+#353 := (forall (vars (?v0 int) (?v1 int)) #350)
+#848 := (iff #353 #845)
+#846 := (iff #350 #350)
+#847 := [refl]: #846
+#849 := [quant-intro #847]: #848
+#313 := (ite #308 #21 #89)
+#316 := (ite #14 0::int #313)
+#319 := (= #10 #316)
+#322 := (forall (vars (?v0 int) (?v1 int)) #319)
+#354 := (iff #322 #353)
+#351 := (iff #319 #350)
+#352 := [rewrite]: #351
+#355 := [quant-intro #352]: #354
+#116 := (not #115)
+#109 := (not #108)
+#119 := (and #109 #116)
+#105 := (not #104)
+#112 := (and #105 #109)
+#122 := (or #112 #119)
+#125 := (ite #122 #21 #89)
+#128 := (ite #14 0::int #125)
+#131 := (= #10 #128)
+#134 := (forall (vars (?v0 int) (?v1 int)) #131)
+#323 := (iff #134 #322)
+#320 := (iff #131 #319)
+#317 := (= #128 #316)
+#314 := (= #125 #313)
+#311 := (iff #122 #308)
+#305 := (or #302 #285)
+#309 := (iff #305 #308)
+#310 := [rewrite]: #309
+#306 := (iff #122 #305)
+#303 := (iff #119 #285)
+#304 := [rewrite]: #303
+#282 := (iff #112 #302)
+#283 := [rewrite]: #282
+#307 := [monotonicity #283 #304]: #306
+#312 := [trans #307 #310]: #311
+#315 := [monotonicity #312]: #314
+#318 := [monotonicity #315]: #317
+#321 := [monotonicity #318]: #320
+#324 := [quant-intro #321]: #323
+#288 := (~ #134 #134)
+#286 := (~ #131 #131)
+#287 := [refl]: #286
+#289 := [nnf-pos #287]: #288
+#23 := (- #9)
+#22 := (- #8)
+#24 := (div #22 #23)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#25 := (ite #20 #21 #24)
+#26 := (ite #14 0::int #25)
+#27 := (= #10 #26)
+#28 := (forall (vars (?v0 int) (?v1 int)) #27)
+#137 := (iff #28 #134)
+#76 := (and #16 #18)
+#79 := (or #17 #76)
+#92 := (ite #79 #21 #89)
+#95 := (ite #14 0::int #92)
+#98 := (= #10 #95)
+#101 := (forall (vars (?v0 int) (?v1 int)) #98)
+#135 := (iff #101 #134)
+#132 := (iff #98 #131)
+#129 := (= #95 #128)
+#126 := (= #92 #125)
+#123 := (iff #79 #122)
+#120 := (iff #76 #119)
+#117 := (iff #18 #116)
+#118 := [rewrite]: #117
+#110 := (iff #16 #109)
+#111 := [rewrite]: #110
+#121 := [monotonicity #111 #118]: #120
+#113 := (iff #17 #112)
+#106 := (iff #15 #105)
+#107 := [rewrite]: #106
+#114 := [monotonicity #107 #111]: #113
+#124 := [monotonicity #114 #121]: #123
+#127 := [monotonicity #124]: #126
+#130 := [monotonicity #127]: #129
+#133 := [monotonicity #130]: #132
+#136 := [quant-intro #133]: #135
+#102 := (iff #28 #101)
+#99 := (iff #27 #98)
+#96 := (= #26 #95)
+#93 := (= #25 #92)
+#90 := (= #24 #89)
+#87 := (= #23 #86)
+#88 := [rewrite]: #87
+#84 := (= #22 #83)
+#85 := [rewrite]: #84
+#91 := [monotonicity #85 #88]: #90
+#80 := (iff #20 #79)
+#77 := (iff #19 #76)
+#78 := [rewrite]: #77
+#81 := [monotonicity #78]: #80
+#94 := [monotonicity #81 #91]: #93
+#97 := [monotonicity #94]: #96
+#100 := [monotonicity #97]: #99
+#103 := [quant-intro #100]: #102
+#138 := [trans #103 #136]: #137
+#75 := [asserted]: #28
+#139 := [mp #75 #138]: #134
+#273 := [mp~ #139 #289]: #134
+#325 := [mp #273 #324]: #322
+#356 := [mp #325 #355]: #353
+#850 := [mp #356 #849]: #845
+#680 := (not #845)
+#673 := (or #680 #839)
+#430 := (* -1::int 3::int)
+#515 := (* -1::int 0::int)
+#516 := (div #515 #430)
+#517 := (* -1::int #516)
+#508 := (+ #54 #517)
+#519 := (= #508 0::int)
+#520 := (div 0::int 3::int)
+#448 := (* -1::int #520)
+#521 := (+ #54 #448)
+#518 := (= #521 0::int)
+#522 := (<= 3::int 0::int)
+#501 := (<= 0::int 0::int)
+#836 := (or #501 #522)
+#838 := (not #836)
+#495 := (>= 0::int 0::int)
+#625 := (or #522 #495)
+#832 := (not #625)
+#506 := (or #832 #838)
+#507 := (ite #506 #518 #519)
+#840 := (= 3::int 0::int)
+#841 := (= 0::int 0::int)
+#842 := (or #841 #840)
+#837 := (ite #842 #839 #507)
+#681 := (or #680 #837)
+#683 := (iff #681 #673)
+#685 := (iff #673 #673)
+#778 := [rewrite]: #685
+#677 := (iff #837 #839)
+#1 := true
+#678 := (ite true #839 #839)
+#777 := (iff #678 #839)
+#662 := [rewrite]: #777
+#773 := (iff #837 #678)
+#628 := (iff #507 #839)
+#782 := (ite false #839 #839)
+#668 := (iff #782 #839)
+#669 := [rewrite]: #668
+#785 := (iff #507 #782)
+#783 := (iff #519 #839)
+#780 := (= #508 #54)
+#799 := (+ #54 0::int)
+#796 := (= #799 #54)
+#797 := [rewrite]: #796
+#626 := (= #508 #799)
+#795 := (= #517 0::int)
+#805 := (= #515 0::int)
+#809 := [rewrite]: #805
+#794 := (= #517 #515)
+#787 := (= #516 0::int)
+#645 := -3::int
+#789 := (div 0::int -3::int)
+#792 := (= #789 0::int)
+#786 := [rewrite]: #792
+#790 := (= #516 #789)
+#646 := (= #430 -3::int)
+#647 := [rewrite]: #646
+#791 := [monotonicity #809 #647]: #790
+#793 := [trans #791 #786]: #787
+#788 := [monotonicity #793]: #794
+#624 := [trans #788 #809]: #795
+#627 := [monotonicity #624]: #626
+#781 := [trans #627 #797]: #780
+#784 := [monotonicity #781]: #783
+#798 := (iff #518 #839)
+#802 := (= #521 #54)
+#800 := (= #521 #799)
+#806 := (= #448 0::int)
+#808 := (= #448 #515)
+#529 := (= #520 0::int)
+#807 := [rewrite]: #529
+#523 := [monotonicity #807]: #808
+#810 := [trans #523 #809]: #806
+#801 := [monotonicity #810]: #800
+#803 := [trans #801 #797]: #802
+#804 := [monotonicity #803]: #798
+#527 := (iff #506 false)
+#811 := (or false false)
+#816 := (iff #811 false)
+#526 := [rewrite]: #816
+#815 := (iff #506 #811)
+#536 := (iff #838 false)
+#829 := (not true)
+#830 := (iff #829 false)
+#828 := [rewrite]: #830
+#813 := (iff #838 #829)
+#543 := (iff #836 true)
+#834 := (or true false)
+#478 := (iff #834 true)
+#819 := [rewrite]: #478
+#541 := (iff #836 #834)
+#484 := (iff #522 false)
+#485 := [rewrite]: #484
+#818 := (iff #501 true)
+#540 := [rewrite]: #818
+#542 := [monotonicity #540 #485]: #541
+#436 := [trans #542 #819]: #543
+#814 := [monotonicity #436]: #813
+#537 := [trans #814 #828]: #536
+#831 := (iff #832 false)
+#469 := (iff #832 #829)
+#464 := (iff #625 true)
+#823 := (or false true)
+#820 := (iff #823 true)
+#826 := [rewrite]: #820
+#824 := (iff #625 #823)
+#821 := (iff #495 true)
+#822 := [rewrite]: #821
+#825 := [monotonicity #485 #822]: #824
+#827 := [trans #825 #826]: #464
+#470 := [monotonicity #827]: #469
+#817 := [trans #470 #828]: #831
+#812 := [monotonicity #817 #537]: #815
+#528 := [trans #812 #526]: #527
+#667 := [monotonicity #528 #804 #784]: #785
+#776 := [trans #667 #669]: #628
+#482 := (iff #842 true)
+#494 := (iff #842 #834)
+#493 := (iff #840 false)
+#498 := [rewrite]: #493
+#843 := (iff #841 true)
+#833 := [rewrite]: #843
+#835 := [monotonicity #833 #498]: #494
+#483 := [trans #835 #819]: #482
+#774 := [monotonicity #483 #776]: #773
+#679 := [trans #774 #662]: #677
+#684 := [monotonicity #679]: #683
+#775 := [trans #684 #778]: #683
+#682 := [quant-inst]: #681
+#779 := [mp #682 #775]: #673
+#691 := [unit-resolution #779 #850]: #839
+#692 := [monotonicity #691]: #57
+#58 := (not #57)
+#270 := [asserted]: #58
+[unit-resolution #270 #692]: false
+unsat
+86ae6406add6790c99d1c1c3b3a6bf3c60c7e019 302 0
 #2 := false
 decl f5 :: (-> int S2)
 #11 := 0::int
@@ -16821,7 +16821,7 @@
 #271 := [asserted]: #59
 [unit-resolution #271 #702]: false
 unsat
-80ae46a7e9c57ab25c6d7a036d7583b3c508d2eb 447 0
+0aa64721f85c4c9c0df00c84259b25141ea1f07e 447 0
 #2 := false
 #11 := 0::int
 decl f6 :: (-> S2 int)
@@ -17269,7 +17269,7 @@
 #639 := [th-lemma]: #638
 [unit-resolution #639 #637 #636 #660]: false
 unsat
-8f1427496ff61632aac173e792df93e6d2f8fec2 292 0
+a2a1b7b5735fca4ed872e71176348b8f63dcb65b 292 0
 #2 := false
 decl f5 :: (-> int S2)
 #56 := 1::int
@@ -17562,7 +17562,313 @@
 #271 := [asserted]: #59
 [unit-resolution #271 #701]: false
 unsat
-d3447cf6898d788767aea97d325e514adc5f9e24 538 0
+5c15f7e076aa5690517f22531eb4e4a8a733ed8e 305 0
+#2 := false
+decl f5 :: (-> int S2)
+#11 := 0::int
+#56 := (f5 0::int)
+decl f4 :: (-> int int int)
+#53 := 3::int
+#54 := (f4 0::int 3::int)
+#55 := (f5 #54)
+#57 := (= #55 #56)
+#507 := (= #54 0::int)
+#9 := (:var 0 int)
+#8 := (:var 1 int)
+#29 := (f4 #8 #9)
+#851 := (pattern #29)
+#82 := -1::int
+#86 := (* -1::int #9)
+#83 := (* -1::int #8)
+#141 := (mod #83 #86)
+#362 := (+ #29 #141)
+#363 := (= #362 0::int)
+#30 := (mod #8 #9)
+#359 := (* -1::int #30)
+#360 := (+ #29 #359)
+#361 := (= #360 0::int)
+#108 := (<= #9 0::int)
+#104 := (<= #8 0::int)
+#301 := (or #104 #108)
+#302 := (not #301)
+#115 := (>= #8 0::int)
+#284 := (or #108 #115)
+#285 := (not #284)
+#308 := (or #285 #302)
+#364 := (ite #308 #361 #363)
+#358 := (= #29 0::int)
+#12 := (= #8 0::int)
+#365 := (ite #12 #358 #364)
+#357 := (= #8 #29)
+#13 := (= #9 0::int)
+#366 := (ite #13 #357 #365)
+#852 := (forall (vars (?v0 int) (?v1 int)) (:pat #851) #366)
+#369 := (forall (vars (?v0 int) (?v1 int)) #366)
+#855 := (iff #369 #852)
+#853 := (iff #366 #366)
+#854 := [refl]: #853
+#856 := [quant-intro #854]: #855
+#147 := (* -1::int #141)
+#326 := (ite #308 #30 #147)
+#329 := (ite #12 0::int #326)
+#332 := (ite #13 #8 #329)
+#335 := (= #29 #332)
+#338 := (forall (vars (?v0 int) (?v1 int)) #335)
+#370 := (iff #338 #369)
+#367 := (iff #335 #366)
+#368 := [rewrite]: #367
+#371 := [quant-intro #368]: #370
+#116 := (not #115)
+#109 := (not #108)
+#119 := (and #109 #116)
+#105 := (not #104)
+#112 := (and #105 #109)
+#122 := (or #112 #119)
+#167 := (ite #122 #30 #147)
+#170 := (ite #12 0::int #167)
+#173 := (ite #13 #8 #170)
+#176 := (= #29 #173)
+#179 := (forall (vars (?v0 int) (?v1 int)) #176)
+#339 := (iff #179 #338)
+#336 := (iff #176 #335)
+#333 := (= #173 #332)
+#330 := (= #170 #329)
+#327 := (= #167 #326)
+#311 := (iff #122 #308)
+#305 := (or #302 #285)
+#309 := (iff #305 #308)
+#310 := [rewrite]: #309
+#306 := (iff #122 #305)
+#303 := (iff #119 #285)
+#304 := [rewrite]: #303
+#282 := (iff #112 #302)
+#283 := [rewrite]: #282
+#307 := [monotonicity #283 #304]: #306
+#312 := [trans #307 #310]: #311
+#328 := [monotonicity #312]: #327
+#331 := [monotonicity #328]: #330
+#334 := [monotonicity #331]: #333
+#337 := [monotonicity #334]: #336
+#340 := [quant-intro #337]: #339
+#274 := (~ #179 #179)
+#271 := (~ #176 #176)
+#290 := [refl]: #271
+#275 := [nnf-pos #290]: #274
+#23 := (- #9)
+#22 := (- #8)
+#31 := (mod #22 #23)
+#32 := (- #31)
+#16 := (< 0::int #9)
+#18 := (< #8 0::int)
+#19 := (and #18 #16)
+#15 := (< 0::int #8)
+#17 := (and #15 #16)
+#20 := (or #17 #19)
+#33 := (ite #20 #30 #32)
+#34 := (ite #12 0::int #33)
+#35 := (ite #13 #8 #34)
+#36 := (= #29 #35)
+#37 := (forall (vars (?v0 int) (?v1 int)) #36)
+#182 := (iff #37 #179)
+#76 := (and #16 #18)
+#79 := (or #17 #76)
+#152 := (ite #79 #30 #147)
+#155 := (ite #12 0::int #152)
+#158 := (ite #13 #8 #155)
+#161 := (= #29 #158)
+#164 := (forall (vars (?v0 int) (?v1 int)) #161)
+#180 := (iff #164 #179)
+#177 := (iff #161 #176)
+#174 := (= #158 #173)
+#171 := (= #155 #170)
+#168 := (= #152 #167)
+#123 := (iff #79 #122)
+#120 := (iff #76 #119)
+#117 := (iff #18 #116)
+#118 := [rewrite]: #117
+#110 := (iff #16 #109)
+#111 := [rewrite]: #110
+#121 := [monotonicity #111 #118]: #120
+#113 := (iff #17 #112)
+#106 := (iff #15 #105)
+#107 := [rewrite]: #106
+#114 := [monotonicity #107 #111]: #113
+#124 := [monotonicity #114 #121]: #123
+#169 := [monotonicity #124]: #168
+#172 := [monotonicity #169]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#181 := [quant-intro #178]: #180
+#165 := (iff #37 #164)
+#162 := (iff #36 #161)
+#159 := (= #35 #158)
+#156 := (= #34 #155)
+#153 := (= #33 #152)
+#150 := (= #32 #147)
+#144 := (- #141)
+#148 := (= #144 #147)
+#149 := [rewrite]: #148
+#145 := (= #32 #144)
+#142 := (= #31 #141)
+#87 := (= #23 #86)
+#88 := [rewrite]: #87
+#84 := (= #22 #83)
+#85 := [rewrite]: #84
+#143 := [monotonicity #85 #88]: #142
+#146 := [monotonicity #143]: #145
+#151 := [trans #146 #149]: #150
+#80 := (iff #20 #79)
+#77 := (iff #19 #76)
+#78 := [rewrite]: #77
+#81 := [monotonicity #78]: #80
+#154 := [monotonicity #81 #151]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#183 := [trans #166 #181]: #182
+#140 := [asserted]: #37
+#184 := [mp #140 #183]: #179
+#291 := [mp~ #184 #275]: #179
+#341 := [mp #291 #340]: #338
+#372 := [mp #341 #371]: #369
+#857 := [mp #372 #856]: #852
+#677 := (not #852)
+#679 := (or #677 #507)
+#430 := (* -1::int 3::int)
+#515 := (* -1::int 0::int)
+#516 := (mod #515 #430)
+#517 := (+ #54 #516)
+#508 := (= #517 0::int)
+#519 := (mod 0::int 3::int)
+#520 := (* -1::int #519)
+#448 := (+ #54 #520)
+#521 := (= #448 0::int)
+#518 := (<= 3::int 0::int)
+#522 := (<= 0::int 0::int)
+#501 := (or #522 #518)
+#836 := (not #501)
+#838 := (>= 0::int 0::int)
+#495 := (or #518 #838)
+#625 := (not #495)
+#832 := (or #625 #836)
+#506 := (ite #832 #521 #508)
+#839 := (= 0::int 0::int)
+#840 := (ite #839 #507 #506)
+#841 := (= 0::int #54)
+#842 := (= 3::int 0::int)
+#837 := (ite #842 #841 #840)
+#680 := (or #677 #837)
+#681 := (iff #680 #679)
+#683 := (iff #679 #679)
+#684 := [rewrite]: #683
+#777 := (iff #837 #507)
+#626 := (ite false #507 #507)
+#781 := (iff #626 #507)
+#783 := [rewrite]: #781
+#773 := (iff #837 #626)
+#776 := (iff #840 #507)
+#1 := true
+#785 := (ite true #507 #507)
+#669 := (iff #785 #507)
+#628 := [rewrite]: #669
+#667 := (iff #840 #785)
+#784 := (iff #506 #507)
+#627 := (iff #506 #626)
+#795 := (iff #508 #507)
+#794 := (= #517 #54)
+#806 := (+ #54 0::int)
+#800 := (= #806 #54)
+#801 := [rewrite]: #800
+#787 := (= #517 #806)
+#792 := (= #516 0::int)
+#798 := -3::int
+#646 := (mod 0::int -3::int)
+#790 := (= #646 0::int)
+#791 := [rewrite]: #790
+#647 := (= #516 #646)
+#804 := (= #430 -3::int)
+#645 := [rewrite]: #804
+#808 := (= #515 0::int)
+#523 := [rewrite]: #808
+#789 := [monotonicity #523 #645]: #647
+#786 := [trans #789 #791]: #792
+#793 := [monotonicity #786]: #787
+#788 := [trans #793 #801]: #794
+#624 := [monotonicity #788]: #795
+#802 := (iff #521 #507)
+#796 := (= #448 #54)
+#810 := (= #448 #806)
+#805 := (= #520 0::int)
+#529 := (= #520 #515)
+#527 := (= #519 0::int)
+#528 := [rewrite]: #527
+#807 := [monotonicity #528]: #529
+#809 := [trans #807 #523]: #805
+#799 := [monotonicity #809]: #810
+#797 := [trans #799 #801]: #796
+#803 := [monotonicity #797]: #802
+#816 := (iff #832 false)
+#536 := (or false false)
+#815 := (iff #536 false)
+#812 := [rewrite]: #815
+#537 := (iff #832 #536)
+#813 := (iff #836 false)
+#825 := (not true)
+#464 := (iff #825 false)
+#827 := [rewrite]: #464
+#543 := (iff #836 #825)
+#541 := (iff #501 true)
+#828 := (or true false)
+#818 := (iff #828 true)
+#540 := [rewrite]: #818
+#831 := (iff #501 #828)
+#835 := (iff #518 false)
+#478 := [rewrite]: #835
+#470 := (iff #522 true)
+#830 := [rewrite]: #470
+#817 := [monotonicity #830 #478]: #831
+#542 := [trans #817 #540]: #541
+#436 := [monotonicity #542]: #543
+#814 := [trans #436 #827]: #813
+#829 := (iff #625 false)
+#820 := (iff #625 #825)
+#823 := (iff #495 true)
+#483 := (or false true)
+#821 := (iff #483 true)
+#822 := [rewrite]: #821
+#484 := (iff #495 #483)
+#819 := (iff #838 true)
+#482 := [rewrite]: #819
+#485 := [monotonicity #478 #482]: #484
+#824 := [trans #485 #822]: #823
+#826 := [monotonicity #824]: #820
+#469 := [trans #826 #827]: #829
+#811 := [monotonicity #469 #814]: #537
+#526 := [trans #811 #812]: #816
+#780 := [monotonicity #526 #803 #624]: #627
+#782 := [trans #780 #783]: #784
+#834 := (iff #839 true)
+#494 := [rewrite]: #834
+#668 := [monotonicity #494 #782]: #667
+#678 := [trans #668 #628]: #776
+#493 := (iff #841 #507)
+#498 := [rewrite]: #493
+#843 := (iff #842 false)
+#833 := [rewrite]: #843
+#774 := [monotonicity #833 #498 #678]: #773
+#662 := [trans #774 #783]: #777
+#682 := [monotonicity #662]: #681
+#685 := [trans #682 #684]: #681
+#673 := [quant-inst]: #680
+#778 := [mp #673 #685]: #679
+#713 := [unit-resolution #778 #857]: #507
+#709 := [monotonicity #713]: #57
+#58 := (not #57)
+#270 := [asserted]: #58
+[unit-resolution #270 #709]: false
+unsat
+8c2d3e4568510c293138be5f353975b23e5bdc6e 538 0
 #2 := false
 #11 := 0::int
 decl f6 :: (-> S2 int)
@@ -18101,98 +18407,99 @@
 #593 := [trans #591 #608]: #781
 [unit-resolution #661 #593]: false
 unsat
-124e92a80da0b0c9c6ea2fb487ed064cc0c65420 305 0
+6dd67c9a5af172ae1a01724c38372069dc3347ac 328 0
 #2 := false
 decl f5 :: (-> int S2)
-#11 := 0::int
-#56 := (f5 0::int)
+#53 := 1::int
+#57 := (f5 1::int)
 decl f4 :: (-> int int int)
-#53 := 3::int
-#54 := (f4 0::int 3::int)
-#55 := (f5 #54)
-#57 := (= #55 #56)
-#507 := (= #54 0::int)
+#54 := 3::int
+#55 := (f4 1::int 3::int)
+#56 := (f5 #55)
+#58 := (= #56 #57)
+#834 := (= #55 1::int)
 #9 := (:var 0 int)
 #8 := (:var 1 int)
 #29 := (f4 #8 #9)
 #851 := (pattern #29)
-#82 := -1::int
-#86 := (* -1::int #9)
-#83 := (* -1::int #8)
-#141 := (mod #83 #86)
-#362 := (+ #29 #141)
-#363 := (= #362 0::int)
+#11 := 0::int
+#83 := -1::int
+#87 := (* -1::int #9)
+#84 := (* -1::int #8)
+#142 := (mod #84 #87)
+#363 := (+ #29 #142)
+#364 := (= #363 0::int)
 #30 := (mod #8 #9)
-#359 := (* -1::int #30)
-#360 := (+ #29 #359)
-#361 := (= #360 0::int)
-#108 := (<= #9 0::int)
-#104 := (<= #8 0::int)
-#301 := (or #104 #108)
-#302 := (not #301)
-#115 := (>= #8 0::int)
-#284 := (or #108 #115)
-#285 := (not #284)
-#308 := (or #285 #302)
-#364 := (ite #308 #361 #363)
-#358 := (= #29 0::int)
-#12 := (= #8 0::int)
-#365 := (ite #12 #358 #364)
-#357 := (= #8 #29)
-#13 := (= #9 0::int)
-#366 := (ite #13 #357 #365)
-#852 := (forall (vars (?v0 int) (?v1 int)) (:pat #851) #366)
-#369 := (forall (vars (?v0 int) (?v1 int)) #366)
-#855 := (iff #369 #852)
-#853 := (iff #366 #366)
+#360 := (* -1::int #30)
+#361 := (+ #29 #360)
+#362 := (= #361 0::int)
+#109 := (<= #9 0::int)
+#105 := (<= #8 0::int)
+#302 := (or #105 #109)
+#303 := (not #302)
+#116 := (>= #8 0::int)
+#285 := (or #109 #116)
+#286 := (not #285)
+#309 := (or #286 #303)
+#365 := (ite #309 #362 #364)
+#359 := (= #29 0::int)
+#12 := (= #8 0::int)
+#366 := (ite #12 #359 #365)
+#358 := (= #8 #29)
+#13 := (= #9 0::int)
+#367 := (ite #13 #358 #366)
+#852 := (forall (vars (?v0 int) (?v1 int)) (:pat #851) #367)
+#370 := (forall (vars (?v0 int) (?v1 int)) #367)
+#855 := (iff #370 #852)
+#853 := (iff #367 #367)
 #854 := [refl]: #853
 #856 := [quant-intro #854]: #855
-#147 := (* -1::int #141)
-#326 := (ite #308 #30 #147)
-#329 := (ite #12 0::int #326)
-#332 := (ite #13 #8 #329)
-#335 := (= #29 #332)
-#338 := (forall (vars (?v0 int) (?v1 int)) #335)
-#370 := (iff #338 #369)
-#367 := (iff #335 #366)
-#368 := [rewrite]: #367
-#371 := [quant-intro #368]: #370
-#116 := (not #115)
-#109 := (not #108)
-#119 := (and #109 #116)
-#105 := (not #104)
-#112 := (and #105 #109)
-#122 := (or #112 #119)
-#167 := (ite #122 #30 #147)
-#170 := (ite #12 0::int #167)
-#173 := (ite #13 #8 #170)
-#176 := (= #29 #173)
-#179 := (forall (vars (?v0 int) (?v1 int)) #176)
-#339 := (iff #179 #338)
-#336 := (iff #176 #335)
-#333 := (= #173 #332)
-#330 := (= #170 #329)
-#327 := (= #167 #326)
-#311 := (iff #122 #308)
-#305 := (or #302 #285)
-#309 := (iff #305 #308)
-#310 := [rewrite]: #309
-#306 := (iff #122 #305)
-#303 := (iff #119 #285)
-#304 := [rewrite]: #303
-#282 := (iff #112 #302)
-#283 := [rewrite]: #282
-#307 := [monotonicity #283 #304]: #306
-#312 := [trans #307 #310]: #311
-#328 := [monotonicity #312]: #327
-#331 := [monotonicity #328]: #330
-#334 := [monotonicity #331]: #333
-#337 := [monotonicity #334]: #336
-#340 := [quant-intro #337]: #339
-#274 := (~ #179 #179)
-#271 := (~ #176 #176)
-#290 := [refl]: #271
-#275 := [nnf-pos #290]: #274
+#148 := (* -1::int #142)
+#327 := (ite #309 #30 #148)
+#330 := (ite #12 0::int #327)
+#333 := (ite #13 #8 #330)
+#336 := (= #29 #333)
+#339 := (forall (vars (?v0 int) (?v1 int)) #336)
+#371 := (iff #339 #370)
+#368 := (iff #336 #367)
+#369 := [rewrite]: #368
+#372 := [quant-intro #369]: #371
+#117 := (not #116)
+#110 := (not #109)
+#120 := (and #110 #117)
+#106 := (not #105)
+#113 := (and #106 #110)
+#123 := (or #113 #120)
+#168 := (ite #123 #30 #148)
+#171 := (ite #12 0::int #168)
+#174 := (ite #13 #8 #171)
+#177 := (= #29 #174)
+#180 := (forall (vars (?v0 int) (?v1 int)) #177)
+#340 := (iff #180 #339)
+#337 := (iff #177 #336)
+#334 := (= #174 #333)
+#331 := (= #171 #330)
+#328 := (= #168 #327)
+#312 := (iff #123 #309)
+#306 := (or #303 #286)
+#310 := (iff #306 #309)
+#311 := [rewrite]: #310
+#307 := (iff #123 #306)
+#304 := (iff #120 #286)
+#305 := [rewrite]: #304
+#283 := (iff #113 #303)
+#284 := [rewrite]: #283
+#308 := [monotonicity #284 #305]: #307
+#313 := [trans #308 #311]: #312
+#329 := [monotonicity #313]: #328
+#332 := [monotonicity #329]: #331
+#335 := [monotonicity #332]: #334
+#338 := [monotonicity #335]: #337
+#341 := [quant-intro #338]: #340
+#275 := (~ #180 #180)
+#272 := (~ #177 #177)
+#291 := [refl]: #272
+#276 := [nnf-pos #291]: #275
 #23 := (- #9)
 #22 := (- #8)
 #31 := (mod #22 #23)
@@ -18208,206 +18515,228 @@
 #35 := (ite #13 #8 #34)
 #36 := (= #29 #35)
 #37 := (forall (vars (?v0 int) (?v1 int)) #36)
-#182 := (iff #37 #179)
-#76 := (and #16 #18)
-#79 := (or #17 #76)
-#152 := (ite #79 #30 #147)
-#155 := (ite #12 0::int #152)
-#158 := (ite #13 #8 #155)
-#161 := (= #29 #158)
-#164 := (forall (vars (?v0 int) (?v1 int)) #161)
-#180 := (iff #164 #179)
-#177 := (iff #161 #176)
-#174 := (= #158 #173)
-#171 := (= #155 #170)
-#168 := (= #152 #167)
-#123 := (iff #79 #122)
-#120 := (iff #76 #119)
-#117 := (iff #18 #116)
-#118 := [rewrite]: #117
-#110 := (iff #16 #109)
-#111 := [rewrite]: #110
-#121 := [monotonicity #111 #118]: #120
-#113 := (iff #17 #112)
-#106 := (iff #15 #105)
-#107 := [rewrite]: #106
-#114 := [monotonicity #107 #111]: #113
-#124 := [monotonicity #114 #121]: #123
-#169 := [monotonicity #124]: #168
-#172 := [monotonicity #169]: #171
-#175 := [monotonicity #172]: #174
-#178 := [monotonicity #175]: #177
-#181 := [quant-intro #178]: #180
-#165 := (iff #37 #164)
-#162 := (iff #36 #161)
-#159 := (= #35 #158)
-#156 := (= #34 #155)
-#153 := (= #33 #152)
-#150 := (= #32 #147)
-#144 := (- #141)
-#148 := (= #144 #147)
-#149 := [rewrite]: #148
-#145 := (= #32 #144)
-#142 := (= #31 #141)
-#87 := (= #23 #86)
-#88 := [rewrite]: #87
-#84 := (= #22 #83)
-#85 := [rewrite]: #84
-#143 := [monotonicity #85 #88]: #142
-#146 := [monotonicity #143]: #145
-#151 := [trans #146 #149]: #150
-#80 := (iff #20 #79)
-#77 := (iff #19 #76)
-#78 := [rewrite]: #77
-#81 := [monotonicity #78]: #80
-#154 := [monotonicity #81 #151]: #153
-#157 := [monotonicity #154]: #156
-#160 := [monotonicity #157]: #159
-#163 := [monotonicity #160]: #162
-#166 := [quant-intro #163]: #165
-#183 := [trans #166 #181]: #182
-#140 := [asserted]: #37
-#184 := [mp #140 #183]: #179
-#291 := [mp~ #184 #275]: #179
-#341 := [mp #291 #340]: #338
-#372 := [mp #341 #371]: #369
-#857 := [mp #372 #856]: #852
-#677 := (not #852)
-#679 := (or #677 #507)
-#430 := (* -1::int 3::int)
-#515 := (* -1::int 0::int)
-#516 := (mod #515 #430)
-#517 := (+ #54 #516)
+#183 := (iff #37 #180)
+#77 := (and #16 #18)
+#80 := (or #17 #77)
+#153 := (ite #80 #30 #148)
+#156 := (ite #12 0::int #153)
+#159 := (ite #13 #8 #156)
+#162 := (= #29 #159)
+#165 := (forall (vars (?v0 int) (?v1 int)) #162)
+#181 := (iff #165 #180)
+#178 := (iff #162 #177)
+#175 := (= #159 #174)
+#172 := (= #156 #171)
+#169 := (= #153 #168)
+#124 := (iff #80 #123)
+#121 := (iff #77 #120)
+#118 := (iff #18 #117)
+#119 := [rewrite]: #118
+#111 := (iff #16 #110)
+#112 := [rewrite]: #111
+#122 := [monotonicity #112 #119]: #121
+#114 := (iff #17 #113)
+#107 := (iff #15 #106)
+#108 := [rewrite]: #107
+#115 := [monotonicity #108 #112]: #114
+#125 := [monotonicity #115 #122]: #124
+#170 := [monotonicity #125]: #169
+#173 := [monotonicity #170]: #172
+#176 := [monotonicity #173]: #175
+#179 := [monotonicity #176]: #178
+#182 := [quant-intro #179]: #181
+#166 := (iff #37 #165)
+#163 := (iff #36 #162)
+#160 := (= #35 #159)
+#157 := (= #34 #156)
+#154 := (= #33 #153)
+#151 := (= #32 #148)
+#145 := (- #142)
+#149 := (= #145 #148)
+#150 := [rewrite]: #149
+#146 := (= #32 #145)
+#143 := (= #31 #142)
+#88 := (= #23 #87)
+#89 := [rewrite]: #88
+#85 := (= #22 #84)
+#86 := [rewrite]: #85
+#144 := [monotonicity #86 #89]: #143
+#147 := [monotonicity #144]: #146
+#152 := [trans #147 #150]: #151
+#81 := (iff #20 #80)
+#78 := (iff #19 #77)
+#79 := [rewrite]: #78
+#82 := [monotonicity #79]: #81
+#155 := [monotonicity #82 #152]: #154
+#158 := [monotonicity #155]: #157
+#161 := [monotonicity #158]: #160
+#164 := [monotonicity #161]: #163
+#167 := [quant-intro #164]: #166
+#184 := [trans #167 #182]: #183
+#141 := [asserted]: #37
+#185 := [mp #141 #184]: #180
+#292 := [mp~ #185 #276]: #180
+#342 := [mp #292 #341]: #339
+#373 := [mp #342 #372]: #370
+#857 := [mp #373 #856]: #852
+#762 := (not #852)
+#763 := (or #762 #834)
+#431 := (* -1::int 3::int)
+#515 := (* -1::int 1::int)
+#516 := (mod #515 #431)
+#517 := (+ #55 #516)
 #508 := (= #517 0::int)
-#519 := (mod 0::int 3::int)
+#519 := (mod 1::int 3::int)
 #520 := (* -1::int #519)
-#448 := (+ #54 #520)
-#521 := (= #448 0::int)
-#518 := (<= 3::int 0::int)
-#522 := (<= 0::int 0::int)
-#501 := (or #522 #518)
-#836 := (not #501)
-#838 := (>= 0::int 0::int)
-#495 := (or #518 #838)
-#625 := (not #495)
-#832 := (or #625 #836)
-#506 := (ite #832 #521 #508)
-#839 := (= 0::int 0::int)
-#840 := (ite #839 #507 #506)
-#841 := (= 0::int #54)
-#842 := (= 3::int 0::int)
-#837 := (ite #842 #841 #840)
-#680 := (or #677 #837)
-#681 := (iff #680 #679)
-#683 := (iff #679 #679)
-#684 := [rewrite]: #683
-#777 := (iff #837 #507)
-#626 := (ite false #507 #507)
-#781 := (iff #626 #507)
-#783 := [rewrite]: #781
-#773 := (iff #837 #626)
-#776 := (iff #840 #507)
-#1 := true
-#785 := (ite true #507 #507)
-#669 := (iff #785 #507)
-#628 := [rewrite]: #669
-#667 := (iff #840 #785)
-#784 := (iff #506 #507)
-#627 := (iff #506 #626)
-#795 := (iff #508 #507)
-#794 := (= #517 #54)
-#806 := (+ #54 0::int)
-#800 := (= #806 #54)
-#801 := [rewrite]: #800
-#787 := (= #517 #806)
-#792 := (= #516 0::int)
-#798 := -3::int
-#646 := (mod 0::int -3::int)
-#790 := (= #646 0::int)
-#791 := [rewrite]: #790
-#647 := (= #516 #646)
-#804 := (= #430 -3::int)
-#645 := [rewrite]: #804
-#808 := (= #515 0::int)
-#523 := [rewrite]: #808
-#789 := [monotonicity #523 #645]: #647
-#786 := [trans #789 #791]: #792
-#793 := [monotonicity #786]: #787
-#788 := [trans #793 #801]: #794
-#624 := [monotonicity #788]: #795
-#802 := (iff #521 #507)
-#796 := (= #448 #54)
-#810 := (= #448 #806)
-#805 := (= #520 0::int)
-#529 := (= #520 #515)
-#527 := (= #519 0::int)
-#528 := [rewrite]: #527
-#807 := [monotonicity #528]: #529
-#809 := [trans #807 #523]: #805
-#799 := [monotonicity #809]: #810
-#797 := [trans #799 #801]: #796
-#803 := [monotonicity #797]: #802
-#816 := (iff #832 false)
-#536 := (or false false)
-#815 := (iff #536 false)
-#812 := [rewrite]: #815
-#537 := (iff #832 #536)
-#813 := (iff #836 false)
-#825 := (not true)
-#464 := (iff #825 false)
-#827 := [rewrite]: #464
-#543 := (iff #836 #825)
-#541 := (iff #501 true)
-#828 := (or true false)
-#818 := (iff #828 true)
-#540 := [rewrite]: #818
-#831 := (iff #501 #828)
-#835 := (iff #518 false)
+#521 := (+ #55 #520)
+#518 := (= #521 0::int)
+#522 := (<= 3::int 0::int)
+#501 := (<= 1::int 0::int)
+#836 := (or #501 #522)
+#838 := (not #836)
+#495 := (>= 1::int 0::int)
+#625 := (or #522 #495)
+#832 := (not #625)
+#506 := (or #832 #838)
+#507 := (ite #506 #518 #508)
+#839 := (= #55 0::int)
+#840 := (= 1::int 0::int)
+#841 := (ite #840 #839 #507)
+#842 := (= 1::int #55)
+#837 := (= 3::int 0::int)
+#843 := (ite #837 #842 #841)
+#764 := (or #762 #843)
+#765 := (iff #764 #763)
+#750 := (iff #763 #763)
+#752 := [rewrite]: #750
+#772 := (iff #843 #834)
+#759 := (ite false #834 #834)
+#771 := (iff #759 #834)
+#767 := [rewrite]: #771
+#769 := (iff #843 #759)
+#760 := (iff #841 #834)
+#778 := (ite false #839 #834)
+#766 := (iff #778 #834)
+#768 := [rewrite]: #766
+#775 := (iff #841 #778)
+#684 := (iff #507 #834)
+#773 := -2::int
+#774 := (= #55 -2::int)
+#1 := true
+#680 := (ite true #834 #774)
+#682 := (iff #680 #834)
+#683 := [rewrite]: #682
+#673 := (iff #507 #680)
+#677 := (iff #508 #774)
+#795 := 2::int
+#782 := (+ 2::int #55)
+#628 := (= #782 0::int)
+#777 := (iff #628 #774)
+#662 := [rewrite]: #777
+#776 := (iff #508 #628)
+#668 := (= #517 #782)
+#781 := (+ #55 2::int)
+#785 := (= #781 #782)
+#667 := [rewrite]: #785
+#783 := (= #517 #781)
+#627 := (= #516 2::int)
+#792 := -3::int
+#793 := (mod -1::int -3::int)
+#624 := (= #793 2::int)
+#626 := [rewrite]: #624
+#794 := (= #516 #793)
+#786 := (= #431 -3::int)
+#787 := [rewrite]: #786
+#805 := (= #515 -1::int)
+#809 := [rewrite]: #805
+#788 := [monotonicity #809 #787]: #794
+#780 := [trans #788 #626]: #627
+#784 := [monotonicity #780]: #783
+#669 := [trans #784 #667]: #668
+#678 := [monotonicity #669]: #776
+#679 := [trans #678 #662]: #677
+#790 := (iff #518 #834)
+#796 := (+ -1::int #55)
+#804 := (= #796 0::int)
+#647 := (iff #804 #834)
+#789 := [rewrite]: #647
+#645 := (iff #518 #804)
+#803 := (= #521 #796)
+#799 := (+ #55 -1::int)
+#797 := (= #799 #796)
+#802 := [rewrite]: #797
+#800 := (= #521 #799)
+#806 := (= #520 -1::int)
+#808 := (= #520 #515)
+#529 := (= #519 1::int)
+#807 := [rewrite]: #529
+#523 := [monotonicity #807]: #808
+#810 := [trans #523 #809]: #806
+#801 := [monotonicity #810]: #800
+#798 := [trans #801 #802]: #803
+#646 := [monotonicity #798]: #645
+#791 := [trans #646 #789]: #790
+#527 := (iff #506 true)
+#485 := (or false true)
+#823 := (iff #485 true)
+#824 := [rewrite]: #823
+#816 := (iff #506 #485)
+#815 := (iff #838 true)
+#813 := (not false)
+#537 := (iff #813 true)
+#811 := [rewrite]: #537
+#814 := (iff #838 #813)
+#543 := (iff #836 false)
+#817 := (or false false)
+#541 := (iff #817 false)
+#542 := [rewrite]: #541
+#818 := (iff #836 #817)
+#819 := (iff #522 false)
+#482 := [rewrite]: #819
+#828 := (iff #501 false)
+#831 := [rewrite]: #828
+#540 := [monotonicity #831 #482]: #818
+#437 := [trans #540 #542]: #543
+#536 := [monotonicity #437]: #814
+#812 := [trans #536 #811]: #815
+#470 := (iff #832 false)
+#826 := (not true)
+#829 := (iff #826 false)
+#469 := [rewrite]: #829
+#464 := (iff #832 #826)
+#825 := (iff #625 true)
+#821 := (iff #625 #485)
+#483 := (iff #495 true)
+#484 := [rewrite]: #483
+#822 := [monotonicity #482 #484]: #821
+#820 := [trans #822 #824]: #825
+#827 := [monotonicity #820]: #464
+#830 := [trans #827 #469]: #470
+#526 := [monotonicity #830 #812]: #816
+#528 := [trans #526 #824]: #527
+#681 := [monotonicity #528 #791 #679]: #673
+#685 := [trans #681 #683]: #684
+#835 := (iff #840 false)
 #478 := [rewrite]: #835
-#470 := (iff #522 true)
-#830 := [rewrite]: #470
-#817 := [monotonicity #830 #478]: #831
-#542 := [trans #817 #540]: #541
-#436 := [monotonicity #542]: #543
-#814 := [trans #436 #827]: #813
-#829 := (iff #625 false)
-#820 := (iff #625 #825)
-#823 := (iff #495 true)
-#483 := (or false true)
-#821 := (iff #483 true)
-#822 := [rewrite]: #821
-#484 := (iff #495 #483)
-#819 := (iff #838 true)
-#482 := [rewrite]: #819
-#485 := [monotonicity #478 #482]: #484
-#824 := [trans #485 #822]: #823
-#826 := [monotonicity #824]: #820
-#469 := [trans #826 #827]: #829
-#811 := [monotonicity #469 #814]: #537
-#526 := [trans #811 #812]: #816
-#780 := [monotonicity #526 #803 #624]: #627
-#782 := [trans #780 #783]: #784
-#834 := (iff #839 true)
-#494 := [rewrite]: #834
-#668 := [monotonicity #494 #782]: #667
-#678 := [trans #668 #628]: #776
-#493 := (iff #841 #507)
-#498 := [rewrite]: #493
-#843 := (iff #842 false)
-#833 := [rewrite]: #843
-#774 := [monotonicity #833 #498 #678]: #773
-#662 := [trans #774 #783]: #777
-#682 := [monotonicity #662]: #681
-#685 := [trans #682 #684]: #681
-#673 := [quant-inst]: #680
-#778 := [mp #673 #685]: #679
-#713 := [unit-resolution #778 #857]: #507
-#709 := [monotonicity #713]: #57
-#58 := (not #57)
-#270 := [asserted]: #58
-[unit-resolution #270 #709]: false
-unsat
-b68469389563a7c2adfa58d6c3a299893ac9030d 605 0
+#779 := [monotonicity #478 #685]: #775
+#757 := [trans #779 #768]: #760
+#498 := (iff #842 #834)
+#494 := [rewrite]: #498
+#833 := (iff #837 false)
+#493 := [rewrite]: #833
+#770 := [monotonicity #493 #494 #757]: #769
+#761 := [trans #770 #767]: #772
+#749 := [monotonicity #761]: #765
+#753 := [trans #749 #752]: #765
+#758 := [quant-inst]: #764
+#754 := [mp #758 #753]: #763
+#703 := [unit-resolution #754 #857]: #834
+#708 := [monotonicity #703]: #58
+#59 := (not #58)
+#271 := [asserted]: #59
+[unit-resolution #271 #708]: false
+unsat
+d632f2ce3ea3569341b3f434b727f0c2aca7fff1 605 0
 #2 := false
 decl f5 :: (-> int S2)
 #11 := 0::int
@@ -19013,99 +19342,98 @@
 #603 := [unit-resolution #535 #671]: #61
 [unit-resolution #603 #596]: false
 unsat
-48fbc21a65dea108392ceeedb3a0cbae0d536aab 328 0
+35e52a261c60456fe5328f3a2bc282a72801535d 303 0
 #2 := false
 decl f5 :: (-> int S2)
-#53 := 1::int
-#57 := (f5 1::int)
+#11 := 0::int
+#56 := (f5 0::int)
 decl f4 :: (-> int int int)
-#54 := 3::int
-#55 := (f4 1::int 3::int)
-#56 := (f5 #55)
-#58 := (= #56 #57)
-#834 := (= #55 1::int)
+#53 := 3::int
+#54 := (f4 3::int 3::int)
+#55 := (f5 #54)
+#57 := (= #55 #56)
+#832 := (= #54 0::int)
 #9 := (:var 0 int)
 #8 := (:var 1 int)
 #29 := (f4 #8 #9)
 #851 := (pattern #29)
-#11 := 0::int
-#83 := -1::int
-#87 := (* -1::int #9)
-#84 := (* -1::int #8)
-#142 := (mod #84 #87)
-#363 := (+ #29 #142)
-#364 := (= #363 0::int)
+#82 := -1::int
+#86 := (* -1::int #9)
+#83 := (* -1::int #8)
+#141 := (mod #83 #86)
+#362 := (+ #29 #141)
+#363 := (= #362 0::int)
 #30 := (mod #8 #9)
-#360 := (* -1::int #30)
-#361 := (+ #29 #360)
-#362 := (= #361 0::int)
-#109 := (<= #9 0::int)
-#105 := (<= #8 0::int)
-#302 := (or #105 #109)
-#303 := (not #302)
-#116 := (>= #8 0::int)
-#285 := (or #109 #116)
-#286 := (not #285)
-#309 := (or #286 #303)
-#365 := (ite #309 #362 #364)
-#359 := (= #29 0::int)
-#12 := (= #8 0::int)
-#366 := (ite #12 #359 #365)
-#358 := (= #8 #29)
-#13 := (= #9 0::int)
-#367 := (ite #13 #358 #366)
-#852 := (forall (vars (?v0 int) (?v1 int)) (:pat #851) #367)
-#370 := (forall (vars (?v0 int) (?v1 int)) #367)
-#855 := (iff #370 #852)
-#853 := (iff #367 #367)
+#359 := (* -1::int #30)
+#360 := (+ #29 #359)
+#361 := (= #360 0::int)
+#108 := (<= #9 0::int)
+#104 := (<= #8 0::int)
+#301 := (or #104 #108)
+#302 := (not #301)
+#115 := (>= #8 0::int)
+#284 := (or #108 #115)
+#285 := (not #284)
+#308 := (or #285 #302)
+#364 := (ite #308 #361 #363)
+#358 := (= #29 0::int)
+#12 := (= #8 0::int)
+#365 := (ite #12 #358 #364)
+#357 := (= #8 #29)
+#13 := (= #9 0::int)
+#366 := (ite #13 #357 #365)
+#852 := (forall (vars (?v0 int) (?v1 int)) (:pat #851) #366)
+#369 := (forall (vars (?v0 int) (?v1 int)) #366)
+#855 := (iff #369 #852)
+#853 := (iff #366 #366)
 #854 := [refl]: #853
 #856 := [quant-intro #854]: #855
-#148 := (* -1::int #142)
-#327 := (ite #309 #30 #148)
-#330 := (ite #12 0::int #327)
-#333 := (ite #13 #8 #330)
-#336 := (= #29 #333)
-#339 := (forall (vars (?v0 int) (?v1 int)) #336)
-#371 := (iff #339 #370)
-#368 := (iff #336 #367)
-#369 := [rewrite]: #368
-#372 := [quant-intro #369]: #371
-#117 := (not #116)
-#110 := (not #109)
-#120 := (and #110 #117)
-#106 := (not #105)
-#113 := (and #106 #110)
-#123 := (or #113 #120)
-#168 := (ite #123 #30 #148)
-#171 := (ite #12 0::int #168)
-#174 := (ite #13 #8 #171)
-#177 := (= #29 #174)
-#180 := (forall (vars (?v0 int) (?v1 int)) #177)
-#340 := (iff #180 #339)
-#337 := (iff #177 #336)
-#334 := (= #174 #333)
-#331 := (= #171 #330)
-#328 := (= #168 #327)
-#312 := (iff #123 #309)
-#306 := (or #303 #286)
-#310 := (iff #306 #309)
-#311 := [rewrite]: #310
-#307 := (iff #123 #306)
-#304 := (iff #120 #286)
-#305 := [rewrite]: #304
-#283 := (iff #113 #303)
-#284 := [rewrite]: #283
-#308 := [monotonicity #284 #305]: #307
-#313 := [trans #308 #311]: #312
-#329 := [monotonicity #313]: #328
-#332 := [monotonicity #329]: #331
-#335 := [monotonicity #332]: #334
-#338 := [monotonicity #335]: #337
-#341 := [quant-intro #338]: #340
-#275 := (~ #180 #180)
-#272 := (~ #177 #177)
-#291 := [refl]: #272
-#276 := [nnf-pos #291]: #275
+#147 := (* -1::int #141)
+#326 := (ite #308 #30 #147)
+#329 := (ite #12 0::int #326)
+#332 := (ite #13 #8 #329)
+#335 := (= #29 #332)
+#338 := (forall (vars (?v0 int) (?v1 int)) #335)
+#370 := (iff #338 #369)
+#367 := (iff #335 #366)
+#368 := [rewrite]: #367
+#371 := [quant-intro #368]: #370
+#116 := (not #115)
+#109 := (not #108)
+#119 := (and #109 #116)
+#105 := (not #104)
+#112 := (and #105 #109)
+#122 := (or #112 #119)
+#167 := (ite #122 #30 #147)
+#170 := (ite #12 0::int #167)
+#173 := (ite #13 #8 #170)
+#176 := (= #29 #173)
+#179 := (forall (vars (?v0 int) (?v1 int)) #176)
+#339 := (iff #179 #338)
+#336 := (iff #176 #335)
+#333 := (= #173 #332)
+#330 := (= #170 #329)
+#327 := (= #167 #326)
+#311 := (iff #122 #308)
+#305 := (or #302 #285)
+#309 := (iff #305 #308)
+#310 := [rewrite]: #309
+#306 := (iff #122 #305)
+#303 := (iff #119 #285)
+#304 := [rewrite]: #303
+#282 := (iff #112 #302)
+#283 := [rewrite]: #282
+#307 := [monotonicity #283 #304]: #306
+#312 := [trans #307 #310]: #311
+#328 := [monotonicity #312]: #327
+#331 := [monotonicity #328]: #330
+#334 := [monotonicity #331]: #333
+#337 := [monotonicity #334]: #336
+#340 := [quant-intro #337]: #339
+#274 := (~ #179 #179)
+#271 := (~ #176 #176)
+#290 := [refl]: #271
+#275 := [nnf-pos #290]: #274
 #23 := (- #9)
 #22 := (- #8)
 #31 := (mod #22 #23)
@@ -19121,228 +19449,204 @@
 #35 := (ite #13 #8 #34)
 #36 := (= #29 #35)
 #37 := (forall (vars (?v0 int) (?v1 int)) #36)
-#183 := (iff #37 #180)
-#77 := (and #16 #18)
-#80 := (or #17 #77)
-#153 := (ite #80 #30 #148)
-#156 := (ite #12 0::int #153)
-#159 := (ite #13 #8 #156)
-#162 := (= #29 #159)
-#165 := (forall (vars (?v0 int) (?v1 int)) #162)
-#181 := (iff #165 #180)
-#178 := (iff #162 #177)
-#175 := (= #159 #174)
-#172 := (= #156 #171)
-#169 := (= #153 #168)
-#124 := (iff #80 #123)
-#121 := (iff #77 #120)
-#118 := (iff #18 #117)
-#119 := [rewrite]: #118
-#111 := (iff #16 #110)
-#112 := [rewrite]: #111
-#122 := [monotonicity #112 #119]: #121
-#114 := (iff #17 #113)
-#107 := (iff #15 #106)
-#108 := [rewrite]: #107
-#115 := [monotonicity #108 #112]: #114
-#125 := [monotonicity #115 #122]: #124
-#170 := [monotonicity #125]: #169
-#173 := [monotonicity #170]: #172
-#176 := [monotonicity #173]: #175
-#179 := [monotonicity #176]: #178
-#182 := [quant-intro #179]: #181
-#166 := (iff #37 #165)
-#163 := (iff #36 #162)
-#160 := (= #35 #159)
-#157 := (= #34 #156)
-#154 := (= #33 #153)
-#151 := (= #32 #148)
-#145 := (- #142)
-#149 := (= #145 #148)
-#150 := [rewrite]: #149
-#146 := (= #32 #145)
-#143 := (= #31 #142)
-#88 := (= #23 #87)
-#89 := [rewrite]: #88
-#85 := (= #22 #84)
-#86 := [rewrite]: #85
-#144 := [monotonicity #86 #89]: #143
-#147 := [monotonicity #144]: #146
-#152 := [trans #147 #150]: #151
-#81 := (iff #20 #80)
-#78 := (iff #19 #77)
-#79 := [rewrite]: #78
-#82 := [monotonicity #79]: #81
-#155 := [monotonicity #82 #152]: #154
-#158 := [monotonicity #155]: #157
-#161 := [monotonicity #158]: #160
-#164 := [monotonicity #161]: #163
-#167 := [quant-intro #164]: #166
-#184 := [trans #167 #182]: #183
-#141 := [asserted]: #37
-#185 := [mp #141 #184]: #180
-#292 := [mp~ #185 #276]: #180
-#342 := [mp #292 #341]: #339
-#373 := [mp #342 #372]: #370
-#857 := [mp #373 #856]: #852
-#762 := (not #852)
-#763 := (or #762 #834)
-#431 := (* -1::int 3::int)
-#515 := (* -1::int 1::int)
-#516 := (mod #515 #431)
-#517 := (+ #55 #516)
-#508 := (= #517 0::int)
-#519 := (mod 1::int 3::int)
-#520 := (* -1::int #519)
-#521 := (+ #55 #520)
-#518 := (= #521 0::int)
-#522 := (<= 3::int 0::int)
-#501 := (<= 1::int 0::int)
-#836 := (or #501 #522)
+#182 := (iff #37 #179)
+#76 := (and #16 #18)
+#79 := (or #17 #76)
+#152 := (ite #79 #30 #147)
+#155 := (ite #12 0::int #152)
+#158 := (ite #13 #8 #155)
+#161 := (= #29 #158)
+#164 := (forall (vars (?v0 int) (?v1 int)) #161)
+#180 := (iff #164 #179)
+#177 := (iff #161 #176)
+#174 := (= #158 #173)
+#171 := (= #155 #170)
+#168 := (= #152 #167)
+#123 := (iff #79 #122)
+#120 := (iff #76 #119)
+#117 := (iff #18 #116)
+#118 := [rewrite]: #117
+#110 := (iff #16 #109)
+#111 := [rewrite]: #110
+#121 := [monotonicity #111 #118]: #120
+#113 := (iff #17 #112)
+#106 := (iff #15 #105)
+#107 := [rewrite]: #106
+#114 := [monotonicity #107 #111]: #113
+#124 := [monotonicity #114 #121]: #123
+#169 := [monotonicity #124]: #168
+#172 := [monotonicity #169]: #171
+#175 := [monotonicity #172]: #174
+#178 := [monotonicity #175]: #177
+#181 := [quant-intro #178]: #180
+#165 := (iff #37 #164)
+#162 := (iff #36 #161)
+#159 := (= #35 #158)
+#156 := (= #34 #155)
+#153 := (= #33 #152)
+#150 := (= #32 #147)
+#144 := (- #141)
+#148 := (= #144 #147)
+#149 := [rewrite]: #148
+#145 := (= #32 #144)
+#142 := (= #31 #141)
+#87 := (= #23 #86)
+#88 := [rewrite]: #87
+#84 := (= #22 #83)
+#85 := [rewrite]: #84
+#143 := [monotonicity #85 #88]: #142
+#146 := [monotonicity #143]: #145
+#151 := [trans #146 #149]: #150
+#80 := (iff #20 #79)
+#77 := (iff #19 #76)
+#78 := [rewrite]: #77
+#81 := [monotonicity #78]: #80
+#154 := [monotonicity #81 #151]: #153
+#157 := [monotonicity #154]: #156
+#160 := [monotonicity #157]: #159
+#163 := [monotonicity #160]: #162
+#166 := [quant-intro #163]: #165
+#183 := [trans #166 #181]: #182
+#140 := [asserted]: #37
+#184 := [mp #140 #183]: #179
+#291 := [mp~ #184 #275]: #179
+#341 := [mp #291 #340]: #338
+#372 := [mp #341 #371]: #369
+#857 := [mp #372 #856]: #852
+#777 := (not #852)
+#662 := (or #777 #832)
+#430 := (* -1::int 3::int)
+#515 := (mod #430 #430)
+#516 := (+ #54 #515)
+#517 := (= #516 0::int)
+#508 := (mod 3::int 3::int)
+#519 := (* -1::int #508)
+#520 := (+ #54 #519)
+#448 := (= #520 0::int)
+#521 := (<= 3::int 0::int)
+#518 := (or #521 #521)
+#522 := (not #518)
+#501 := (>= 3::int 0::int)
+#836 := (or #521 #501)
 #838 := (not #836)
-#495 := (>= 1::int 0::int)
-#625 := (or #522 #495)
-#832 := (not #625)
-#506 := (or #832 #838)
-#507 := (ite #506 #518 #508)
-#839 := (= #55 0::int)
-#840 := (= 1::int 0::int)
-#841 := (ite #840 #839 #507)
-#842 := (= 1::int #55)
-#837 := (= 3::int 0::int)
-#843 := (ite #837 #842 #841)
-#764 := (or #762 #843)
-#765 := (iff #764 #763)
-#750 := (iff #763 #763)
-#752 := [rewrite]: #750
-#772 := (iff #843 #834)
-#759 := (ite false #834 #834)
-#771 := (iff #759 #834)
-#767 := [rewrite]: #771
-#769 := (iff #843 #759)
-#760 := (iff #841 #834)
-#778 := (ite false #839 #834)
-#766 := (iff #778 #834)
-#768 := [rewrite]: #766
-#775 := (iff #841 #778)
-#684 := (iff #507 #834)
-#773 := -2::int
-#774 := (= #55 -2::int)
-#1 := true
-#680 := (ite true #834 #774)
-#682 := (iff #680 #834)
-#683 := [rewrite]: #682
-#673 := (iff #507 #680)
-#677 := (iff #508 #774)
-#795 := 2::int
-#782 := (+ 2::int #55)
-#628 := (= #782 0::int)
-#777 := (iff #628 #774)
-#662 := [rewrite]: #777
-#776 := (iff #508 #628)
-#668 := (= #517 #782)
-#781 := (+ #55 2::int)
-#785 := (= #781 #782)
-#667 := [rewrite]: #785
-#783 := (= #517 #781)
-#627 := (= #516 2::int)
-#792 := -3::int
-#793 := (mod -1::int -3::int)
-#624 := (= #793 2::int)
-#626 := [rewrite]: #624
-#794 := (= #516 #793)
-#786 := (= #431 -3::int)
-#787 := [rewrite]: #786
-#805 := (= #515 -1::int)
+#495 := (or #838 #522)
+#625 := (ite #495 #448 #517)
+#506 := (= 3::int 0::int)
+#507 := (ite #506 #832 #625)
+#839 := (= 3::int #54)
+#840 := (ite #506 #839 #507)
+#677 := (or #777 #840)
+#680 := (iff #677 #662)
+#681 := (iff #662 #662)
+#682 := [rewrite]: #681
+#773 := (iff #840 #832)
+#843 := (= #54 3::int)
+#668 := (ite false #843 #832)
+#776 := (iff #668 #832)
+#678 := [rewrite]: #776
+#669 := (iff #840 #668)
+#785 := (iff #507 #832)
+#780 := (ite false #832 #832)
+#784 := (iff #780 #832)
+#782 := [rewrite]: #784
+#781 := (iff #507 #780)
+#626 := (iff #625 #832)
+#1 := true
+#793 := (ite true #832 #832)
+#795 := (iff #793 #832)
+#624 := [rewrite]: #795
+#794 := (iff #625 #793)
+#786 := (iff #517 #832)
+#791 := (= #516 #54)
+#807 := (+ #54 0::int)
+#805 := (= #807 #54)
 #809 := [rewrite]: #805
-#788 := [monotonicity #809 #787]: #794
-#780 := [trans #788 #626]: #627
-#784 := [monotonicity #780]: #783
-#669 := [trans #784 #667]: #668
-#678 := [monotonicity #669]: #776
-#679 := [trans #678 #662]: #677
-#790 := (iff #518 #834)
-#796 := (+ -1::int #55)
-#804 := (= #796 0::int)
-#647 := (iff #804 #834)
-#789 := [rewrite]: #647
-#645 := (iff #518 #804)
-#803 := (= #521 #796)
-#799 := (+ #55 -1::int)
-#797 := (= #799 #796)
-#802 := [rewrite]: #797
-#800 := (= #521 #799)
-#806 := (= #520 -1::int)
-#808 := (= #520 #515)
-#529 := (= #519 1::int)
-#807 := [rewrite]: #529
-#523 := [monotonicity #807]: #808
-#810 := [trans #523 #809]: #806
-#801 := [monotonicity #810]: #800
-#798 := [trans #801 #802]: #803
-#646 := [monotonicity #798]: #645
-#791 := [trans #646 #789]: #790
-#527 := (iff #506 true)
-#485 := (or false true)
-#823 := (iff #485 true)
-#824 := [rewrite]: #823
-#816 := (iff #506 #485)
-#815 := (iff #838 true)
-#813 := (not false)
-#537 := (iff #813 true)
+#789 := (= #516 #807)
+#646 := (= #515 0::int)
+#801 := -3::int
+#802 := (mod -3::int -3::int)
+#804 := (= #802 0::int)
+#645 := [rewrite]: #804
+#803 := (= #515 #802)
+#796 := (= #430 -3::int)
+#797 := [rewrite]: #796
+#798 := [monotonicity #797 #797]: #803
+#647 := [trans #798 #645]: #646
+#790 := [monotonicity #647]: #789
+#792 := [trans #790 #809]: #791
+#787 := [monotonicity #792]: #786
+#799 := (iff #448 #832)
+#806 := (= #520 #54)
+#808 := (= #520 #807)
+#528 := (= #519 0::int)
+#815 := (* -1::int 0::int)
+#526 := (= #815 0::int)
+#527 := [rewrite]: #526
+#812 := (= #519 #815)
+#537 := (= #508 0::int)
 #811 := [rewrite]: #537
-#814 := (iff #838 #813)
-#543 := (iff #836 false)
-#817 := (or false false)
-#541 := (iff #817 false)
-#542 := [rewrite]: #541
-#818 := (iff #836 #817)
-#819 := (iff #522 false)
-#482 := [rewrite]: #819
-#828 := (iff #501 false)
-#831 := [rewrite]: #828
-#540 := [monotonicity #831 #482]: #818
-#437 := [trans #540 #542]: #543
-#536 := [monotonicity #437]: #814
-#812 := [trans #536 #811]: #815
-#470 := (iff #832 false)
-#826 := (not true)
-#829 := (iff #826 false)
-#469 := [rewrite]: #829
-#464 := (iff #832 #826)
-#825 := (iff #625 true)
-#821 := (iff #625 #485)
-#483 := (iff #495 true)
-#484 := [rewrite]: #483
-#822 := [monotonicity #482 #484]: #821
-#820 := [trans #822 #824]: #825
-#827 := [monotonicity #820]: #464
-#830 := [trans #827 #469]: #470
-#526 := [monotonicity #830 #812]: #816
-#528 := [trans #526 #824]: #527
-#681 := [monotonicity #528 #791 #679]: #673
-#685 := [trans #681 #683]: #684
-#835 := (iff #840 false)
-#478 := [rewrite]: #835
-#779 := [monotonicity #478 #685]: #775
-#757 := [trans #779 #768]: #760
-#498 := (iff #842 #834)
-#494 := [rewrite]: #498
-#833 := (iff #837 false)
-#493 := [rewrite]: #833
-#770 := [monotonicity #493 #494 #757]: #769
-#761 := [trans #770 #767]: #772
-#749 := [monotonicity #761]: #765
-#753 := [trans #749 #752]: #765
-#758 := [quant-inst]: #764
-#754 := [mp #758 #753]: #763
-#703 := [unit-resolution #754 #857]: #834
-#708 := [monotonicity #703]: #58
-#59 := (not #58)
-#271 := [asserted]: #59
-[unit-resolution #271 #708]: false
-unsat
-d5d2986a8efaefb5e38f30bc14afaad18d3334c6 848 0
+#816 := [monotonicity #811]: #812
+#529 := [trans #816 #527]: #528
+#523 := [monotonicity #529]: #808
+#810 := [trans #523 #809]: #806
+#800 := [monotonicity #810]: #799
+#814 := (iff #495 true)
+#835 := (or false true)
+#482 := (iff #835 true)
+#483 := [rewrite]: #482
+#436 := (iff #495 #835)
+#542 := (iff #522 true)
+#831 := (not false)
+#540 := (iff #831 true)
+#541 := [rewrite]: #540
+#817 := (iff #522 #831)
+#830 := (iff #518 false)
+#464 := (or false false)
+#469 := (iff #464 false)
+#470 := [rewrite]: #469
+#827 := (iff #518 #464)
+#493 := (iff #521 false)
+#498 := [rewrite]: #493
+#829 := [monotonicity #498 #498]: #827
+#828 := [trans #829 #470]: #830
+#818 := [monotonicity #828]: #817
+#543 := [trans #818 #541]: #542
+#820 := (iff #838 false)
+#821 := (not true)
+#824 := (iff #821 false)
+#825 := [rewrite]: #824
+#822 := (iff #838 #821)
+#484 := (iff #836 true)
+#478 := (iff #836 #835)
+#834 := (iff #501 true)
+#494 := [rewrite]: #834
+#819 := [monotonicity #498 #494]: #478
+#485 := [trans #819 #483]: #484
+#823 := [monotonicity #485]: #822
+#826 := [trans #823 #825]: #820
+#813 := [monotonicity #826 #543]: #436
+#536 := [trans #813 #483]: #814
+#788 := [monotonicity #536 #800 #787]: #794
+#627 := [trans #788 #624]: #626
+#841 := (iff #506 false)
+#842 := [rewrite]: #841
+#783 := [monotonicity #842 #627]: #781
+#667 := [trans #783 #782]: #785
+#837 := (iff #839 #843)
+#833 := [rewrite]: #837
+#628 := [monotonicity #842 #833 #667]: #669
+#774 := [trans #628 #678]: #773
+#673 := [monotonicity #774]: #680
+#683 := [trans #673 #682]: #680
+#679 := [quant-inst]: #677
+#684 := [mp #679 #683]: #662
+#704 := [unit-resolution #684 #857]: #832
+#700 := [monotonicity #704]: #57
+#58 := (not #57)
+#270 := [asserted]: #58
+[unit-resolution #270 #700]: false
+unsat
+dfe2acff8e1fa8b5c4e4ba1cf8fef0ce4556ee21 848 0
 #2 := false
 decl f5 :: (-> int S2)
 decl f6 :: (-> S2 int)
@@ -20191,311 +20495,7 @@
 #1103 := [trans #935 #1102]: #300
 [unit-resolution #308 #1103]: false
 unsat
-30266f09c986583d8c5407f4e044da694063d38f 303 0
-#2 := false
-decl f5 :: (-> int S2)
-#11 := 0::int
-#56 := (f5 0::int)
-decl f4 :: (-> int int int)
-#53 := 3::int
-#54 := (f4 3::int 3::int)
-#55 := (f5 #54)
-#57 := (= #55 #56)
-#832 := (= #54 0::int)
-#9 := (:var 0 int)
-#8 := (:var 1 int)
-#29 := (f4 #8 #9)
-#851 := (pattern #29)
-#82 := -1::int
-#86 := (* -1::int #9)
-#83 := (* -1::int #8)
-#141 := (mod #83 #86)
-#362 := (+ #29 #141)
-#363 := (= #362 0::int)
-#30 := (mod #8 #9)
-#359 := (* -1::int #30)
-#360 := (+ #29 #359)
-#361 := (= #360 0::int)
-#108 := (<= #9 0::int)
-#104 := (<= #8 0::int)
-#301 := (or #104 #108)
-#302 := (not #301)
-#115 := (>= #8 0::int)
-#284 := (or #108 #115)
-#285 := (not #284)
-#308 := (or #285 #302)
-#364 := (ite #308 #361 #363)
-#358 := (= #29 0::int)
-#12 := (= #8 0::int)
-#365 := (ite #12 #358 #364)
-#357 := (= #8 #29)
-#13 := (= #9 0::int)
-#366 := (ite #13 #357 #365)
-#852 := (forall (vars (?v0 int) (?v1 int)) (:pat #851) #366)
-#369 := (forall (vars (?v0 int) (?v1 int)) #366)
-#855 := (iff #369 #852)
-#853 := (iff #366 #366)
-#854 := [refl]: #853
-#856 := [quant-intro #854]: #855
-#147 := (* -1::int #141)
-#326 := (ite #308 #30 #147)
-#329 := (ite #12 0::int #326)
-#332 := (ite #13 #8 #329)
-#335 := (= #29 #332)
-#338 := (forall (vars (?v0 int) (?v1 int)) #335)
-#370 := (iff #338 #369)
-#367 := (iff #335 #366)
-#368 := [rewrite]: #367
-#371 := [quant-intro #368]: #370
-#116 := (not #115)
-#109 := (not #108)
-#119 := (and #109 #116)
-#105 := (not #104)
-#112 := (and #105 #109)
-#122 := (or #112 #119)
-#167 := (ite #122 #30 #147)
-#170 := (ite #12 0::int #167)
-#173 := (ite #13 #8 #170)
-#176 := (= #29 #173)
-#179 := (forall (vars (?v0 int) (?v1 int)) #176)
-#339 := (iff #179 #338)
-#336 := (iff #176 #335)
-#333 := (= #173 #332)
-#330 := (= #170 #329)
-#327 := (= #167 #326)
-#311 := (iff #122 #308)
-#305 := (or #302 #285)
-#309 := (iff #305 #308)
-#310 := [rewrite]: #309
-#306 := (iff #122 #305)
-#303 := (iff #119 #285)
-#304 := [rewrite]: #303
-#282 := (iff #112 #302)
-#283 := [rewrite]: #282
-#307 := [monotonicity #283 #304]: #306
-#312 := [trans #307 #310]: #311
-#328 := [monotonicity #312]: #327
-#331 := [monotonicity #328]: #330
-#334 := [monotonicity #331]: #333
-#337 := [monotonicity #334]: #336
-#340 := [quant-intro #337]: #339
-#274 := (~ #179 #179)
-#271 := (~ #176 #176)
-#290 := [refl]: #271
-#275 := [nnf-pos #290]: #274
-#23 := (- #9)
-#22 := (- #8)
-#31 := (mod #22 #23)
-#32 := (- #31)
-#16 := (< 0::int #9)
-#18 := (< #8 0::int)
-#19 := (and #18 #16)
-#15 := (< 0::int #8)
-#17 := (and #15 #16)
-#20 := (or #17 #19)
-#33 := (ite #20 #30 #32)
-#34 := (ite #12 0::int #33)
-#35 := (ite #13 #8 #34)
-#36 := (= #29 #35)
-#37 := (forall (vars (?v0 int) (?v1 int)) #36)
-#182 := (iff #37 #179)
-#76 := (and #16 #18)
-#79 := (or #17 #76)
-#152 := (ite #79 #30 #147)
-#155 := (ite #12 0::int #152)
-#158 := (ite #13 #8 #155)
-#161 := (= #29 #158)
-#164 := (forall (vars (?v0 int) (?v1 int)) #161)
-#180 := (iff #164 #179)
-#177 := (iff #161 #176)
-#174 := (= #158 #173)
-#171 := (= #155 #170)
-#168 := (= #152 #167)
-#123 := (iff #79 #122)
-#120 := (iff #76 #119)
-#117 := (iff #18 #116)
-#118 := [rewrite]: #117
-#110 := (iff #16 #109)
-#111 := [rewrite]: #110
-#121 := [monotonicity #111 #118]: #120
-#113 := (iff #17 #112)
-#106 := (iff #15 #105)
-#107 := [rewrite]: #106
-#114 := [monotonicity #107 #111]: #113
-#124 := [monotonicity #114 #121]: #123
-#169 := [monotonicity #124]: #168
-#172 := [monotonicity #169]: #171
-#175 := [monotonicity #172]: #174
-#178 := [monotonicity #175]: #177
-#181 := [quant-intro #178]: #180
-#165 := (iff #37 #164)
-#162 := (iff #36 #161)
-#159 := (= #35 #158)
-#156 := (= #34 #155)
-#153 := (= #33 #152)
-#150 := (= #32 #147)
-#144 := (- #141)
-#148 := (= #144 #147)
-#149 := [rewrite]: #148
-#145 := (= #32 #144)
-#142 := (= #31 #141)
-#87 := (= #23 #86)
-#88 := [rewrite]: #87
-#84 := (= #22 #83)
-#85 := [rewrite]: #84
-#143 := [monotonicity #85 #88]: #142
-#146 := [monotonicity #143]: #145
-#151 := [trans #146 #149]: #150
-#80 := (iff #20 #79)
-#77 := (iff #19 #76)
-#78 := [rewrite]: #77
-#81 := [monotonicity #78]: #80
-#154 := [monotonicity #81 #151]: #153
-#157 := [monotonicity #154]: #156
-#160 := [monotonicity #157]: #159
-#163 := [monotonicity #160]: #162
-#166 := [quant-intro #163]: #165
-#183 := [trans #166 #181]: #182
-#140 := [asserted]: #37
-#184 := [mp #140 #183]: #179
-#291 := [mp~ #184 #275]: #179
-#341 := [mp #291 #340]: #338
-#372 := [mp #341 #371]: #369
-#857 := [mp #372 #856]: #852
-#777 := (not #852)
-#662 := (or #777 #832)
-#430 := (* -1::int 3::int)
-#515 := (mod #430 #430)
-#516 := (+ #54 #515)
-#517 := (= #516 0::int)
-#508 := (mod 3::int 3::int)
-#519 := (* -1::int #508)
-#520 := (+ #54 #519)
-#448 := (= #520 0::int)
-#521 := (<= 3::int 0::int)
-#518 := (or #521 #521)
-#522 := (not #518)
-#501 := (>= 3::int 0::int)
-#836 := (or #521 #501)
-#838 := (not #836)
-#495 := (or #838 #522)
-#625 := (ite #495 #448 #517)
-#506 := (= 3::int 0::int)
-#507 := (ite #506 #832 #625)
-#839 := (= 3::int #54)
-#840 := (ite #506 #839 #507)
-#677 := (or #777 #840)
-#680 := (iff #677 #662)
-#681 := (iff #662 #662)
-#682 := [rewrite]: #681
-#773 := (iff #840 #832)
-#843 := (= #54 3::int)
-#668 := (ite false #843 #832)
-#776 := (iff #668 #832)
-#678 := [rewrite]: #776
-#669 := (iff #840 #668)
-#785 := (iff #507 #832)
-#780 := (ite false #832 #832)
-#784 := (iff #780 #832)
-#782 := [rewrite]: #784
-#781 := (iff #507 #780)
-#626 := (iff #625 #832)
-#1 := true
-#793 := (ite true #832 #832)
-#795 := (iff #793 #832)
-#624 := [rewrite]: #795
-#794 := (iff #625 #793)
-#786 := (iff #517 #832)
-#791 := (= #516 #54)
-#807 := (+ #54 0::int)
-#805 := (= #807 #54)
-#809 := [rewrite]: #805
-#789 := (= #516 #807)
-#646 := (= #515 0::int)
-#801 := -3::int
-#802 := (mod -3::int -3::int)
-#804 := (= #802 0::int)
-#645 := [rewrite]: #804
-#803 := (= #515 #802)
-#796 := (= #430 -3::int)
-#797 := [rewrite]: #796
-#798 := [monotonicity #797 #797]: #803
-#647 := [trans #798 #645]: #646
-#790 := [monotonicity #647]: #789
-#792 := [trans #790 #809]: #791
-#787 := [monotonicity #792]: #786
-#799 := (iff #448 #832)
-#806 := (= #520 #54)
-#808 := (= #520 #807)
-#528 := (= #519 0::int)
-#815 := (* -1::int 0::int)
-#526 := (= #815 0::int)
-#527 := [rewrite]: #526
-#812 := (= #519 #815)
-#537 := (= #508 0::int)
-#811 := [rewrite]: #537
-#816 := [monotonicity #811]: #812
-#529 := [trans #816 #527]: #528
-#523 := [monotonicity #529]: #808
-#810 := [trans #523 #809]: #806
-#800 := [monotonicity #810]: #799
-#814 := (iff #495 true)
-#835 := (or false true)
-#482 := (iff #835 true)
-#483 := [rewrite]: #482
-#436 := (iff #495 #835)
-#542 := (iff #522 true)
-#831 := (not false)
-#540 := (iff #831 true)
-#541 := [rewrite]: #540
-#817 := (iff #522 #831)
-#830 := (iff #518 false)
-#464 := (or false false)
-#469 := (iff #464 false)
-#470 := [rewrite]: #469
-#827 := (iff #518 #464)
-#493 := (iff #521 false)
-#498 := [rewrite]: #493
-#829 := [monotonicity #498 #498]: #827
-#828 := [trans #829 #470]: #830
-#818 := [monotonicity #828]: #817
-#543 := [trans #818 #541]: #542
-#820 := (iff #838 false)
-#821 := (not true)
-#824 := (iff #821 false)
-#825 := [rewrite]: #824
-#822 := (iff #838 #821)
-#484 := (iff #836 true)
-#478 := (iff #836 #835)
-#834 := (iff #501 true)
-#494 := [rewrite]: #834
-#819 := [monotonicity #498 #494]: #478
-#485 := [trans #819 #483]: #484
-#823 := [monotonicity #485]: #822
-#826 := [trans #823 #825]: #820
-#813 := [monotonicity #826 #543]: #436
-#536 := [trans #813 #483]: #814
-#788 := [monotonicity #536 #800 #787]: #794
-#627 := [trans #788 #624]: #626
-#841 := (iff #506 false)
-#842 := [rewrite]: #841
-#783 := [monotonicity #842 #627]: #781
-#667 := [trans #783 #782]: #785
-#837 := (iff #839 #843)
-#833 := [rewrite]: #837
-#628 := [monotonicity #842 #833 #667]: #669
-#774 := [trans #628 #678]: #773
-#673 := [monotonicity #774]: #680
-#683 := [trans #673 #682]: #680
-#679 := [quant-inst]: #677
-#684 := [mp #679 #683]: #662
-#704 := [unit-resolution #684 #857]: #832
-#700 := [monotonicity #704]: #57
-#58 := (not #57)
-#270 := [asserted]: #58
-[unit-resolution #270 #700]: false
-unsat
-29a274d82d7dfcc17be98231a7a95a9ec14cd706 533 0
+ca0580f7bff73a2d860730ec786524526e0ba0ea 533 0
 #2 := false
 #55 := 3::int
 decl f6 :: (-> S2 int)
@@ -21029,7 +21029,7 @@
 #594 := [unit-resolution #608 #604]: #802
 [th-lemma #594 #286 #627 #636]: false
 unsat
-7c27e22543c792c36da02bc4168bcd3f7ce7432d 961 0
+a9c34a43767d7d2678eb5dde12b17fe190a6efe1 961 0
 #2 := false
 decl f5 :: (-> int S2)
 decl f6 :: (-> S2 int)
@@ -21991,7 +21991,7 @@
 #1225 := [trans #1224 #1218]: #301
 [unit-resolution #309 #1225]: false
 unsat
-914ab31d83892bfaa2a8848c9049be9e1ce2cb06 671 0
+5967f5c1592ecf001d4f064122298df3a0ca76b7 671 0
 #2 := false
 decl f6 :: (-> S2 int)
 decl f5 :: (-> int S2)
@@ -22663,7 +22663,7 @@
 #507 := [unit-resolution #504 #503]: #806
 [unit-resolution #507 #477]: false
 unsat
-85ac6a29deaf91400dbfbdf638baba5914d49e18 60 0
+b7e0eef92ca8fea2ccc91684e833dc3dce9b2d04 60 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -22724,7 +22724,68 @@
 #630 := [unit-resolution #632 #631]: #266
 [th-lemma #159 #629 #630]: false
 unsat
-d84df414dbdb37289879fadf547b4a4bc9c68951 60 0
+5617bc6b938b986893bfcfa7ce1760c2311e1366 60 0
+#2 := false
+#13 := 0::int
+decl f4 :: (-> S2 int)
+decl f6 :: S2
+#27 := f6
+#28 := (f4 f6)
+decl f5 :: S2
+#25 := f5
+#26 := (f4 f5)
+#137 := -1::int
+#138 := (* -1::int #28)
+#139 := (+ #26 #138)
+#140 := (<= #139 0::int)
+#143 := (ite #140 #26 #28)
+#150 := (* -1::int #143)
+#151 := (+ #28 #150)
+#149 := (>= #151 0::int)
+#156 := (not #149)
+#29 := (<= #26 #28)
+#30 := (ite #29 #26 #28)
+#31 := (<= #30 #28)
+#32 := (not #31)
+#157 := (iff #32 #156)
+#154 := (iff #31 #149)
+#146 := (<= #143 #28)
+#152 := (iff #146 #149)
+#153 := [rewrite]: #152
+#147 := (iff #31 #146)
+#144 := (= #30 #143)
+#141 := (iff #29 #140)
+#142 := [rewrite]: #141
+#145 := [monotonicity #142]: #144
+#148 := [monotonicity #145]: #147
+#155 := [trans #148 #153]: #154
+#158 := [monotonicity #155]: #157
+#134 := [asserted]: #32
+#159 := [mp #134 #158]: #156
+#317 := (= #28 #143)
+#232 := (not #140)
+#625 := [hypothesis]: #140
+#637 := (+ #26 #150)
+#624 := (>= #637 0::int)
+#231 := (= #26 #143)
+#318 := (or #232 #231)
+#319 := [def-axiom]: #318
+#626 := [unit-resolution #319 #625]: #231
+#627 := (not #231)
+#622 := (or #627 #624)
+#628 := [th-lemma]: #622
+#266 := [unit-resolution #628 #626]: #624
+#629 := [th-lemma #266 #159 #625]: false
+#631 := [lemma #629]: #232
+#310 := (or #140 #317)
+#321 := [def-axiom]: #310
+#271 := [unit-resolution #321 #631]: #317
+#272 := (not #317)
+#632 := (or #272 #149)
+#630 := [th-lemma]: #632
+[unit-resolution #630 #271 #159]: false
+unsat
+050c8f359b390869bd7cdf1db28b2773829a0360 60 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -22785,129 +22846,7 @@
 #630 := [th-lemma]: #632
 [unit-resolution #630 #271 #159]: false
 unsat
-ec431e8216f1d8b2f670cdb0885c1e07fa83e950 60 0
-#2 := false
-#13 := 0::int
-decl f4 :: (-> S2 int)
-decl f6 :: S2
-#27 := f6
-#28 := (f4 f6)
-decl f5 :: S2
-#25 := f5
-#26 := (f4 f5)
-#137 := -1::int
-#138 := (* -1::int #28)
-#139 := (+ #26 #138)
-#140 := (<= #139 0::int)
-#143 := (ite #140 #26 #28)
-#150 := (* -1::int #143)
-#151 := (+ #28 #150)
-#149 := (>= #151 0::int)
-#156 := (not #149)
-#29 := (<= #26 #28)
-#30 := (ite #29 #26 #28)
-#31 := (<= #30 #28)
-#32 := (not #31)
-#157 := (iff #32 #156)
-#154 := (iff #31 #149)
-#146 := (<= #143 #28)
-#152 := (iff #146 #149)
-#153 := [rewrite]: #152
-#147 := (iff #31 #146)
-#144 := (= #30 #143)
-#141 := (iff #29 #140)
-#142 := [rewrite]: #141
-#145 := [monotonicity #142]: #144
-#148 := [monotonicity #145]: #147
-#155 := [trans #148 #153]: #154
-#158 := [monotonicity #155]: #157
-#134 := [asserted]: #32
-#159 := [mp #134 #158]: #156
-#317 := (= #28 #143)
-#232 := (not #140)
-#625 := [hypothesis]: #140
-#637 := (+ #26 #150)
-#624 := (>= #637 0::int)
-#231 := (= #26 #143)
-#318 := (or #232 #231)
-#319 := [def-axiom]: #318
-#626 := [unit-resolution #319 #625]: #231
-#627 := (not #231)
-#622 := (or #627 #624)
-#628 := [th-lemma]: #622
-#266 := [unit-resolution #628 #626]: #624
-#629 := [th-lemma #266 #159 #625]: false
-#631 := [lemma #629]: #232
-#310 := (or #140 #317)
-#321 := [def-axiom]: #310
-#271 := [unit-resolution #321 #631]: #317
-#272 := (not #317)
-#632 := (or #272 #149)
-#630 := [th-lemma]: #632
-[unit-resolution #630 #271 #159]: false
-unsat
-2abc216904909a8ab09db7d8ddd5116874c405b2 60 0
-#2 := false
-#13 := 0::int
-decl f4 :: (-> S2 int)
-decl f6 :: S2
-#27 := f6
-#28 := (f4 f6)
-decl f5 :: S2
-#25 := f5
-#26 := (f4 f5)
-#137 := -1::int
-#140 := (* -1::int #28)
-#141 := (+ #26 #140)
-#139 := (>= #141 0::int)
-#143 := (ite #139 #26 #28)
-#149 := (* -1::int #143)
-#637 := (+ #28 #149)
-#628 := (<= #637 0::int)
-#317 := (= #28 #143)
-#232 := (not #139)
-#231 := (= #26 #143)
-#624 := (not #231)
-#150 := (+ #26 #149)
-#151 := (<= #150 0::int)
-#156 := (not #151)
-#29 := (<= #28 #26)
-#30 := (ite #29 #26 #28)
-#31 := (<= #26 #30)
-#32 := (not #31)
-#157 := (iff #32 #156)
-#154 := (iff #31 #151)
-#146 := (<= #26 #143)
-#152 := (iff #146 #151)
-#153 := [rewrite]: #152
-#147 := (iff #31 #146)
-#144 := (= #30 #143)
-#138 := (iff #29 #139)
-#142 := [rewrite]: #138
-#145 := [monotonicity #142]: #144
-#148 := [monotonicity #145]: #147
-#155 := [trans #148 #153]: #154
-#158 := [monotonicity #155]: #157
-#134 := [asserted]: #32
-#159 := [mp #134 #158]: #156
-#280 := [hypothesis]: #231
-#625 := (or #624 #151)
-#626 := [th-lemma]: #625
-#627 := [unit-resolution #626 #280 #159]: false
-#622 := [lemma #627]: #624
-#318 := (or #232 #231)
-#319 := [def-axiom]: #318
-#629 := [unit-resolution #319 #622]: #232
-#310 := (or #139 #317)
-#321 := [def-axiom]: #310
-#631 := [unit-resolution #321 #629]: #317
-#271 := (not #317)
-#272 := (or #271 #628)
-#632 := [th-lemma]: #272
-#630 := [unit-resolution #632 #631]: #628
-[th-lemma #159 #629 #630]: false
-unsat
-db10b3baed96f5ad894a70d823fdba86b4614481 253 0
+04cc411b96731925afb67c561af17d4cb6d68cf0 253 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -23161,7 +23100,172 @@
 #473 := [lemma #472]: #233
 [unit-resolution #631 #473 #487]: false
 unsat
-14969492cac173e86b554790b2b1280f30825e8b 437 0
+80aafa9ce13a262b7746b90465ebd387a9798fb0 60 0
+#2 := false
+#13 := 0::int
+decl f4 :: (-> S2 int)
+decl f6 :: S2
+#27 := f6
+#28 := (f4 f6)
+decl f5 :: S2
+#25 := f5
+#26 := (f4 f5)
+#137 := -1::int
+#140 := (* -1::int #28)
+#141 := (+ #26 #140)
+#139 := (>= #141 0::int)
+#143 := (ite #139 #26 #28)
+#149 := (* -1::int #143)
+#637 := (+ #28 #149)
+#628 := (<= #637 0::int)
+#317 := (= #28 #143)
+#232 := (not #139)
+#231 := (= #26 #143)
+#624 := (not #231)
+#150 := (+ #26 #149)
+#151 := (<= #150 0::int)
+#156 := (not #151)
+#29 := (<= #28 #26)
+#30 := (ite #29 #26 #28)
+#31 := (<= #26 #30)
+#32 := (not #31)
+#157 := (iff #32 #156)
+#154 := (iff #31 #151)
+#146 := (<= #26 #143)
+#152 := (iff #146 #151)
+#153 := [rewrite]: #152
+#147 := (iff #31 #146)
+#144 := (= #30 #143)
+#138 := (iff #29 #139)
+#142 := [rewrite]: #138
+#145 := [monotonicity #142]: #144
+#148 := [monotonicity #145]: #147
+#155 := [trans #148 #153]: #154
+#158 := [monotonicity #155]: #157
+#134 := [asserted]: #32
+#159 := [mp #134 #158]: #156
+#280 := [hypothesis]: #231
+#625 := (or #624 #151)
+#626 := [th-lemma]: #625
+#627 := [unit-resolution #626 #280 #159]: false
+#622 := [lemma #627]: #624
+#318 := (or #232 #231)
+#319 := [def-axiom]: #318
+#629 := [unit-resolution #319 #622]: #232
+#310 := (or #139 #317)
+#321 := [def-axiom]: #310
+#631 := [unit-resolution #321 #629]: #317
+#271 := (not #317)
+#272 := (or #271 #628)
+#632 := [th-lemma]: #272
+#630 := [unit-resolution #632 #631]: #628
+[th-lemma #159 #629 #630]: false
+unsat
+afcf8a254d165c5e9d701ed584fa3d55dcc74a09 103 0
+#2 := false
+#13 := 0::int
+decl f4 :: (-> S2 int)
+decl f7 :: S2
+#30 := f7
+#31 := (f4 f7)
+decl f6 :: S2
+#27 := f6
+#28 := (f4 f6)
+#143 := -1::int
+#146 := (* -1::int #31)
+#150 := (+ #28 #146)
+#151 := (<= #150 0::int)
+#154 := (ite #151 #28 #31)
+#162 := (* -1::int #154)
+decl f5 :: S2
+#25 := f5
+#26 := (f4 f5)
+#163 := (+ #26 #162)
+#161 := (>= #163 0::int)
+#177 := (* -1::int #28)
+#178 := (+ #26 #177)
+#176 := (>= #178 0::int)
+#175 := (not #176)
+#147 := (+ #26 #146)
+#145 := (>= #147 0::int)
+#144 := (not #145)
+#187 := (and #144 #161 #175)
+#33 := (<= #28 #31)
+#34 := (ite #33 #28 #31)
+#35 := (< #26 #34)
+#36 := (not #35)
+#32 := (< #26 #31)
+#37 := (and #32 #36)
+#29 := (< #26 #28)
+#38 := (and #29 #37)
+#190 := (iff #38 #187)
+#181 := (and #144 #161)
+#184 := (and #175 #181)
+#188 := (iff #184 #187)
+#189 := [rewrite]: #188
+#185 := (iff #38 #184)
+#182 := (iff #37 #181)
+#173 := (iff #36 #161)
+#160 := (not #161)
+#168 := (not #160)
+#171 := (iff #168 #161)
+#172 := [rewrite]: #171
+#169 := (iff #36 #168)
+#166 := (iff #35 #160)
+#157 := (< #26 #154)
+#164 := (iff #157 #160)
+#165 := [rewrite]: #164
+#158 := (iff #35 #157)
+#155 := (= #34 #154)
+#152 := (iff #33 #151)
+#153 := [rewrite]: #152
+#156 := [monotonicity #153]: #155
+#159 := [monotonicity #156]: #158
+#167 := [trans #159 #165]: #166
+#170 := [monotonicity #167]: #169
+#174 := [trans #170 #172]: #173
+#148 := (iff #32 #144)
+#149 := [rewrite]: #148
+#183 := [monotonicity #149 #174]: #182
+#179 := (iff #29 #175)
+#180 := [rewrite]: #179
+#186 := [monotonicity #180 #183]: #185
+#191 := [trans #186 #189]: #190
+#140 := [asserted]: #38
+#192 := [mp #140 #191]: #187
+#194 := [and-elim #192]: #161
+#193 := [and-elim #192]: #144
+#365 := (+ #31 #162)
+#638 := (<= #365 0::int)
+#353 := (= #31 #154)
+#268 := (not #151)
+#267 := (= #28 #154)
+#643 := (not #267)
+#652 := (+ #28 #162)
+#374 := (<= #652 0::int)
+#645 := (not #374)
+#195 := [and-elim #192]: #175
+#366 := [hypothesis]: #374
+#367 := [th-lemma #366 #195 #194]: false
+#646 := [lemma #367]: #645
+#361 := [hypothesis]: #267
+#647 := (or #643 #374)
+#644 := [th-lemma]: #647
+#648 := [unit-resolution #644 #361 #646]: false
+#637 := [lemma #648]: #643
+#354 := (or #268 #267)
+#355 := [def-axiom]: #354
+#634 := [unit-resolution #355 #637]: #268
+#346 := (or #151 #353)
+#357 := [def-axiom]: #346
+#635 := [unit-resolution #357 #634]: #353
+#640 := (not #353)
+#641 := (or #640 #638)
+#636 := [th-lemma]: #641
+#642 := [unit-resolution #636 #635]: #638
+[th-lemma #642 #193 #194]: false
+unsat
+b9568adc9ac22f504348a42395408d6d8271d777 437 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -23599,111 +23703,7 @@
 #462 := [unit-resolution #492 #479]: #669
 [th-lemma #462 #528 #194 #475 #461]: false
 unsat
-89bc3a6333da51700f7daac14eb84da9abc113a1 103 0
-#2 := false
-#13 := 0::int
-decl f4 :: (-> S2 int)
-decl f7 :: S2
-#30 := f7
-#31 := (f4 f7)
-decl f6 :: S2
-#27 := f6
-#28 := (f4 f6)
-#143 := -1::int
-#146 := (* -1::int #31)
-#150 := (+ #28 #146)
-#151 := (<= #150 0::int)
-#154 := (ite #151 #28 #31)
-#162 := (* -1::int #154)
-decl f5 :: S2
-#25 := f5
-#26 := (f4 f5)
-#163 := (+ #26 #162)
-#161 := (>= #163 0::int)
-#177 := (* -1::int #28)
-#178 := (+ #26 #177)
-#176 := (>= #178 0::int)
-#175 := (not #176)
-#147 := (+ #26 #146)
-#145 := (>= #147 0::int)
-#144 := (not #145)
-#187 := (and #144 #161 #175)
-#33 := (<= #28 #31)
-#34 := (ite #33 #28 #31)
-#35 := (< #26 #34)
-#36 := (not #35)
-#32 := (< #26 #31)
-#37 := (and #32 #36)
-#29 := (< #26 #28)
-#38 := (and #29 #37)
-#190 := (iff #38 #187)
-#181 := (and #144 #161)
-#184 := (and #175 #181)
-#188 := (iff #184 #187)
-#189 := [rewrite]: #188
-#185 := (iff #38 #184)
-#182 := (iff #37 #181)
-#173 := (iff #36 #161)
-#160 := (not #161)
-#168 := (not #160)
-#171 := (iff #168 #161)
-#172 := [rewrite]: #171
-#169 := (iff #36 #168)
-#166 := (iff #35 #160)
-#157 := (< #26 #154)
-#164 := (iff #157 #160)
-#165 := [rewrite]: #164
-#158 := (iff #35 #157)
-#155 := (= #34 #154)
-#152 := (iff #33 #151)
-#153 := [rewrite]: #152
-#156 := [monotonicity #153]: #155
-#159 := [monotonicity #156]: #158
-#167 := [trans #159 #165]: #166
-#170 := [monotonicity #167]: #169
-#174 := [trans #170 #172]: #173
-#148 := (iff #32 #144)
-#149 := [rewrite]: #148
-#183 := [monotonicity #149 #174]: #182
-#179 := (iff #29 #175)
-#180 := [rewrite]: #179
-#186 := [monotonicity #180 #183]: #185
-#191 := [trans #186 #189]: #190
-#140 := [asserted]: #38
-#192 := [mp #140 #191]: #187
-#194 := [and-elim #192]: #161
-#193 := [and-elim #192]: #144
-#365 := (+ #31 #162)
-#638 := (<= #365 0::int)
-#353 := (= #31 #154)
-#268 := (not #151)
-#267 := (= #28 #154)
-#643 := (not #267)
-#652 := (+ #28 #162)
-#374 := (<= #652 0::int)
-#645 := (not #374)
-#195 := [and-elim #192]: #175
-#366 := [hypothesis]: #374
-#367 := [th-lemma #366 #195 #194]: false
-#646 := [lemma #367]: #645
-#361 := [hypothesis]: #267
-#647 := (or #643 #374)
-#644 := [th-lemma]: #647
-#648 := [unit-resolution #644 #361 #646]: false
-#637 := [lemma #648]: #643
-#354 := (or #268 #267)
-#355 := [def-axiom]: #354
-#634 := [unit-resolution #355 #637]: #268
-#346 := (or #151 #353)
-#357 := [def-axiom]: #346
-#635 := [unit-resolution #357 #634]: #353
-#640 := (not #353)
-#641 := (or #640 #638)
-#636 := [th-lemma]: #641
-#642 := [unit-resolution #636 #635]: #638
-[th-lemma #642 #193 #194]: false
-unsat
-c39739842d64e1dca61912be5a777a90f01e28fd 117 0
+caea920980c91680caa298496d6beb2d2bf61295 117 0
 #2 := false
 decl f3 :: (-> int S2)
 decl f4 :: (-> S2 int)
@@ -23821,7 +23821,7 @@
 #559 := [trans #554 #555]: #162
 [unit-resolution #168 #559]: false
 unsat
-452992a55139d640bc8969517cd3166d0f13bb37 103 0
+d7b83db7c0c4e066fdea2d94e35ab3cc620d56df 103 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -23925,7 +23925,7 @@
 #642 := [unit-resolution #636 #635]: #639
 [th-lemma #642 #195 #194]: false
 unsat
-c3edc6cce39c9c380e8b07a4426540e2db018197 156 0
+140237685072a702cc83b447cdc8b15858b3f321 156 0
 #2 := false
 decl f3 :: (-> int S2)
 #13 := 0::int
@@ -24082,7 +24082,7 @@
 #134 := [asserted]: #32
 [unit-resolution #134 #583]: false
 unsat
-c2cc039657273f4c31549e108b87c8f33092d45f 119 0
+7941a5e6f861d5ba779c3ff6672cac31550af836 119 0
 #2 := false
 decl f3 :: (-> int S2)
 decl f4 :: (-> S2 int)
@@ -24202,7 +24202,7 @@
 #540 := [trans #557 #539]: #162
 [unit-resolution #168 #540]: false
 unsat
-a6a23143d2240b5fcacf31f97f0b436ce20b01cf 164 0
+fbf28453c2565ae4248c42863556e4f8088a62a2 164 0
 #2 := false
 decl f3 :: (-> int S2)
 decl f4 :: (-> S2 int)
@@ -24367,7 +24367,7 @@
 #142 := [mp #133 #139]: #137
 [unit-resolution #142 #586]: false
 unsat
-f5e2e20fb8c501f38b6d2f15c9fef9418df3a3f5 139 0
+c457a6610bcddee5fbeec4bb3572ce6f1d88807f 139 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -24507,25 +24507,7 @@
 #260 := [th-lemma]: #618
 [unit-resolution #260 #139 #617]: false
 unsat
-88db0d3335480a81cfc5f118ecaef1678c52c57c 17 0
-#2 := false
-#8 := 0::int
-#9 := (= 0::int 0::int)
-#10 := (not #9)
-#35 := (iff #10 false)
-#1 := true
-#30 := (not true)
-#33 := (iff #30 false)
-#34 := [rewrite]: #33
-#31 := (iff #10 #30)
-#28 := (iff #9 true)
-#29 := [rewrite]: #28
-#32 := [monotonicity #29]: #31
-#36 := [trans #32 #34]: #35
-#27 := [asserted]: #10
-[mp #27 #36]: false
-unsat
-3413e63e105cab337755fe6950808ba664d2597a 75 0
+f025d25f9f9c8e38fac474962b7f2dfba4e1a07a 75 0
 #2 := false
 decl f3 :: (-> int S2)
 #28 := 1::int
@@ -24601,33 +24583,7 @@
 #153 := [and-elim #151]: #32
 [unit-resolution #153 #339]: false
 unsat
-3bd4cf5a7808f0310fbc231a810dbf418d0f69cc 25 0
-#2 := false
-#8 := 0::int
-#9 := (- 0::int)
-#10 := (= 0::int #9)
-#11 := (not #10)
-#43 := (iff #11 false)
-#1 := true
-#38 := (not true)
-#41 := (iff #38 false)
-#42 := [rewrite]: #41
-#39 := (iff #11 #38)
-#36 := (iff #10 true)
-#31 := (= 0::int 0::int)
-#34 := (iff #31 true)
-#35 := [rewrite]: #34
-#32 := (iff #10 #31)
-#29 := (= #9 0::int)
-#30 := [rewrite]: #29
-#33 := [monotonicity #30]: #32
-#37 := [trans #33 #35]: #36
-#40 := [monotonicity #37]: #39
-#44 := [trans #40 #42]: #43
-#28 := [asserted]: #11
-[mp #28 #44]: false
-unsat
-7c99e4c706a5bfe7c4bac45e274e4bb5f5ba171b 20 0
+c8f2ead1c220dd8ed211af0515b88614b1941079 20 0
 #2 := false
 decl f4 :: (-> S2 int)
 decl f5 :: S2
@@ -24648,25 +24604,7 @@
 #130 := [asserted]: #28
 [mp #130 #141]: false
 unsat
-575466500975f7b2e0bdbc552a0711af0164ab2f 17 0
-#2 := false
-#8 := 1::int
-#9 := (= 1::int 1::int)
-#10 := (not #9)
-#35 := (iff #10 false)
-#1 := true
-#30 := (not true)
-#33 := (iff #30 false)
-#34 := [rewrite]: #33
-#31 := (iff #10 #30)
-#28 := (iff #9 true)
-#29 := [rewrite]: #28
-#32 := [monotonicity #29]: #31
-#36 := [trans #32 #34]: #35
-#27 := [asserted]: #10
-[mp #27 #36]: false
-unsat
-2c1b55c23f4e7de8da8d5f6f9bfa461e094d5fdc 319 0
+747cc264821ac8db5ad7ac37788ade0f4e407c6a 319 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -24986,83 +24924,51 @@
 #507 := [unit-resolution #506 #504]: #623
 [th-lemma #507 #516 #163 #162]: false
 unsat
-a2fa5e02114a58b8161c5f17b5db7f1bd8de21cc 34 0
-#2 := false
-#8 := 1::int
-#9 := (- 1::int)
-#10 := (= #9 1::int)
+ee051bde3c817c0890ce724f834fd4253b261c0e 17 0
+#2 := false
+#8 := 0::int
+#9 := (= 0::int 0::int)
+#10 := (not #9)
+#35 := (iff #10 false)
+#1 := true
+#30 := (not true)
+#33 := (iff #30 false)
+#34 := [rewrite]: #33
+#31 := (iff #10 #30)
+#28 := (iff #9 true)
+#29 := [rewrite]: #28
+#32 := [monotonicity #29]: #31
+#36 := [trans #32 #34]: #35
+#27 := [asserted]: #10
+[mp #27 #36]: false
+unsat
+28a8e8694abd02c43e1fd53f8a8f970f52a27053 25 0
+#2 := false
+#8 := 0::int
+#9 := (- 0::int)
+#10 := (= 0::int #9)
 #11 := (not #10)
-#12 := (not #11)
-#52 := (iff #12 false)
-#1 := true
-#47 := (not true)
-#50 := (iff #47 false)
-#51 := [rewrite]: #50
-#48 := (iff #12 #47)
-#45 := (iff #11 true)
-#40 := (not false)
-#43 := (iff #40 true)
-#44 := [rewrite]: #43
-#41 := (iff #11 #40)
-#38 := (iff #10 false)
-#30 := -1::int
-#33 := (= -1::int 1::int)
-#36 := (iff #33 false)
-#37 := [rewrite]: #36
-#34 := (iff #10 #33)
-#31 := (= #9 -1::int)
-#32 := [rewrite]: #31
-#35 := [monotonicity #32]: #34
-#39 := [trans #35 #37]: #38
-#42 := [monotonicity #39]: #41
-#46 := [trans #42 #44]: #45
-#49 := [monotonicity #46]: #48
-#53 := [trans #49 #51]: #52
-#29 := [asserted]: #12
-[mp #29 #53]: false
-unsat
-833da25c34dad32196cafeb37ee24e9c4b09f5e6 40 0
-#2 := false
-#12 := 567::int
-#10 := 345::int
-#8 := 123::int
-#9 := (- 123::int)
-#11 := (+ #9 345::int)
-#13 := (< #11 567::int)
-#14 := (not #13)
-#58 := (iff #14 false)
-#38 := 222::int
-#43 := (< 222::int 567::int)
-#46 := (not #43)
-#56 := (iff #46 false)
-#1 := true
-#51 := (not true)
-#54 := (iff #51 false)
-#55 := [rewrite]: #54
-#52 := (iff #46 #51)
-#49 := (iff #43 true)
-#50 := [rewrite]: #49
-#53 := [monotonicity #50]: #52
-#57 := [trans #53 #55]: #56
-#47 := (iff #14 #46)
-#44 := (iff #13 #43)
-#41 := (= #11 222::int)
-#32 := -123::int
-#35 := (+ -123::int 345::int)
-#39 := (= #35 222::int)
-#40 := [rewrite]: #39
-#36 := (= #11 #35)
-#33 := (= #9 -123::int)
-#34 := [rewrite]: #33
-#37 := [monotonicity #34]: #36
-#42 := [trans #37 #40]: #41
-#45 := [monotonicity #42]: #44
-#48 := [monotonicity #45]: #47
-#59 := [trans #48 #57]: #58
-#31 := [asserted]: #14
-[mp #31 #59]: false
-unsat
-b1d5ad1c199444dbf6fe73759c2c90d7c60b146e 325 0
+#43 := (iff #11 false)
+#1 := true
+#38 := (not true)
+#41 := (iff #38 false)
+#42 := [rewrite]: #41
+#39 := (iff #11 #38)
+#36 := (iff #10 true)
+#31 := (= 0::int 0::int)
+#34 := (iff #31 true)
+#35 := [rewrite]: #34
+#32 := (iff #10 #31)
+#29 := (= #9 0::int)
+#30 := [rewrite]: #29
+#33 := [monotonicity #30]: #32
+#37 := [trans #33 #35]: #36
+#40 := [monotonicity #37]: #39
+#44 := [trans #40 #42]: #43
+#28 := [asserted]: #11
+[mp #28 #44]: false
+unsat
+0df3e9ed226dfff3cefc71e4bc79cb937d7b5379 325 0
 #2 := false
 #13 := 0::int
 decl f4 :: (-> S2 int)
@@ -25388,38 +25294,60 @@
 #515 := [th-lemma]: #519
 [unit-resolution #515 #510 #517]: false
 unsat
-94a3c69e40ab8834fda1414aac36766b6e6d0448 30 0
-#2 := false
-#10 := 2345678901::int
-#8 := 123456789::int
-#9 := (- 123456789::int)
-#11 := (< #9 2345678901::int)
+7e2eed6546d767248580207671baf3c1fef46bda 17 0
+#2 := false
+#8 := 1::int
+#9 := (= 1::int 1::int)
+#10 := (not #9)
+#35 := (iff #10 false)
+#1 := true
+#30 := (not true)
+#33 := (iff #30 false)
+#34 := [rewrite]: #33
+#31 := (iff #10 #30)
+#28 := (iff #9 true)
+#29 := [rewrite]: #28
+#32 := [monotonicity #29]: #31
+#36 := [trans #32 #34]: #35
+#27 := [asserted]: #10
+[mp #27 #36]: false
+unsat
+83be50b0dfcaa8788a3a347c206dfe65b71396c0 34 0
+#2 := false
+#8 := 1::int
+#9 := (- 1::int)
+#10 := (= #9 1::int)
+#11 := (not #10)
 #12 := (not #11)
-#48 := (iff #12 false)
-#30 := -123456789::int
-#33 := (< -123456789::int 2345678901::int)
-#36 := (not #33)
-#46 := (iff #36 false)
-#1 := true
-#41 := (not true)
-#44 := (iff #41 false)
-#45 := [rewrite]: #44
-#42 := (iff #36 #41)
-#39 := (iff #33 true)
-#40 := [rewrite]: #39
-#43 := [monotonicity #40]: #42
-#47 := [trans #43 #45]: #46
-#37 := (iff #12 #36)
-#34 := (iff #11 #33)
-#31 := (= #9 -123456789::int)
+#52 := (iff #12 false)
+#1 := true
+#47 := (not true)
+#50 := (iff #47 false)
+#51 := [rewrite]: #50
+#48 := (iff #12 #47)
+#45 := (iff #11 true)
+#40 := (not false)
+#43 := (iff #40 true)
+#44 := [rewrite]: #43